diff --git a/README.md b/README.md index 6474a9d7c..224c753e2 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +#### For folks working on this code base, we're ogaznizing coding style and general guidelines [here](https://github.com/appirio-tech/connect-app/wiki/Community-Work-Read-Me-First!). + # TC Deployment Notes _[TC Deployment Notes should always be kept up to date **on the default branch**. Update these notes when changes to this information occur]_ @@ -34,6 +36,12 @@ Install dependencies by running the following in the root of the project: - To make sure your code passes linting: `npm run lint` - To create the build: `npm run build` +## Login + +During login, if your see `Invalid URL: http://localhost:3000` error in browser console, just browse http://localhost:3000 and it will show up. + +Or, you can add into your `/etc/hosts` the line `127.0.0.1 local.topcoder-dev.com`. And access the app with http://local.topcoder-dev.com:3000. It will prevent you from getting `Invalid URL: http://localhost:3000` and you will be redirected successfully after login. + ## Contributing ### Pull Requests diff --git a/circle.yml b/circle.yml index b74924e35..bd3cfc63a 100644 --- a/circle.yml +++ b/circle.yml @@ -19,17 +19,17 @@ compile: deployment: development: - branch: [dev] + branch: dev owner: appirio-tech commands: - - ./deploy.sh DEV + - ./deploy.sh DEV no-cache test: branch: [qa] owner: appirio-tech commands: - ./deploy.sh TEST01 test02: - branch: test02 + branch: notifications owner: appirio-tech commands: - ./deploy.sh TEST02 diff --git a/config/constants/dev.js b/config/constants/dev.js index 3d7bf3128..c73d681ac 100644 --- a/config/constants/dev.js +++ b/config/constants/dev.js @@ -12,8 +12,11 @@ module.exports = { AUTH0_CLIENT_ID : process.env.AUTH0_CLIENT_ID_DEV, domain : 'topcoder-dev.com', DOMAIN : 'topcoder-dev.com', + CONNECT_MESSAGE_API_URL: process.env.CONNECT_MESSAGE_API_URL, ENV : 'DEV', + PROJECTS_API_URL : 'https://api.topcoder-dev.com', + NEW_RELIC_APPLICATION_ID: process.env.TRAVIS_BRANCH ? '8957921' : '', ARENA_URL : '//arena.topcoder-dev.com', @@ -24,8 +27,8 @@ module.exports = { MAIN_URL : 'https://www.topcoder-dev.com', PHOTO_LINK_LOCATION: 'https://community.topcoder-dev.com', SWIFT_PROGRAM_URL : 'apple.topcoder-dev.com', - TCO16_URL : 'http://tco16.topcoder-dev.com', - TCO17_URL : 'http://tco17.topcoder-dev.com', + TCO16_URL : 'https://tco16.topcoder-dev.com', + TCO17_URL : 'https://tco17.topcoder-dev.com', TCO_HOME_URL : 'https://www.topcoder-dev.com/tco', ACCOUNTS_APP_URL : 'https://accounts.topcoder-dev.com/#!/member', @@ -39,5 +42,7 @@ module.exports = { CONNECT_SEGMENT_KEY: 'QBtLgV8vCiuRX1lDikbMjcoe9aCHkF6n', PREDIX_PROGRAM_ID : 3448, IBM_COGNITIVE_PROGRAM_ID : 3449, - HEAP_ANALYTICS_APP_ID : '4153837120' + HEAP_ANALYTICS_APP_ID : '4153837120', + + TC_NOTIFICATION_URL: 'https://api.topcoder-dev.com' } diff --git a/config/constants/index.js b/config/constants/index.js index 382757054..f17c8e6c3 100644 --- a/config/constants/index.js +++ b/config/constants/index.js @@ -5,5 +5,6 @@ module.exports = (() => { if (['master', 'qa'].indexOf(branch) < 0) { return require('./dev') } + return require('./' + branch) })() diff --git a/config/constants/master.js b/config/constants/master.js index 96dc46414..9bb3e4fad 100644 --- a/config/constants/master.js +++ b/config/constants/master.js @@ -15,6 +15,8 @@ module.exports = { ENV : 'PROD', NODE_ENV : 'production', + PROJECTS_API_URL : 'https://api.topcoder.com', + NEW_RELIC_APPLICATION_ID: process.env.TRAVIS_BRANCH ? '11352758' : '', ARENA_URL : '//arena.topcoder.com', @@ -25,8 +27,8 @@ module.exports = { MAIN_URL : 'https://www.topcoder.com', PHOTO_LINK_LOCATION: 'https://community.topcoder.com', SWIFT_PROGRAM_URL : 'apple.topcoder.com', - TCO16_URL : 'http://tco16.topcoder.com', - TCO17_URL : 'http://tco17.topcoder.com', + TCO16_URL : 'https://tco16.topcoder.com', + TCO17_URL : 'https://tco17.topcoder.com', TCO_HOME_URL : 'https://www.topcoder.com/tco', ACCOUNTS_APP_URL : 'https://accounts.topcoder.com/#!/member', @@ -39,5 +41,7 @@ module.exports = { CONNECT_SEGMENT_KEY: 'ajP6cQ5SN2EMUWoWTOLROVnAHsOlsDCn', PREDIX_PROGRAM_ID : 3448, IBM_COGNITIVE_PROGRAM_ID : 3449, - HEAP_ANALYTICS_APP_ID : '638908330' + HEAP_ANALYTICS_APP_ID : '638908330', + + TC_NOTIFICATION_URL: 'https://api.topcoder.com/' } diff --git a/config/constants/qa.js b/config/constants/qa.js index 52daa0e73..d81105b3d 100644 --- a/config/constants/qa.js +++ b/config/constants/qa.js @@ -14,6 +14,8 @@ module.exports = { DOMAIN : 'topcoder-qa.com', ENV : 'QA', + PROJECTS_API_URL : 'http://api.topcoder-dev.com', + NEW_RELIC_APPLICATION_ID: process.env.TRAVIS_BRANCH ? '11199233' : '', ARENA_URL : '//arena.topcoder-qa.com', @@ -38,5 +40,7 @@ module.exports = { CONNECT_SEGMENT_KEY: '', PREDIX_PROGRAM_ID : 3448, IBM_COGNITIVE_PROGRAM_ID : 3449, - HEAP_ANALYTICS_APP_ID : '4153837120' + HEAP_ANALYTICS_APP_ID : '4153837120', + + TC_NOTIFICATION_URL: 'http://api.topcoder-dev.com/' } diff --git a/deploy.sh b/deploy.sh index 0b590bbc7..3740a3bdc 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,8 +1,12 @@ #!/usr/bin/env bash ENV=$1 + +if [ "$2" = "no-cache" ]; then + NOCACHE=true +fi + echo $ENV -#AWS_REGION=$(eval "echo \$${ENV}_AWS_REGION") AWS_ACCESS_KEY_ID=$(eval "echo \$${ENV}_AWS_ACCESS_KEY_ID") AWS_SECRET_ACCESS_KEY=$(eval "echo \$${ENV}_AWS_SECRET_ACCESS_KEY") AWS_S3_BUCKET=$(eval "echo \$${ENV}_S3_BUCKET") @@ -11,44 +15,45 @@ configure_aws_cli() { aws --version aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY - #aws configure set default.region $AWS_REGION aws configure set default.output json echo "Configured AWS CLI." } deploy_s3bucket() { - #chmod -R 775 ${HOME}/${CIRCLE_PROJECT_REPONAME}/dist - cat dist/app.2e9868372e0e2992d5d2.css - #aws s3 sync --dryrun ${HOME}/${CIRCLE_PROJECT_REPONAME}/dist s3://${AWS_S3_BUCKET} --cache-control private,no-store,no-cache,must-revalidate,max-age=0 - #result=`aws s3 sync ${HOME}/${CIRCLE_PROJECT_REPONAME}/dist s3://${AWS_S3_BUCKET} --cache-control private,no-store,no-cache,must-revalidate,max-age=0` - aws s3 sync --dryrun ${HOME}/${CIRCLE_PROJECT_REPONAME}/dist s3://${AWS_S3_BUCKET} --cache-control max-age=0,s-maxage=86400 --exclude "*.txt" --exclude "*.js" --exclude "*.css" - result=`aws s3 sync ${HOME}/${CIRCLE_PROJECT_REPONAME}/dist s3://${AWS_S3_BUCKET} --cache-control max-age=0,s-maxage=86400 --exclude "*.txt" --exclude "*.js" --exclude "*.css"` + if [ "$NOCACHE" = "true" ]; then + S3_CACHE_OPTIONS="--cache-control private,no-store,no-cache,must-revalidate,max-age=0" + echo "*** Deploying with Cloudfront Cache disabled ***" + else + S3_CACHE_OPTIONS="--cache-control max-age=0,s-maxage=86400" + fi + + S3_OPTIONS="--exclude '*.txt' --exclude '*.js' --exclude '*.css'" + echo aws s3 sync ${HOME}/${CIRCLE_PROJECT_REPONAME}/dist s3://${AWS_S3_BUCKET} ${S3_CACHE_OPTIONS} ${S3_OPTIONS} + eval "aws s3 sync --dryrun ${HOME}/${CIRCLE_PROJECT_REPONAME}/dist s3://${AWS_S3_BUCKET} ${S3_CACHE_OPTIONS} ${S3_OPTIONS}" + result=`eval "aws s3 sync ${HOME}/${CIRCLE_PROJECT_REPONAME}/dist s3://${AWS_S3_BUCKET} ${S3_CACHE_OPTIONS} ${S3_OPTIONS}"` if [ $? -eq 0 ]; then - #echo $result echo "All html, font, image, map and media files are Deployed without gzip encoding!" else echo "Deployment Failed - $result" exit 1 fi - #result=`aws s3 sync ${HOME}/${CIRCLE_PROJECT_REPONAME}/dist s3://${AWS_S3_BUCKET} --cache-control private,no-store,no-cache,must-revalidate,max-age=0` - aws s3 sync --dryrun ${HOME}/${CIRCLE_PROJECT_REPONAME}/dist s3://${AWS_S3_BUCKET} --cache-control max-age=0,s-maxage=86400 --exclude "*" --include "*.txt" --include "*.js" --include "*.css" --content-encoding gzip - result=`aws s3 sync ${HOME}/${CIRCLE_PROJECT_REPONAME}/dist s3://${AWS_S3_BUCKET} --cache-control max-age=0,s-maxage=86400 --exclude "*" --include "*.txt" --include "*.js" --include "*.css" --content-encoding gzip` + + S3_OPTIONS="--exclude '*' --include '*.txt' --include '*.js' --include '*.css' --content-encoding gzip" + echo aws s3 sync --dryrun ${HOME}/${CIRCLE_PROJECT_REPONAME}/dist s3://${AWS_S3_BUCKET} ${S3_CACHE_OPTIONS} ${S3_OPTIONS} + eval "aws s3 sync --dryrun ${HOME}/${CIRCLE_PROJECT_REPONAME}/dist s3://${AWS_S3_BUCKET} ${S3_CACHE_OPTIONS} ${S3_OPTIONS}" + result=`eval "aws s3 sync ${HOME}/${CIRCLE_PROJECT_REPONAME}/dist s3://${AWS_S3_BUCKET} ${S3_CACHE_OPTIONS} ${S3_OPTIONS}"` if [ $? -eq 0 ]; then - #echo $result echo "All txt, css, and js files are Deployed! with gzip" else echo "Deployment Failed - $result" exit 1 - fi - + fi } -#sed -i 's/^application\/x-font-woff.*/application\/font-woff\t\t\t\twoff/' /etc/mime.types echo -e "application/font-woff\t\t\t\twoff2" >> /etc/mime.types echo -e "application/font-sfnt\t\t\t\tttf" >> /etc/mime.types echo -e "application/json\t\t\t\tmap" >> /etc/mime.types -#sed -i 's/^image\/vnd.microsoft.icon.*/image\/vnd.microsoft.icon/' /etc/mime.types -#sed -i 's/^image\/x-icon.*/image\/x-icon\t\t\t\tico/' /etc/mime.types + cat /etc/mime.types | grep -i woff cat /etc/mime.types | grep -i ico cat /etc/mime.types | grep -i map diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 4e4ded2cb..285b621c9 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -19,7 +19,7 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, "accepts": { @@ -212,7 +212,7 @@ "anymatch": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { "micromatch": "2.3.11", @@ -388,7 +388,7 @@ } }, "appirio-tech-react-components": { - "version": "github:appirio-tech/react-components#4055234823f27581ab7da3aa08dd7ae961953cc8", + "version": "github:appirio-tech/react-components#ff0cfa0f4978389aeb19ddf167bfc4424ab5a55b", "requires": { "appirio-tech-api-schemas": "5.0.70", "appirio-tech-client-app-layer": "0.1.3", @@ -410,7 +410,7 @@ "react-switch-button": "1.1.2", "react-textarea-autosize": "4.3.2", "redux-thunk": "2.2.0", - "tc-ui": "git+https://github.com/appirio-tech/tc-ui.git#2ccc921fadfb97e932928645a38d1873e72babf0", + "tc-ui": "git+https://github.com/appirio-tech/tc-ui.git#6b398671e48193a7cbf8ed616c1f82922f991faf", "uncontrollable": "4.1.0" }, "dependencies": { @@ -427,7 +427,7 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, "are-we-there-yet": { @@ -461,7 +461,7 @@ "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, "array-find-index": { @@ -901,7 +901,7 @@ "babel-loader": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.2.tgz", - "integrity": "sha1-9svhInEPGqKvTYgcbVtUNYyiQSY=", + "integrity": "sha512-jRwlFbINAeyDStqK6Dd5YuY0k5YuzQUvlz2ZamuXrXmxav3pNqe9vfJ402+2G+OmlJSXxCOpB6Uz0INM7RQe2A==", "dev": true, "requires": { "find-cache-dir": "1.0.0", @@ -953,7 +953,7 @@ "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -1425,7 +1425,7 @@ "babel-preset-env": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.0.tgz", - "integrity": "sha1-LeHHgqeAoKXWBdGZyVdZbaQ8ROQ=", + "integrity": "sha512-OVgtQRuOZKckrILgMA5rvctvFZPv72Gua9Rt006AiPoB0DJKGN07UmaQA+qRrYgK71MVct8fFhT0EyNWYorVew==", "dev": true, "requires": { "babel-plugin-check-es2015-constants": "6.22.0", @@ -1592,7 +1592,7 @@ "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, "balanced-match": { @@ -1608,7 +1608,7 @@ "base64-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha1-qRlH2h9KUW6jjltOwOw3c2deCIY=", + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", "dev": true }, "batch": { @@ -1672,7 +1672,7 @@ "bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", "dev": true }, "body-parser": { @@ -1696,7 +1696,7 @@ "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -1705,13 +1705,13 @@ "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", "dev": true }, "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", "dev": true } } @@ -1804,7 +1804,7 @@ "browserify-aes": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.8.tgz", - "integrity": "sha1-yPo7G3WFu3unfFVgtgmW3extUwk=", + "integrity": "sha512-WYCMOT/PtGTlpOKFht0YJFYcPy6pLCR98CtWfzK13zoynLlBMvAdEMSRGmgnJCw2M2j/5qxBkinZQFobieM8dQ==", "dev": true, "requires": { "buffer-xor": "1.0.3", @@ -1865,7 +1865,7 @@ "browserslist": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.4.0.tgz", - "integrity": "sha1-aT7pPQHmZGimNI2lSY4BH1ePh/g=", + "integrity": "sha512-aM2Gt4x9bVlCUteADBS6JP0F+2tMWKM1jQzUulVROtdFWFIcIVvY76AJbr7GDqy0eDhn+PcnpzzivGxY4qiaKQ==", "dev": true, "requires": { "caniuse-lite": "1.0.30000743", @@ -1892,7 +1892,7 @@ "buffer-indexof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, "buffer-xor": { @@ -2171,7 +2171,6 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", - "fsevents": "1.1.3", "glob-parent": "2.0.0", "inherits": "2.0.1", "is-binary-path": "1.0.1", @@ -2183,7 +2182,7 @@ "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { "inherits": "2.0.1", @@ -2193,7 +2192,7 @@ "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true }, "cjsx-loader": { @@ -2209,7 +2208,7 @@ "clap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha1-TzZ0WzIAhJJVf0ZBLWbVDLmbzlE=", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", "dev": true, "requires": { "chalk": "1.1.3" @@ -2328,7 +2327,7 @@ "coffee-loader": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/coffee-loader/-/coffee-loader-0.8.0.tgz", - "integrity": "sha1-7EjnMn2o46mQR6mdm9z8rBLfNpQ=", + "integrity": "sha512-jMxsuxagYouuhTcf1EoLz8pONTIl5gwuyIdTIOCuArGLQiNc2fS6G7KfTfadb8+hiOfwslhD60wjih2knTnAww==", "dev": true, "requires": { "loader-utils": "1.1.0" @@ -2356,7 +2355,7 @@ "coffeescript": { "version": "1.12.7", "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.12.7.tgz", - "integrity": "sha1-5X7kxIZ89/YGv8Sg8tVQwJgd3Sc=" + "integrity": "sha512-pLXHFxQMPklVoEekowk8b3erNynC+DVJzChxS/LCBBgR6/8AJkHivkm//zbowcfc7BTCAjryuhx6gPqPRfsFoA==" }, "color": { "version": "0.11.4", @@ -2489,7 +2488,7 @@ "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -2500,7 +2499,7 @@ "compression-webpack-plugin": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-1.0.1.tgz", - "integrity": "sha1-fwoq+fZCtPh7WYlRajuem0G7Sz8=", + "integrity": "sha512-ABF2AFb31gpIBeEy/w6Ct0u+K+jY8jFRfGwjUWGxVTidA9pf7iH/JzjcVBQ+KB1gNMycujMxA56/PznMPUV5jw==", "dev": true, "requires": { "async": "2.4.1", @@ -2567,7 +2566,7 @@ "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true }, "convert-source-map": { @@ -2633,7 +2632,7 @@ "sha.js": { "version": "2.4.9", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", - "integrity": "sha1-mPZIgEdLdPSji42p08Dy0QRjPn0=", + "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", "dev": true, "requires": { "inherits": "2.0.1", @@ -2669,7 +2668,7 @@ "sha.js": { "version": "2.4.9", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", - "integrity": "sha1-mPZIgEdLdPSji42p08Dy0QRjPn0=", + "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", "dev": true, "requires": { "inherits": "2.0.1", @@ -2772,7 +2771,7 @@ "css-loader": { "version": "0.28.7", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.7.tgz", - "integrity": "sha1-Xy7pid0y7dkHcX+VMxdlYWCZnBs=", + "integrity": "sha512-GxMpax8a/VgcfRrVy0gXD6yLd5ePYbXX/5zGgTVYp4wXtJklS8Z2VaUArJgc//f6/Dzil7BaJObdSv8eKKCPgg==", "dev": true, "requires": { "babel-code-frame": "6.26.0", @@ -3029,7 +3028,7 @@ "deep-freeze-node": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/deep-freeze-node/-/deep-freeze-node-1.1.3.tgz", - "integrity": "sha1-zpwUsyEOb1YHpXglT0tT/gHdlGc=", + "integrity": "sha512-CrA+1BVGfs9ZrGFMYtHfFHncWivh9XPb+6g8bLOzYPJmW8FmUs1dXLjALzU1SMqOMdoD5pQJARXtzxfeLqE9HQ==", "dev": true }, "deep-is": { @@ -3160,7 +3159,7 @@ "dns-packet": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.2.2.tgz", - "integrity": "sha1-qKJr7HZGQ4lj/Ibgb4+LFtbIv3o=", + "integrity": "sha512-kN+DjfGF7dJGUL7nWRktL9Z18t1rWP3aQlyZdY8XlpvU3Nc6GeFTQApftcjtWKxAZfiggZSGrCEoszNgvnpwDg==", "dev": true, "requires": { "ip": "1.1.5", @@ -3189,7 +3188,7 @@ "dom-align": { "version": "1.6.5", "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.6.5.tgz", - "integrity": "sha1-SIkO43Vj3UPTtYC3XPt5pqyPoAQ=" + "integrity": "sha512-f/JRwEZOv8Dfsv4yIy4s7LRNwmiD80PlnYSa9fJfLaYinUSjrChdNvDvXRZDX/+CKBZWCsPN1Co0aM38xy4RpA==" }, "dom-converter": { "version": "0.1.4", @@ -3296,7 +3295,7 @@ "draft-js-drag-n-drop-plugin": { "version": "2.0.0-rc5", "resolved": "https://registry.npmjs.org/draft-js-drag-n-drop-plugin/-/draft-js-drag-n-drop-plugin-2.0.0-rc5.tgz", - "integrity": "sha1-ciLc165WAtplxXaN8ta+wOMnW2A=", + "integrity": "sha512-9Z/W5nXuP2HCuk8Ddw7NPn+7NvJoqGqDtVLLRwsRCjnBQjV4PxMu4k1zJkwez5xge+enlZectiTmUuVpH6fkkg==", "requires": { "decorate-component-with-props": "1.0.2", "find-with-regex": "1.0.2", @@ -3308,7 +3307,7 @@ "draft-js-image-plugin": { "version": "2.0.0-rc5", "resolved": "https://registry.npmjs.org/draft-js-image-plugin/-/draft-js-image-plugin-2.0.0-rc5.tgz", - "integrity": "sha1-12KWVqN7bbdYAzpIA4x4RFczL/c=", + "integrity": "sha512-DZ6djkjCfcBIrfrwbn+ECLky97VV2f3LbMEcRA6V9axetL1/0SzmQgXxeGrfI4CCItx1z6slu2Y3I9zPVLkzIQ==", "requires": { "decorate-component-with-props": "1.0.2", "find-with-regex": "1.0.2", @@ -3345,7 +3344,7 @@ "draft-js-plugins-editor": { "version": "2.0.0-rc5", "resolved": "https://registry.npmjs.org/draft-js-plugins-editor/-/draft-js-plugins-editor-2.0.0-rc5.tgz", - "integrity": "sha1-/sOa5ID5T7fwEkehI26zxnF1o+Q=", + "integrity": "sha512-grud8nmwyUgTB4aMVDWRbvPthQbG/X4pvqZYrMCiqWHPLiAhgEjBa88Tx2i6n2tDrrUdXg3BRCnW0AbshUEvRQ==", "requires": { "decorate-component-with-props": "1.0.2", "find-with-regex": "1.0.2", @@ -3484,7 +3483,7 @@ "es-abstract": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz", - "integrity": "sha1-aQgpoHyuNrIi5/2bdcDQVz6yUic=", + "integrity": "sha512-kk3IJoKo7A3pWJc0OV8yZ/VEX2oSUytfekrJiqoxBlKJMFAJVJVpGdHClCCTdv+Fn2zHfpDHHIelMFhZVfef3Q==", "dev": true, "requires": { "es-to-primitive": "1.1.1", @@ -3596,7 +3595,7 @@ "escodegen": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", - "integrity": "sha1-mBGi8mXcHNOJRCDuNxcGS2MriFI=", + "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", "dev": true, "optional": true, "requires": { @@ -3693,7 +3692,7 @@ "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -3725,7 +3724,7 @@ "acorn": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", - "integrity": "sha1-U/4WERH5EquZnuiHqQoLxSgi/XU=", + "integrity": "sha512-vOk6uEMctu0vQrvuSqFdJyqj1Q0S5VTDL79qtjo+DhRr+1mmaD+tluFSCZqhvi/JUhXSzoZN2BhtstaPEeE8cw==", "dev": true } } @@ -3811,7 +3810,7 @@ "evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { "md5.js": "1.3.4", @@ -3890,7 +3889,7 @@ "express": { "version": "4.16.1", "resolved": "https://registry.npmjs.org/express/-/express-4.16.1.tgz", - "integrity": "sha1-azO1YBg8myU7e2IUTfM6RlSsntA=", + "integrity": "sha512-STB7LZ4N0L+81FJHGla2oboUHTk4PaN1RsOkoRh9OSeEKylvF5hwKYVX1xCLFaCT7MD0BNG/gX2WFMLqY6EMBw==", "dev": true, "requires": { "accepts": "1.3.4", @@ -3934,7 +3933,7 @@ "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -3943,7 +3942,7 @@ "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", "dev": true } } @@ -4063,7 +4062,7 @@ "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "dev": true, "requires": { "core-util-is": "1.0.2", @@ -4078,7 +4077,7 @@ "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { "safe-buffer": "5.1.1" @@ -4271,7 +4270,7 @@ "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "dev": true, "requires": { "core-util-is": "1.0.2", @@ -4286,7 +4285,7 @@ "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { "safe-buffer": "5.1.1" @@ -4462,7 +4461,7 @@ "file-loader": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.11.2.tgz", - "integrity": "sha1-T/HfKK84cZpgmAk7iMgscdF5SjQ=", + "integrity": "sha512-N+uhF3mswIFeziHQjGScJ/yHXYt3DiLBeC+9vWW+WjUBiClMSOlV1YrXQi+7KM2aA3Rn4Bybgv+uXFQbfkzpvg==", "dev": true, "requires": { "loader-utils": "1.1.0" @@ -4534,7 +4533,7 @@ "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -4699,1251 +4698,233 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha1-EfgjGPX+e7LNIpZaEI6TBiCCFtg=", + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, - "optional": true, "requires": { - "nan": "2.7.0", - "node-pre-gyp": "0.6.39" + "graceful-fs": "4.1.11", + "inherits": "2.0.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" }, "dependencies": { - "abbrev": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", - "dev": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + } + } + }, + "gaze": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", + "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", + "dev": true, + "requires": { + "globule": "1.2.0" + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "1.0.2" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + } + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": 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": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.1", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "dev": true, + "requires": { + "min-document": "2.19.0", + "process": "0.5.2" + }, + "dependencies": { + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "dev": true + } + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, - "optional": true, "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.1", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true - }, - "aproba": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", - "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=", - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + } + } + }, + "globule": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", + "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", + "dev": true, + "requires": { + "glob": "7.1.2", + "lodash": "4.17.4", + "minimatch": "3.0.4" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, - "optional": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "dev": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "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": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", - "dev": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz", - "integrity": "sha1-ca1dIEvxempsqPRQxhRUBm70YeE=", - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", - "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", - "dev": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "optional": true, - "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "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": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", - "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", - "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", - "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", - "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", - "dev": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.39", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz", - "integrity": "sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==", - "dev": true, - "optional": true, - "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz", - "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==", - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", - "dev": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", - "dev": true, - "optional": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", - "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", - "dev": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", - "dev": true - }, - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz", - "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=", - "dev": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", - "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", - "dev": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz", - "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=", - "dev": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", - "dev": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "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": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", - "dev": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "uuid": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", - "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=", - "dev": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", - "dev": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", - "dev": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - } - } - }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } - } - }, - "gaze": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", - "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", - "dev": true, - "requires": { - "globule": "1.2.0" - } - }, - "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", - "dev": true - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", - "dev": true, - "requires": { - "is-property": "1.0.2" - } - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "dev": true - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "pinkie-promise": "2.0.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": 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": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.1", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "2.0.1" - } - }, - "global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", - "dev": true, - "requires": { - "min-document": "2.19.0", - "process": "0.5.2" - }, - "dependencies": { - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", - "dev": true - } - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", - "dev": true - }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.1", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } - } - }, - "globule": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", - "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", - "dev": true, - "requires": { - "glob": "7.1.2", - "lodash": "4.17.4", - "minimatch": "3.0.4" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.1", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.1", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } } } @@ -6034,7 +5015,7 @@ "hash.js": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha1-NA3tvmKQGHFRweodd3o0SJNd+EY=", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "dev": true, "requires": { "inherits": "2.0.3", @@ -6133,7 +5114,7 @@ "hosted-git-info": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=", + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", "dev": true }, "hpack.js": { @@ -6163,7 +5144,7 @@ "html-minifier": { "version": "3.5.5", "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.5.tgz", - "integrity": "sha1-O9yUJ+Y4u+Pb3pbA65iLBE8Cc54=", + "integrity": "sha512-g+1+NBycQI0fGnggd52JM8TRUweG7+9W2wrtjGitMAqc4G7maweAHvVAAjz9veHseIH3tYKE2lk2USGSoewIrQ==", "dev": true, "requires": { "camel-case": "3.0.0", @@ -6179,7 +5160,7 @@ "commander": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha1-FXFS/R56bI2YpbcVzzdt+SgARWM=", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", "dev": true }, "source-map": { @@ -6191,7 +5172,7 @@ "uglify-js": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.3.tgz", - "integrity": "sha1-1h8EU7RxjKsBWB8xYqqQurdSC0I=", + "integrity": "sha512-5ZUOgufCHjN2mBBLfz63UtWTP6va2sSzBpNCM+/iqI6RnPzEhANmB0EKiKBYdQbc3v7KeomXJ2DJx0Xq9gvUvA==", "dev": true, "requires": { "commander": "2.11.0", @@ -6298,7 +5279,7 @@ "http-parser-js": { "version": "0.4.8", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.8.tgz", - "integrity": "sha1-dj91xLdxoLtEZTsHBwv/bKe8VWE=", + "integrity": "sha512-jmHp99g6/fLx0pRNJqzsQgjsclCHAY7NhIeA3/U+bsGNvgbvUCQFQY9m5AYpqpAxY/2VcikfbKpjQozSTiz0jA==", "dev": true }, "http-proxy": { @@ -6373,7 +5354,7 @@ "iconv-lite": { "version": "0.4.18", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", - "integrity": "sha1-I9hlaxaq5nQqwpcy6o8DNqR4nPI=" + "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==" }, "icss-replace-symbols": { "version": "1.1.0", @@ -6393,7 +5374,7 @@ "ansi-styles": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { "color-convert": "1.9.0" @@ -6402,7 +5383,7 @@ "chalk": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha1-rFvs8U+iG5nGySynp9fP1bF+dD4=", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", "dev": true, "requires": { "ansi-styles": "3.2.0", @@ -6419,7 +5400,7 @@ "postcss": { "version": "6.0.12", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.12.tgz", - "integrity": "sha1-awFVCJ0tIS971qDOzUxYwAdANTU=", + "integrity": "sha512-K6SLofXEK43FBSyZ6/ExQV7ji24OEw4tEY6x1CAf7+tcoMWJoO24Rf3rVFVpk+5IQL1e1Cy3sTKfg7hXuLzafg==", "dev": true, "requires": { "chalk": "2.1.0", @@ -6436,7 +5417,7 @@ "supports-color": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha1-iD992rwWUUKyphQn8zUt7RldGj4=", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { "has-flag": "2.0.0" @@ -6453,7 +5434,7 @@ "ignore": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz", - "integrity": "sha1-xOcVRV9gc6jX5drnLS/J1xZj26Y=", + "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==", "dev": true }, "ignore-styles": { @@ -6706,7 +5687,7 @@ "is-my-json-valid": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", - "integrity": "sha1-WoRnd+LCYg0eaRBOXToDsfYIjxE=", + "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", "dev": true, "requires": { "generate-function": "2.0.0", @@ -6765,7 +5746,7 @@ "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "3.0.1" @@ -6939,7 +5920,7 @@ "js-base64": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.3.2.tgz", - "integrity": "sha1-p5qSNmY3K1gPjif1GEXG9+j7+68=", + "integrity": "sha512-Y2/+DnfJJXT1/FCwUebUhLWb3QihxiSC42+ctHLGogmW2jPY6LCapMdFZXRvVP2z6qyKW7s6qncE/9gSqZiArw==", "dev": true }, "js-cookie": { @@ -7028,7 +6009,7 @@ "json-loader": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0=", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", "dev": true }, "json-schema": { @@ -7393,7 +6374,7 @@ "loglevel": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.5.0.tgz", - "integrity": "sha1-OGOYSiwya5hvu5ZfN4dYptyKQyQ=", + "integrity": "sha512-OQ2jhWI5G2qsvO0UFNyCQWgKl/tFiwuPIXxELzACeUO2FqstN/R7mmL09+nhv6xOWVPPojQO1A90sCEoJSgBcQ==", "dev": true }, "lolex": { @@ -7440,7 +6421,7 @@ "lru-cache": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true, "requires": { "pseudomap": "1.0.2", @@ -7621,7 +6602,7 @@ "miller-rabin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { "bn.js": "4.11.8", @@ -7679,7 +6660,7 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "1.1.8" } @@ -7920,7 +6901,7 @@ "node-fetch": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.2.tgz", - "integrity": "sha1-xU6arFfkModSM1JfPIkcQVn/79c=", + "integrity": "sha512-xZZUq2yDhKMIn/UgG5q//IZSNLJIwW2QxS14CNH5spuiXkITM2pUitjdq58yLSaU7m4M0wBNaM2Gh/ggY4YJig==", "requires": { "encoding": "0.1.12", "is-stream": "1.1.0" @@ -7956,7 +6937,7 @@ "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -8071,7 +7052,7 @@ "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -8096,7 +7077,7 @@ "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { "hosted-git-info": "2.5.0", @@ -8167,7 +7148,7 @@ "npmlog": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { "are-we-there-yet": "1.1.4", @@ -8200,7 +7181,7 @@ "nwmatcher": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz", - "integrity": "sha1-ZDSOOz2A8DW0CsEVY9J4+LctuJw=", + "integrity": "sha512-IKdSTiDWCarf2JTS5e9e2+5tPZGdkRJ79XjYV0pzK8Q9BpsFyBq1RGKxzs7Q8UBushGw7m6TzVKz6fcY99iSWw==", "dev": true, "optional": true }, @@ -8275,7 +7256,7 @@ "opn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", - "integrity": "sha1-cs4jBqF9vqWP8QQYUzUrSo/HdRk=", + "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", "dev": true, "requires": { "is-wsl": "1.1.0" @@ -8385,7 +7366,7 @@ "p-map": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", "dev": true }, "pako": { @@ -8419,7 +7400,7 @@ "browserify-aes": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.8.tgz", - "integrity": "sha1-yPo7G3WFu3unfFVgtgmW3extUwk=", + "integrity": "sha512-WYCMOT/PtGTlpOKFht0YJFYcPy6pLCR98CtWfzK13zoynLlBMvAdEMSRGmgnJCw2M2j/5qxBkinZQFobieM8dQ==", "dev": true, "requires": { "buffer-xor": "1.0.3", @@ -8584,7 +7565,7 @@ "pbkdf2": { "version": "3.0.14", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", - "integrity": "sha1-o14TxkeZsGzhUyD0WcIw5o5zut4=", + "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", "dev": true, "requires": { "create-hash": "1.1.3", @@ -8607,7 +7588,7 @@ "sha.js": { "version": "2.4.9", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", - "integrity": "sha1-mPZIgEdLdPSji42p08Dy0QRjPn0=", + "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", "dev": true, "requires": { "inherits": "2.0.1", @@ -8976,7 +7957,7 @@ "ansi-styles": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { "color-convert": "1.9.0" @@ -8985,7 +7966,7 @@ "chalk": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha1-rFvs8U+iG5nGySynp9fP1bF+dD4=", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", "dev": true, "requires": { "ansi-styles": "3.2.0", @@ -9002,7 +7983,7 @@ "postcss": { "version": "6.0.12", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.12.tgz", - "integrity": "sha1-awFVCJ0tIS971qDOzUxYwAdANTU=", + "integrity": "sha512-K6SLofXEK43FBSyZ6/ExQV7ji24OEw4tEY6x1CAf7+tcoMWJoO24Rf3rVFVpk+5IQL1e1Cy3sTKfg7hXuLzafg==", "dev": true, "requires": { "chalk": "2.1.0", @@ -9019,7 +8000,7 @@ "supports-color": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha1-iD992rwWUUKyphQn8zUt7RldGj4=", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { "has-flag": "2.0.0" @@ -9040,7 +8021,7 @@ "ansi-styles": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { "color-convert": "1.9.0" @@ -9049,7 +8030,7 @@ "chalk": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha1-rFvs8U+iG5nGySynp9fP1bF+dD4=", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", "dev": true, "requires": { "ansi-styles": "3.2.0", @@ -9066,7 +8047,7 @@ "postcss": { "version": "6.0.12", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.12.tgz", - "integrity": "sha1-awFVCJ0tIS971qDOzUxYwAdANTU=", + "integrity": "sha512-K6SLofXEK43FBSyZ6/ExQV7ji24OEw4tEY6x1CAf7+tcoMWJoO24Rf3rVFVpk+5IQL1e1Cy3sTKfg7hXuLzafg==", "dev": true, "requires": { "chalk": "2.1.0", @@ -9083,7 +8064,7 @@ "supports-color": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha1-iD992rwWUUKyphQn8zUt7RldGj4=", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { "has-flag": "2.0.0" @@ -9104,7 +8085,7 @@ "ansi-styles": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { "color-convert": "1.9.0" @@ -9113,7 +8094,7 @@ "chalk": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha1-rFvs8U+iG5nGySynp9fP1bF+dD4=", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", "dev": true, "requires": { "ansi-styles": "3.2.0", @@ -9130,7 +8111,7 @@ "postcss": { "version": "6.0.12", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.12.tgz", - "integrity": "sha1-awFVCJ0tIS971qDOzUxYwAdANTU=", + "integrity": "sha512-K6SLofXEK43FBSyZ6/ExQV7ji24OEw4tEY6x1CAf7+tcoMWJoO24Rf3rVFVpk+5IQL1e1Cy3sTKfg7hXuLzafg==", "dev": true, "requires": { "chalk": "2.1.0", @@ -9147,7 +8128,7 @@ "supports-color": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha1-iD992rwWUUKyphQn8zUt7RldGj4=", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { "has-flag": "2.0.0" @@ -9168,7 +8149,7 @@ "ansi-styles": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { "color-convert": "1.9.0" @@ -9177,7 +8158,7 @@ "chalk": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha1-rFvs8U+iG5nGySynp9fP1bF+dD4=", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", "dev": true, "requires": { "ansi-styles": "3.2.0", @@ -9194,7 +8175,7 @@ "postcss": { "version": "6.0.12", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.12.tgz", - "integrity": "sha1-awFVCJ0tIS971qDOzUxYwAdANTU=", + "integrity": "sha512-K6SLofXEK43FBSyZ6/ExQV7ji24OEw4tEY6x1CAf7+tcoMWJoO24Rf3rVFVpk+5IQL1e1Cy3sTKfg7hXuLzafg==", "dev": true, "requires": { "chalk": "2.1.0", @@ -9211,7 +8192,7 @@ "supports-color": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha1-iD992rwWUUKyphQn8zUt7RldGj4=", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { "has-flag": "2.0.0" @@ -9384,7 +8365,7 @@ "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { "asap": "2.0.6" } @@ -9506,7 +8487,7 @@ "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, "requires": { "is-number": "3.0.0", @@ -9547,7 +8528,7 @@ "randombytes": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", - "integrity": "sha1-3ACaJGuNCaF3tLegrne8Vw9LG3k=", + "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", "dev": true, "requires": { "safe-buffer": "5.1.1" @@ -9574,7 +8555,7 @@ "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", "dev": true } } @@ -9592,7 +8573,7 @@ "rc-animate": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-2.4.1.tgz", - "integrity": "sha1-3z4PVv4Qav5L9S/0CM7SQcUXiRk=", + "integrity": "sha512-hixobyAvDv0Oz4gHPOh67K4ck5Rz3JBBojBuKzYcu4b8JKMIiJxym83DfkkkYxXEEx/rwGf0mU0Dno/lbWghIQ==", "requires": { "babel-runtime": "6.26.0", "css-animation": "1.4.1", @@ -9602,7 +8583,7 @@ "rc-slider": { "version": "8.3.5", "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-8.3.5.tgz", - "integrity": "sha1-QfiKuV3r4IkTne7nEgxuFRJgtS0=", + "integrity": "sha512-zg2fa8WOH101eMCsTShUKFPJ/t74B0m1gE4Icb+gjQ//viX/HrWdF03yiSaXHrgIyXu7go0+uaKgVFXv4r/jHA==", "requires": { "babel-runtime": "6.26.0", "classnames": "2.2.5", @@ -9626,7 +8607,7 @@ "rc-tooltip": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-3.7.0.tgz", - "integrity": "sha1-OvvxCYZffNz+Q3UvPz9QH3vjeqo=", + "integrity": "sha512-xEoUMatXp8OEL61UFH0+NrC39nkKzpOBhLrJCnnRpDRduU8L3DOhF6CNlIMkvg68hxlGGdquFtFw2t+1xNLX5A==", "requires": { "babel-runtime": "6.26.0", "prop-types": "15.5.10", @@ -9636,7 +8617,7 @@ "rc-trigger": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-2.2.2.tgz", - "integrity": "sha1-sMZms3zOTtJzAKfnENZ790RNEq0=", + "integrity": "sha512-7yzU++VnJGXHCM+fY3bDVKB0MLMnvkzFP8fFPGGPlVmTkNSMPMwAP4dQe5OS6votkIzkEl5gnwX2uxJANHzgkw==", "requires": { "babel-runtime": "6.26.0", "create-react-class": "15.6.0", @@ -9649,7 +8630,7 @@ "rc-util": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.2.0.tgz", - "integrity": "sha1-2s7FBzVnWiEfHJRXEwapDouXJI8=", + "integrity": "sha512-9vg+rCApPbvmHDOJJqD8HBoYH15c5Sgn94VLVacOU+0tOt0mh2lX7e5RC/WJFuMqDL/lJJ1iwFx8GoIUKe7WOQ==", "requires": { "add-dom-event-listener": "1.0.2", "babel-runtime": "6.26.0", @@ -9757,7 +8738,7 @@ "react-circular-progressbar": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/react-circular-progressbar/-/react-circular-progressbar-0.5.0.tgz", - "integrity": "sha1-dLZ4YkMfP6XkbzgIdOQoT18yG5o=", + "integrity": "sha512-4W+9xS7BBUq/VZ9kq/zcRJvR/1hRnCDTTM5ZqhTJF79hd5lwj6JorsUnFxOj9Wb2//F+oEpt2kF3CBlfB1c6Zg==", "requires": { "prop-types": "15.5.10" } @@ -9765,7 +8746,7 @@ "react-color": { "version": "2.13.5", "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.13.5.tgz", - "integrity": "sha1-dBy/or/KHoawjROIYFHqIBdBQEM=", + "integrity": "sha512-YR6fH/lLa3/eR1c+OhfXEFdGq2yX812UqOrRY4iiEF/9znwekg4mbn8FoUVgxX2vob6PPRcv0wO85SbU3qtsGg==", "requires": { "lodash": "4.17.4", "material-colors": "1.2.5", @@ -9852,7 +8833,7 @@ "react-infinite-scroller": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/react-infinite-scroller/-/react-infinite-scroller-1.1.1.tgz", - "integrity": "sha1-lXrGkv25DgLKJlxrWX0bXGyc5Co=", + "integrity": "sha512-MooSzKqQmkEOhPUG8cmqw7kyVadT4QKsMqMlwudDhbVfQiobO1ccDDkFgq0Q59S/9+zPSpxomLyhYTAedFoSmA==", "requires": { "prop-types": "15.5.10" } @@ -9922,7 +8903,7 @@ "react-modal": { "version": "1.9.7", "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-1.9.7.tgz", - "integrity": "sha1-B+9WeQuVPjuY7x4pieNHmDxyhx0=", + "integrity": "sha512-oZNqI0ZnPD7NnfObrCMz2hxHTAw5oEuhZJ+gnyFNIQB2rR8h1YbLQTfhms1mtSJigb0J23OOWElHjXYYaKO+wg==", "requires": { "create-react-class": "15.6.0", "element-class": "0.2.2", @@ -10023,7 +9004,7 @@ "react-router-dom": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.2.2.tgz", - "integrity": "sha1-yKgd863Fi7qKdngulGy9Tq5km40=", + "integrity": "sha512-cHMFC1ZoLDfEaMFoKTjN7fry/oczMgRt5BKfMAkTu5zEuJvUiPp1J8d0eXSVTnBh6pxlbdqDhozunOOLtmKfPA==", "requires": { "history": "4.7.2", "invariant": "2.2.2", @@ -10036,7 +9017,7 @@ "history": { "version": "4.7.2", "resolved": "https://registry.npmjs.org/history/-/history-4.7.2.tgz", - "integrity": "sha1-IrXH8xYzxbgCHH9KipVKwTnujVs=", + "integrity": "sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA==", "requires": { "invariant": "2.2.2", "loose-envify": "1.3.1", @@ -10066,7 +9047,7 @@ "react-router": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.2.0.tgz", - "integrity": "sha1-Yfez43cNrrJAYtrj7t7xsFQVWYY=", + "integrity": "sha512-DY6pjwRhdARE4TDw7XjxjZsbx9lKmIcyZoZ+SDO7SBJ1KUeWNxT22Kara2AC7u6/c2SYEHlEDLnzBCcNhLE8Vg==", "requires": { "history": "4.7.2", "hoist-non-react-statics": "2.3.1", @@ -10098,7 +9079,7 @@ "react-scroll": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/react-scroll/-/react-scroll-1.5.4.tgz", - "integrity": "sha1-jFxM7WWVU74fo5lZd2yFBV/OsTc=", + "integrity": "sha512-dK6560l7Js0JoVV6hdoTQmMnpE2Nkv5gJZgZlBuu2tGTnhgqR62OQ8GE2zNG0NyKB5YREK1hpeVqHDixad+pYw==", "requires": { "object-assign": "4.1.1", "prop-types": "15.5.10" @@ -10312,7 +9293,7 @@ "redbox-react": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/redbox-react/-/redbox-react-1.5.0.tgz", - "integrity": "sha1-BNqxFVfSZlG/NWKmfCKs5WxdOWc=", + "integrity": "sha512-mdxArOI3sF8K5Nay5NG+lv/VW516TbXjjd4h1wcV1Iy4IMDQPnCayjoQXBAycAFSME4nyXRUXCjHxsw2rYpVRw==", "dev": true, "requires": { "error-stack-parser": "1.3.6", @@ -10378,7 +9359,7 @@ "redux": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha1-BrcxIyFZAdJdBlvjQusCa8HIU3s=", + "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", "requires": { "lodash": "4.17.4", "lodash-es": "4.17.4", @@ -10437,18 +9418,18 @@ "regenerate": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha1-DDNtOYBVPXVcObWGrjsgqknIK38=", + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", "dev": true }, "regenerator-runtime": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha1-flT+W1zNXWYk6mJVw0c74JC4AuE=" + "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" }, "regenerator-transform": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", "dev": true, "requires": { "babel-runtime": "6.26.0", @@ -10459,7 +9440,7 @@ "regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { "is-equal-shallow": "0.1.3" @@ -10684,7 +9665,7 @@ "resolve-pathname": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.2.0.tgz", - "integrity": "sha1-fpriHtgV/WOrGJre7mTcgx7vqHk=" + "integrity": "sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg==" }, "resolve-url": { "version": "0.2.1", @@ -10808,7 +9789,7 @@ "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -10850,7 +9831,7 @@ "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, "samsam": { @@ -10890,7 +9871,7 @@ "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -10927,7 +9908,7 @@ "sass-loader": { "version": "6.0.6", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.6.tgz", - "integrity": "sha1-6dXmwfFV+qMqSybXqbcQfCJeQPk=", + "integrity": "sha512-c3/Zc+iW+qqDip6kXPYLEgsAu2lf4xz0EZDplB7EmSUMda12U1sGJPetH55B/j9eu0bTtKzKlNPWWyYC7wFNyQ==", "dev": true, "requires": { "async": "2.4.1", @@ -10959,7 +9940,7 @@ "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "schema-utils": { "version": "0.3.0", @@ -11012,13 +9993,13 @@ "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4=", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", "dev": true }, "send": { "version": "0.16.1", "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", - "integrity": "sha1-pw4coh0TgsEdDZ9iMd6ygQgNerM=", + "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", "dev": true, "requires": { "debug": "2.6.9", @@ -11039,7 +10020,7 @@ "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -11048,7 +10029,7 @@ "mime": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", "dev": true } } @@ -11079,7 +10060,7 @@ "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -11090,7 +10071,7 @@ "serve-static": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", - "integrity": "sha1-TFfVNASnYdjy58HooYpH2/J4pxk=", + "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", "dev": true, "requires": { "encodeurl": "1.0.1", @@ -11119,7 +10100,7 @@ "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true }, "sha.js": { @@ -11160,7 +10141,7 @@ "shallowequal": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.0.2.tgz", - "integrity": "sha1-FWHb3vuMAUCBADGQhXZNo/z4P48=" + "integrity": "sha512-zlVXeVUKvo+HEv1e2KQF/csyeMKx2oHvatQ9l6XjCUj3agvC8XGf6R9HvIPDSmp8FNPvx7b5kaEJTRi7CqxtEw==" }, "shebang-command": { "version": "1.2.0", @@ -11291,7 +10272,7 @@ "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", "dev": true }, "source-map": { @@ -11316,7 +10297,7 @@ "source-map-support": { "version": "0.4.17", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.17.tgz", - "integrity": "sha1-byFQVT5jdTddDMsxgFAreMGLpDA=", + "integrity": "sha512-30c1Ch8FSjV0FwC253iftbbj0dU/OXoSg1LAEGZJUlGgjTNj6cu+DVqJWWIZJY5RXLWV4eFtR+4ouo0VIOYOTg==", "dev": true, "requires": { "source-map": "0.5.7" @@ -11338,7 +10319,7 @@ "sourcemapped-stacktrace": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.7.tgz", - "integrity": "sha1-F+BTdP94txqdia05daSfInJbqTU=", + "integrity": "sha512-pgHNUACbafkQ+M5zR00NSOtSKBc/i40prgN+SY07J/pghClwVNWNTTMa0JuXj4lriR2TvMKcPAHw5KN9tVFRhA==", "dev": true, "requires": { "source-map": "0.5.6" @@ -11411,7 +10392,7 @@ "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "dev": true, "requires": { "core-util-is": "1.0.2", @@ -11426,7 +10407,7 @@ "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { "safe-buffer": "5.1.1" @@ -11503,7 +10484,7 @@ "stream-http": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", - "integrity": "sha1-QKBQ7I3DtTsz2ZCUFcAsC/Gr+60=", + "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", "dev": true, "requires": { "builtin-status-codes": "3.0.0", @@ -11516,7 +10497,7 @@ "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "dev": true, "requires": { "core-util-is": "1.0.2", @@ -11539,7 +10520,7 @@ "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { "safe-buffer": "5.1.1" @@ -11637,7 +10618,7 @@ "style-loader": { "version": "0.18.2", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.18.2.tgz", - "integrity": "sha1-zDFFmvvNbYC3Ig7lSykan9Zv9es=", + "integrity": "sha512-WPpJPZGUxWYHWIUMNNOYqql7zh85zGmr84FdTVWq52WTIkqlW9xSxD3QYWi/T31cqn9UNSsietVEgGn2aaSCzw==", "dev": true, "requires": { "loader-utils": "1.1.0", @@ -11674,3719 +10655,2821 @@ } } }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "svg-react-loader": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/svg-react-loader/-/svg-react-loader-0.4.5.tgz", - "integrity": "sha1-HzJMnHuFj1yJ+sdSu+nKP2IU+FA=", - "requires": { - "css": "2.2.1", - "loader-utils": "1.1.0", - "ramda": "0.21.0", - "rx": "4.1.0", - "traverse": "0.6.6", - "xml2js": "0.4.17" - }, - "dependencies": { - "css": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.1.tgz", - "integrity": "sha1-c6TIHehdtmTU7mdPfUcIXjstVdw=", - "requires": { - "inherits": "2.0.1", - "source-map": "0.1.43", - "source-map-resolve": "0.3.1", - "urix": "0.1.0" - } - }, - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "requires": { - "big.js": "3.1.3", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "requires": { - "amdefine": "1.0.1" - } - }, - "xml2js": { - "version": "0.4.17", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", - "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=", - "requires": { - "sax": "1.2.4", - "xmlbuilder": "4.2.1" - } - }, - "xmlbuilder": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", - "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=", - "requires": { - "lodash": "4.17.4" - } - } - } - }, - "svg2png": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/svg2png/-/svg2png-3.0.1.tgz", - "integrity": "sha1-omRNaLAjGsAK9DGqFjcU/xcQZEc=", - "dev": true, - "requires": { - "phantomjs-prebuilt": "2.1.15", - "pn": "1.0.0", - "yargs": "3.32.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - } - }, - "window-size": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", - "dev": true - }, - "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "dev": true, - "requires": { - "camelcase": "2.1.1", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "string-width": "1.0.2", - "window-size": "0.1.4", - "y18n": "3.2.1" - } - } - } - }, - "svgo": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "dev": true, - "requires": { - "coa": "1.0.4", - "colors": "1.1.2", - "csso": "2.3.2", - "js-yaml": "3.7.0", - "mkdirp": "0.5.1", - "sax": "1.2.4", - "whet.extend": "0.9.9" - } - }, - "swap-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", - "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=", - "requires": { - "lower-case": "1.1.4", - "upper-case": "1.1.3" - } - }, - "symbol-observable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", - "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" - }, - "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", - "dev": true, - "optional": true - }, - "table": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", - "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", - "dev": true, - "requires": { - "ajv": "4.11.8", - "ajv-keywords": "1.5.1", - "chalk": "1.1.3", - "lodash": "4.17.4", - "slice-ansi": "0.0.4", - "string-width": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "tapable": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", - "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", - "dev": true - }, - "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.1" - } + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true }, - "tc-accounts": { - "version": "git+https://github.com/appirio-tech/accounts-app.git#c7cf3758b0929f73f35781daf856e21acf10a67d", + "svg-react-loader": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/svg-react-loader/-/svg-react-loader-0.4.5.tgz", + "integrity": "sha1-HzJMnHuFj1yJ+sdSu+nKP2IU+FA=", "requires": { - "@uirouter/angularjs": "1.0.5", - "angucomplete-alt": "https://registry.npmjs.org/angucomplete-alt/-/angucomplete-alt-2.5.0.tgz", - "angular": "https://registry.npmjs.org/angular/-/angular-1.6.5.tgz", - "angular-cookies": "https://registry.npmjs.org/angular-cookies/-/angular-cookies-1.6.5.tgz", - "angular-messages": "https://registry.npmjs.org/angular-messages/-/angular-messages-1.6.5.tgz", - "appirio-tech-ng-iso-constants": "https://registry.npmjs.org/appirio-tech-ng-iso-constants/-/appirio-tech-ng-iso-constants-1.0.6.tgz", - "appirio-tech-ng-ui-components": "https://registry.npmjs.org/appirio-tech-ng-ui-components/-/appirio-tech-ng-ui-components-2.2.5.tgz", - "auth0-angular": "https://registry.npmjs.org/auth0-angular/-/auth0-angular-4.2.7.tgz", - "auth0-js": "https://registry.npmjs.org/auth0-js/-/auth0-js-6.8.4.tgz", - "babel-polyfill": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", - "isomorphic-fetch": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "ng-onload": "https://registry.npmjs.org/ng-onload/-/ng-onload-0.2.1.tgz" + "css": "2.2.1", + "loader-utils": "1.1.0", + "ramda": "0.21.0", + "rx": "4.1.0", + "traverse": "0.6.6", + "xml2js": "0.4.17" }, "dependencies": { - "@uirouter/angularjs": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@uirouter/angularjs/-/angularjs-1.0.5.tgz", - "integrity": "sha512-VXNgZxBSfgntz9XsxbB0vkzkUQGUYJnF3S7clVtD4YCzRJnRNWywyYjx7zP2JJc6yBMLYmi8fjSUsQZp39uosg==", - "requires": { - "@uirouter/core": "5.0.5" - } - }, - "@uirouter/core": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@uirouter/core/-/core-5.0.5.tgz", - "integrity": "sha512-z7zOXZKEFOloIeSMtsDpudWWfXd7L2qmhyxOAve4ZGFYwBn98zYBd2R4CIlPWMpcm4ZwfhIMTVUxCDgSSXrPKw==" - }, - "Base64": { - "version": "https://registry.npmjs.org/Base64/-/Base64-0.1.4.tgz", - "integrity": "sha512-rHuyFTuK3/IH8tMcDB0BVrfpVM8+YQ7XSsICoYUu+JUUjnbbSyPfHok/NWLFgUbKt8sPeOIEFX6YJJTO2vgt7w==" - }, - "abbrev": { - "version": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha512-c92Vmq5hfBgXyoUaHqF8P5+7THGjvxAlB64tm3PiFSAcDww34ndmrlSOd3AUaBZoutDwX0dHz9nUUFoD1jEw0Q==" - }, - "accepts": { - "version": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", - "integrity": "sha512-AOPopplFOUlmUugwiZUCDpOwmqvSgdCyE8iJVLWI4NcB7qfMKQN34dn5xYtlUU03XGG5egRWW4NW5gIxpa5hEA==", - "requires": { - "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", - "negotiator": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz" - } - }, - "acorn": { - "version": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha512-fu2ygVGuMmlzG8ZeRJ0bvR41nsAkxxhbyk8bZ1SS521Z7vmgJFTQQlfz/Mp/nJexGBz+v8sC9bM6+lNgskt4Ug==" - }, - "acorn-globals": { - "version": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", - "integrity": "sha512-j3/4pkfih8W4NK22gxVSXcEonTpAHOHh0hu5BoZrKcOsW/4oBPxTi4Yk3SAj+FhC1f3+bRTkXdm4019gw1vg9g==", - "requires": { - "acorn": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz" - }, - "dependencies": { - "acorn": { - "version": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", - "integrity": "sha512-pXK8ez/pVjqFdAgBkF1YPVRacuLQ9EXBKaKWaeh58WNfMkCmZhOZzu+NtKSPD5PHmCCHheQ5cD29qM1K4QTxIg==" - } - } - }, - "acorn-jsx": { - "version": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ==", - "requires": { - "acorn": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" - }, - "dependencies": { - "acorn": { - "version": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==" - } - } - }, - "ajv": { - "version": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", - "requires": { - "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" - } - }, - "ajv-keywords": { - "version": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha512-vuBv+fm2s6cqUyey2A7qYcvsik+GMDJsw8BARP2sDE76cqmaZVarsvHf7Vx6VJ0Xk8gLl+u3MoAPf6gKzJefeA==" - }, - "align-text": { - "version": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", - "requires": { - "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "longest": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - } - }, - "alphanum-sort": { - "version": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==" - }, - "amdefine": { - "version": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==" - }, - "angucomplete-alt": { - "version": "https://registry.npmjs.org/angucomplete-alt/-/angucomplete-alt-2.5.0.tgz", - "integrity": "sha512-suqShJywGv3MDtECBsqBi8pO0bAPSry+wpqJsbESsh523YWPSRQp8iWhMhpvKwowSMhfwM/DrWvAAMFrjUB7ew==" - }, - "angular": { - "version": "https://registry.npmjs.org/angular/-/angular-1.6.5.tgz", - "integrity": "sha512-aOuG92a70gRoRiWm34vHu9zSMDAfJ+miB0wVHmhmcxCwI/of3tK2ntl6brSWfpDgwkF4/broiixI6uRxhNBhHQ==" - }, - "angular-cookies": { - "version": "https://registry.npmjs.org/angular-cookies/-/angular-cookies-1.6.5.tgz", - "integrity": "sha512-e91MW1WSSU64oDU5kJd85YDJLWU27jrXhc1XbPxVa5DkBrRvFPAErP5em5c8KvRHgzPMUgEEWB4bMWIfI2HcvA==" - }, - "angular-messages": { - "version": "https://registry.npmjs.org/angular-messages/-/angular-messages-1.6.5.tgz", - "integrity": "sha512-lTsarvaYFAVRuVkWDf4Pmk8fI2R2NOK+3IxowXZPZh6TAuLHob48Ili0Cn3ACqJQRY4CqHXgC1Nz7+BE0No+Og==" - }, - "angular-mocks": { - "version": "https://registry.npmjs.org/angular-mocks/-/angular-mocks-1.6.5.tgz", - "integrity": "sha512-kVF5goXnDMuD4iQZgeBqscSP2Ty1KzIrZU40H+rRrO+OJHcF1+mVm7Az/jwPql0YRaajPOHtqPogtdrm9J+8VQ==" - }, - "angular-scroll": { - "version": "https://registry.npmjs.org/angular-scroll/-/angular-scroll-1.0.2.tgz", - "integrity": "sha512-GPfcHm/1Lo9byThr7JnB4Yqav/6kp29xB3EMY4WAkVJXseUR02Iq4mu1+o1FjX6d8nW0yqxM0u74XfxyNso75w==" - }, - "ansi-escapes": { - "version": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==" - }, - "ansi-regex": { - "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "ansi-styles": { - "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" - }, - "anymatch": { - "version": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", - "integrity": "sha512-GbRpOH/EMz/3Zq70whK2Q2tkbxbaM5IAU+EZL4zxnEqGtzJWFCJ3leKc6P/w3UmDFIB/GkwfeZJ7ChL7bZMXJw==", - "requires": { - "arrify": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz" - } - }, - "appirio-styles": { - "version": "https://registry.npmjs.org/appirio-styles/-/appirio-styles-0.0.30.tgz", - "integrity": "sha512-ewkiMYrW3zF1QmDM/4wp/J2OO8sW5jDZuj0CAuMATCqdqnEMWH3npAJyoaI4RhOwzjzs76wGksozAW5EKekjRQ==", - "requires": { - "node-neat": "https://registry.npmjs.org/node-neat/-/node-neat-1.7.2.tgz" - } - }, - "appirio-tech-api-schemas": { - "version": "https://registry.npmjs.org/appirio-tech-api-schemas/-/appirio-tech-api-schemas-5.0.70.tgz", - "integrity": "sha512-6J2eu0CX0vznOIeDb+xOzbKJ5zQhtCTQmlJjqf337JpRGNxoSFqaNPax9nTieTuqZicdlV0VftpmhGMCD8cpBg==", + "css": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.1.tgz", + "integrity": "sha1-c6TIHehdtmTU7mdPfUcIXjstVdw=", "requires": { - "auto-config-fake-server": "https://registry.npmjs.org/auto-config-fake-server/-/auto-config-fake-server-2.0.604.tgz" + "inherits": "2.0.1", + "source-map": "0.1.43", + "source-map-resolve": "0.3.1", + "urix": "0.1.0" } }, - "appirio-tech-ng-iso-constants": { - "version": "https://registry.npmjs.org/appirio-tech-ng-iso-constants/-/appirio-tech-ng-iso-constants-1.0.6.tgz", - "integrity": "sha512-d/74GtvFw/VNvI9P1hHs8II3XconaWwSQcu8o0eP+esRB+lbZsLqgtlnGYU8st9w2Wu0l7RHQNe8EZD0xpRDvg==" - }, - "appirio-tech-ng-ui-components": { - "version": "https://registry.npmjs.org/appirio-tech-ng-ui-components/-/appirio-tech-ng-ui-components-2.2.5.tgz", - "integrity": "sha512-Slz9r5tgwtV1Y2wSRuQ09OYR5+AvSmSvVKFa+O+nXdS9SEohHYdmJm3NTppMTtJ0HCnPA62u29zExF7GVB0UwQ==", + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "requires": { - "@uirouter/angularjs": "1.0.5", - "angular": "https://registry.npmjs.org/angular/-/angular-1.4.14.tgz", - "angular-scroll": "https://registry.npmjs.org/angular-scroll/-/angular-scroll-1.0.2.tgz", - "classnames": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", - "moment": "https://registry.npmjs.org/moment/-/moment-2.10.6.tgz", - "ngreact": "https://registry.npmjs.org/ngreact/-/ngreact-0.2.0.tgz", - "react": "https://registry.npmjs.org/react/-/react-0.14.9.tgz", - "react-dom": "https://registry.npmjs.org/react-dom/-/react-dom-0.14.9.tgz", - "react-input-autosize": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-0.6.13.tgz", - "react-redux": "https://registry.npmjs.org/react-redux/-/react-redux-4.4.8.tgz", - "react-select": "https://registry.npmjs.org/react-select/-/react-select-0.9.1.tgz", - "redux": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "zepto": "https://registry.npmjs.org/zepto/-/zepto-0.0.4.tgz" - }, - "dependencies": { - "angular": { - "version": "https://registry.npmjs.org/angular/-/angular-1.4.14.tgz", - "integrity": "sha512-C7sWDna0j/RcDq0+aUhFPhkWqOS+8CSMPx7Mz0hmxOcu921GWwgD3zyDqTkLlOA+wxwh5ecmVyG1lggqvD+icQ==" - } + "big.js": "3.1.3", + "emojis-list": "2.1.0", + "json5": "0.5.1" } }, - "aproba": { - "version": "https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz", - "integrity": "sha512-ZpYajIfO0j2cOFTO955KUMIKNmj6zhX8kVztMAxFsDaMwz+9Z9SV0uou2pC9HJqcfpffOsjnbrDMvkNy+9RXPw==" - }, - "are-we-there-yet": { - "version": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha512-QbMPI8teYlZBIBqDgmIWfDKO149dGtQV2ium8WniCaARFFRd1e+IES1LA4sSGcVTFdVL628+163WUbxev7R/aQ==", + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "requires": { - "delegates": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" - }, - "dependencies": { - "isarray": { - "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - } - }, - "string_decoder": { - "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" - } - } + "amdefine": "1.0.1" } }, - "argparse": { - "version": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha512-iK7YPKV+GsvihPUTKcM3hh2gq47zSFCpVDv/Ay2O9mzuD7dfvLV4vhms4XcjZvv4VRgXuGLMEts51IlTjS11/A==", + "xml2js": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", + "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=", "requires": { - "sprintf-js": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + "sax": "1.2.4", + "xmlbuilder": "4.2.1" } }, - "arr-diff": { - "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==", + "xmlbuilder": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", + "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=", "requires": { - "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" + "lodash": "4.17.4" } + } + } + }, + "svg2png": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/svg2png/-/svg2png-3.0.1.tgz", + "integrity": "sha1-omRNaLAjGsAK9DGqFjcU/xcQZEc=", + "dev": true, + "requires": { + "phantomjs-prebuilt": "2.1.15", + "pn": "1.0.0", + "yargs": "3.32.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true }, - "arr-flatten": { - "version": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "array-find-index": { - "version": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==" - }, - "array-flatten": { - "version": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "array-union": { - "version": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, "requires": { - "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, - "array-uniq": { - "version": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==" - }, - "array-unique": { - "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==" - }, - "arrify": { - "version": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" - }, - "asap": { - "version": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asn1": { - "version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha512-6i37w/+EhlWlGUJff3T/Q8u1RGmP5wgbiwYnOnbOqvtrPxT63/sYFyP9RcpxtxGymtfA075IvmOnL7ycNOWl3w==" + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", + "dev": true }, - "assert": { - "version": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha512-N+aAxov+CKVS3JuhDIQFr24XvZvwE96Wlhk9dytTg/GmwWoghdOvR8dspx8MVz71O+Y0pA3UPqHF68D6iy8UvQ==", + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "dev": true, "requires": { - "util": "https://registry.npmjs.org/util/-/util-0.10.3.tgz" + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" } + } + } + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "dev": true, + "requires": { + "coa": "1.0.4", + "colors": "1.1.2", + "csso": "2.3.2", + "js-yaml": "3.7.0", + "mkdirp": "0.5.1", + "sax": "1.2.4", + "whet.extend": "0.9.9" + } + }, + "swap-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", + "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=", + "requires": { + "lower-case": "1.1.4", + "upper-case": "1.1.3" + } + }, + "symbol-observable": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", + "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" + }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "dev": true, + "optional": true + }, + "table": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "dev": true, + "requires": { + "ajv": "4.11.8", + "ajv-keywords": "1.5.1", + "chalk": "1.1.3", + "lodash": "4.17.4", + "slice-ansi": "0.0.4", + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, - "assert-plus": { - "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==" - }, - "ast-types": { - "version": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", - "integrity": "sha512-qEdtR2UH78yyHX/AUNfXmJTlM48XoFZKBdwi1nzkI1mJL21cmbu0cvjxjpkXJ5NENMq42H+hNs8VLJcqXLerBQ==" - }, - "async": { - "version": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ==" - }, - "async-each": { - "version": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha512-STDwmg+1mv249vNFx+s+sF4HrdLxlF5Z6L4npilrkgchWPEuW4X13gKzSJq51qJy9InOgwmPepgfMb9/Qu0fSg==" - }, - "async-foreach": { - "version": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==" - }, - "asynckit": { - "version": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "auth0-angular": { - "version": "https://registry.npmjs.org/auth0-angular/-/auth0-angular-4.2.7.tgz", - "integrity": "sha512-Y4xOJQiActDMBWXUSMCurwBPE77z1DouseslOy21334dYGlUizCNoMeQ8PgcPby/1wSufFnAY+D7VFvehB+JnA==" + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true }, - "auth0-js": { - "version": "https://registry.npmjs.org/auth0-js/-/auth0-js-6.8.4.tgz", - "integrity": "sha512-4jfasQlhjDJykbXL6obCO8KBhW1ob8SZnli9JCdTL1yqt+XzRJc+3ZV6dCfe1adyIfDYaJJJcZa/2bRSdiwJLQ==", + "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": { - "Base64": "https://registry.npmjs.org/Base64/-/Base64-0.1.4.tgz", - "json-fallback": "https://registry.npmjs.org/json-fallback/-/json-fallback-0.0.1.tgz", - "jsonp": "https://registry.npmjs.org/jsonp/-/jsonp-0.0.4.tgz", - "qs": "git+https://github.com/jfromaniello/node-querystring.git#5d96513991635e3e22d7aa54a8584d6ce97cace8", - "reqwest": "https://registry.npmjs.org/reqwest/-/reqwest-1.1.6.tgz", - "trim": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "winchan": "https://registry.npmjs.org/winchan/-/winchan-0.1.4.tgz", - "xtend": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz" - }, - "dependencies": { - "qs": { - "version": "git+https://github.com/jfromaniello/node-querystring.git#5d96513991635e3e22d7aa54a8584d6ce97cace8" - } + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, - "auto-config-fake-server": { - "version": "https://registry.npmjs.org/auto-config-fake-server/-/auto-config-fake-server-2.0.604.tgz", - "integrity": "sha512-mHZ+lilQ8eFc6gjUiJK2qUIGNJmh96zDmtp3necEesjbKWMTmvAzlgJOw8MrqjlMyyRUtylUWdfau8Gg1K648A==", + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { - "sinon": "https://registry.npmjs.org/sinon/-/sinon-2.0.0-pre.tgz" + "ansi-regex": "3.0.0" } - }, - "autoprefixer": { - "version": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", - "integrity": "sha512-WKExI/eSGgGAkWAO+wMVdFObZV7hQen54UpD1kCCTN3tvlL3W1jL4+lPP/M7MwoP7Q4RHzKtO3JQ4HxYEcd+xQ==", + } + } + }, + "tapable": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", + "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", + "dev": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.1" + } + }, + "tc-accounts": { + "version": "git+https://github.com/appirio-tech/accounts-app.git#c7cf3758b0929f73f35781daf856e21acf10a67d", + "requires": { + "@uirouter/angularjs": "1.0.5", + "angucomplete-alt": "https://registry.npmjs.org/angucomplete-alt/-/angucomplete-alt-2.5.0.tgz", + "angular": "https://registry.npmjs.org/angular/-/angular-1.6.5.tgz", + "angular-cookies": "https://registry.npmjs.org/angular-cookies/-/angular-cookies-1.6.5.tgz", + "angular-messages": "https://registry.npmjs.org/angular-messages/-/angular-messages-1.6.5.tgz", + "appirio-tech-ng-iso-constants": "https://registry.npmjs.org/appirio-tech-ng-iso-constants/-/appirio-tech-ng-iso-constants-1.0.6.tgz", + "appirio-tech-ng-ui-components": "https://registry.npmjs.org/appirio-tech-ng-ui-components/-/appirio-tech-ng-ui-components-2.2.5.tgz", + "auth0-angular": "https://registry.npmjs.org/auth0-angular/-/auth0-angular-4.2.7.tgz", + "auth0-js": "https://registry.npmjs.org/auth0-js/-/auth0-js-6.8.4.tgz", + "babel-polyfill": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", + "isomorphic-fetch": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "ng-onload": "https://registry.npmjs.org/ng-onload/-/ng-onload-0.2.1.tgz" + }, + "dependencies": { + "@uirouter/angularjs": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@uirouter/angularjs/-/angularjs-1.0.5.tgz", + "integrity": "sha512-VXNgZxBSfgntz9XsxbB0vkzkUQGUYJnF3S7clVtD4YCzRJnRNWywyYjx7zP2JJc6yBMLYmi8fjSUsQZp39uosg==", "requires": { - "browserslist": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "caniuse-db": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000701.tgz", - "normalize-range": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "num2fraction": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", - "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz" + "@uirouter/core": "5.0.5" } }, - "aws-sdk": { - "version": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.31.tgz", - "integrity": "sha512-rgmExM3/LjhI95PfjwDs1hks/RYrQ/V3qLybFCzBqr8Y3Hz9Qq3jp+WR1BaWhUckgoVJs/ZE4VSvMKZeNwuFoA==", - "requires": { - "xml2js": "https://registry.npmjs.org/xml2js/-/xml2js-0.2.6.tgz", - "xmlbuilder": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz" - } + "@uirouter/core": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@uirouter/core/-/core-5.0.5.tgz", + "integrity": "sha512-z7zOXZKEFOloIeSMtsDpudWWfXd7L2qmhyxOAve4ZGFYwBn98zYBd2R4CIlPWMpcm4ZwfhIMTVUxCDgSSXrPKw==" }, - "aws-sign2": { - "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==" + "Base64": { + "version": "https://registry.npmjs.org/Base64/-/Base64-0.1.4.tgz", + "integrity": "sha1-6fbGvvVn/WNepBYqsU3TKedKpt4=" }, - "aws4": { - "version": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha512-tkleq4Df8UWu/7xf/tfbo7t2vDa07bcONGnKhl0QXKQsh3fJ0yJ1M5wzpy8BtBSENQw/9VTsthMhLG+yXHfStQ==" + "abbrev": { + "version": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", + "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=" }, - "babel-code-frame": { - "version": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", - "integrity": "sha512-Dmx3yJCO/UHWgFTKUlBPHUm7h5hCjI5Lfc07gmSv7H4AbUwxS7NHyorp8HN1YEd4xSDCf7P4zqnS63I3aaJTwg==", + "accepts": { + "version": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", + "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", "requires": { - "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz" + "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", + "negotiator": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz" } }, - "babel-core": { - "version": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz", - "integrity": "sha512-wne6XXFyKIfZSLLXN17Zun5aw8x2WZY5ork2NSa5t0UWGxK2EHsJlPd8W1rQQDgpG0tsvEHNdaqmvygEI7Qmmw==", - "dev": true, + "acorn": { + "version": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + }, + "acorn-globals": { + "version": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", + "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", "requires": { - "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", - "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz", - "babel-helpers": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "babel-register": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz", - "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", - "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "private": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", - "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" + "acorn": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz" }, "dependencies": { - "source-map": { - "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", - "dev": true + "acorn": { + "version": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=" } } }, - "babel-generator": { - "version": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz", - "integrity": "sha512-mfylq1PJtHEQBne/B45jQoveo7Vc1xKDM3/3ihNKrag8eym+TeoVl/xJsNtvGPBTlcc076zU0ycHV9plQeDYnw==", - "dev": true, + "acorn-jsx": { + "version": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "requires": { - "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "detect-indent": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "jsesc": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "trim-right": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz" + "acorn": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" }, "dependencies": { - "source-map": { - "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", - "dev": true + "acorn": { + "version": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" } } }, - "babel-helper-bindify-decorators": { - "version": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", - "integrity": "sha512-TYX2QQATKA6Wssp6j7jqlw4QLmABDN1olRdEHndYvBXdaXM5dcx6j5rN0+nd+aVL+Th40fAEYvvw/Xxd/LETuQ==", + "ajv": { + "version": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" + "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" } }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "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==", - "requires": { - "babel-helper-explode-assignable-expression": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" - } + "ajv-keywords": { + "version": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=" }, - "babel-helper-builder-react-jsx": { - "version": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.24.1.tgz", - "integrity": "sha512-p9MgcnD7kugw72v85G8D+CscmT87Th3BrsxNomkOVc9+KriJ4RGgsT+GG3Ie4qbF21TdJK6ccQcHOwndqHi6wQ==", + "align-text": { + "version": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz" + "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "longest": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" } }, - "babel-helper-call-delegate": { - "version": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==", - "requires": { - "babel-helper-hoist-variables": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" - } + "alphanum-sort": { + "version": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" }, - "babel-helper-define-map": { - "version": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz", - "integrity": "sha512-20RnzZAeY7TFaKCrGjiVKZlW0kkb4hMZuN8H4qKwoD3AnSnWG3D1uS3YmAR4ONxqUGBNycZoNAwDTTgLvGef3g==", - "requires": { - "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } + "amdefine": { + "version": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" }, - "babel-helper-explode-assignable-expression": { - "version": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ==", - "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" - } + "angucomplete-alt": { + "version": "https://registry.npmjs.org/angucomplete-alt/-/angucomplete-alt-2.5.0.tgz", + "integrity": "sha1-rsLmnVD7E7lCmgxP0oqPIYwGUEo=" }, - "babel-helper-explode-class": { - "version": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", - "integrity": "sha512-SFbWewr0/0U4AiRzsHqwsbOQeLXVa9T1ELdqEa2efcQB5KopTnunAqoj07TuHlN2lfTQNPGO/rJR4FMln5fVcA==", - "requires": { - "babel-helper-bindify-decorators": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" - } + "angular": { + "version": "https://registry.npmjs.org/angular/-/angular-1.6.5.tgz", + "integrity": "sha1-N/eI7r7Fzi4/oCsXu8sqIxV2oNY=" }, - "babel-helper-function-name": { - "version": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==", - "requires": { - "babel-helper-get-function-arity": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" - } + "angular-cookies": { + "version": "https://registry.npmjs.org/angular-cookies/-/angular-cookies-1.6.5.tgz", + "integrity": "sha1-E5Sdre8ZASrloedSIhLLZAjmRE4=" }, - "babel-helper-get-function-arity": { - "version": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==", - "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" - } + "angular-messages": { + "version": "https://registry.npmjs.org/angular-messages/-/angular-messages-1.6.5.tgz", + "integrity": "sha1-zIEnxI38R+af7dCw6t1al9GJg6g=" }, - "babel-helper-hoist-variables": { - "version": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==", - "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" - } + "angular-mocks": { + "version": "https://registry.npmjs.org/angular-mocks/-/angular-mocks-1.6.5.tgz", + "integrity": "sha1-xi+AFMxtPtP9Gzg6Y0ygAJrz7+4=" }, - "babel-helper-optimise-call-expression": { - "version": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==", - "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" - } + "angular-scroll": { + "version": "https://registry.npmjs.org/angular-scroll/-/angular-scroll-1.0.2.tgz", + "integrity": "sha1-J2j/NdvhzkDgw/vt1FNIiCmcPi0=" }, - "babel-helper-regex": { - "version": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz", - "integrity": "sha512-aEQFemDn4Gjob1XWGzGtjmVHIZkFQMWzGu8jl/lClbA9GIHel7nXpcCwLDL3yJP42+dqbW611v3PTzqf+7GhjQ==", - "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } + "ansi-escapes": { + "version": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" }, - "babel-helper-remap-async-to-generator": { - "version": "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==", + "ansi-regex": { + "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "anymatch": { + "version": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", + "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=", "requires": { - "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" + "arrify": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz" } }, - "babel-helper-replace-supers": { - "version": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==", + "appirio-styles": { + "version": "https://registry.npmjs.org/appirio-styles/-/appirio-styles-0.0.30.tgz", + "integrity": "sha1-VZx5umDjDW/2Ib2r+RvUeRTTzGE=", "requires": { - "babel-helper-optimise-call-expression": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" + "node-neat": "https://registry.npmjs.org/node-neat/-/node-neat-1.7.2.tgz" } }, - "babel-helpers": { - "version": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", - "dev": true, + "appirio-tech-api-schemas": { + "version": "https://registry.npmjs.org/appirio-tech-api-schemas/-/appirio-tech-api-schemas-5.0.70.tgz", + "integrity": "sha1-3RtCG/rw8PSokKRTgHSlVYDQy8s=", "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz" + "auto-config-fake-server": "https://registry.npmjs.org/auto-config-fake-server/-/auto-config-fake-server-2.0.604.tgz" } }, - "babel-loader": { - "version": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.4.1.tgz", - "integrity": "sha512-hHvbCsXtwKIznu5Qmqfe/IwZ4O5frqe+j04fN/5u/9Rg48dpWIKyYqAN68N1wwqGSMToo4FhU9/MrH+QZlFdkQ==", + "appirio-tech-ng-iso-constants": { + "version": "https://registry.npmjs.org/appirio-tech-ng-iso-constants/-/appirio-tech-ng-iso-constants-1.0.6.tgz", + "integrity": "sha1-1r3R9xB/KEPjeX0UTgVH8vSkY3M=" + }, + "appirio-tech-ng-ui-components": { + "version": "https://registry.npmjs.org/appirio-tech-ng-ui-components/-/appirio-tech-ng-ui-components-2.2.5.tgz", + "integrity": "sha1-QO2YuvZ3EjzHpxXRhcbI4phfrBI=", "requires": { - "find-cache-dir": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + "@uirouter/angularjs": "1.0.5", + "angular": "https://registry.npmjs.org/angular/-/angular-1.4.14.tgz", + "angular-scroll": "https://registry.npmjs.org/angular-scroll/-/angular-scroll-1.0.2.tgz", + "classnames": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", + "moment": "https://registry.npmjs.org/moment/-/moment-2.10.6.tgz", + "ngreact": "https://registry.npmjs.org/ngreact/-/ngreact-0.2.0.tgz", + "react": "https://registry.npmjs.org/react/-/react-0.14.9.tgz", + "react-dom": "https://registry.npmjs.org/react-dom/-/react-dom-0.14.9.tgz", + "react-input-autosize": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-0.6.13.tgz", + "react-redux": "https://registry.npmjs.org/react-redux/-/react-redux-4.4.8.tgz", + "react-select": "https://registry.npmjs.org/react-select/-/react-select-0.9.1.tgz", + "redux": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", + "zepto": "https://registry.npmjs.org/zepto/-/zepto-0.0.4.tgz" }, "dependencies": { - "object-assign": { - "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "angular": { + "version": "https://registry.npmjs.org/angular/-/angular-1.4.14.tgz", + "integrity": "sha1-nQ/q9gzm5SzlD0nuMoZW0eGHXDc=" } } }, - "babel-messages": { - "version": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", + "aproba": { + "version": "https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz", + "integrity": "sha1-RcZikJTeTpb2k+9+q3SuB5wkD8E=" + }, + "are-we-there-yet": { + "version": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + "delegates": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" + }, + "dependencies": { + "isarray": { + "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", + "requires": { + "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + } + }, + "string_decoder": { + "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "requires": { + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" + } + } } }, - "babel-plugin-check-es2015-constants": { - "version": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==", + "argparse": { + "version": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + "sprintf-js": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" } }, - "babel-plugin-lodash": { - "version": "https://registry.npmjs.org/babel-plugin-lodash/-/babel-plugin-lodash-2.3.0.tgz", - "integrity": "sha512-azIRaAWHFo5OsyT5HSQmVEN/Nk+9IXlXGahilcVNdR7iVeXiTLWKt61hNwLDepso91BPCie14JOfr7TzCorVLQ==", + "arr-diff": { + "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" + "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" } }, - "babel-plugin-syntax-async-functions": { - "version": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==" - }, - "babel-plugin-syntax-async-generators": { - "version": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", - "integrity": "sha512-EbciFN5Jb9iqU9bqaLmmFLx2G8pAUsvpWJ6OzOWBNrSY9qTohXj+7YfZx6Ug1Qqh7tCb1EA7Jvn9bMC1HBiucg==" + "arr-flatten": { + "version": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=" }, - "babel-plugin-syntax-class-properties": { - "version": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha512-chI3Rt9T1AbrQD1s+vxw3KcwC9yHtF621/MacuItITfZX344uhQoANjpoSJZleAmW2tjlolqB/f+h7jIqXa7pA==" + "array-find-index": { + "version": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" }, - "babel-plugin-syntax-decorators": { - "version": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", - "integrity": "sha512-AWj19x2aDm8qFQ5O2JcD6pwJDW1YdcnO+1b81t7gxrGjz5VHiUqeYWAR4h7zueWMalRelrQDXprv2FrY1dbpbw==" + "array-flatten": { + "version": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, - "babel-plugin-syntax-dynamic-import": { - "version": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==" + "array-union": { + "version": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" + } }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "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==" + "array-uniq": { + "version": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" }, - "babel-plugin-syntax-flow": { - "version": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", - "integrity": "sha512-HbTDIoG1A1op7Tl/wIFQPULIBA61tsJ8Ntq2FAhLwuijrzosM/92kAfgU1Q3Kc7DH/cprJg5vDfuTY4QUL4rDA==" + "array-unique": { + "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" }, - "babel-plugin-syntax-jsx": { - "version": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" + "arrify": { + "version": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" }, - "babel-plugin-syntax-object-rest-spread": { - "version": "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==" + "asap": { + "version": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "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==" + "asn1": { + "version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" }, - "babel-plugin-transform-async-generator-functions": { - "version": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", - "integrity": "sha512-uT7eovUxtXe8Q2ufcjRuJIOL0hg6VAUJhiWJBLxH/evYAw+aqoJLcYTR8hqx13iOx/FfbCMHgBmXWZjukbkyPg==", + "assert": { + "version": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", "requires": { - "babel-helper-remap-async-to-generator": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "babel-plugin-syntax-async-generators": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + "util": "https://registry.npmjs.org/util/-/util-0.10.3.tgz" } }, - "babel-plugin-transform-async-to-generator": { - "version": "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==", - "requires": { - "babel-helper-remap-async-to-generator": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "babel-plugin-syntax-async-functions": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" - } + "assert-plus": { + "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" }, - "babel-plugin-transform-class-properties": { - "version": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha512-n4jtBA3OYBdvG5PRMKsMXJXHfLYw/ZOmtxCLOOwz6Ro5XlrColkStLnz1AS1L2yfPA9BKJ1ZNlmVCLjAL9DSIg==", - "requires": { - "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "babel-plugin-syntax-class-properties": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz" - } + "ast-types": { + "version": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", + "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=" }, - "babel-plugin-transform-decorators": { - "version": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", - "integrity": "sha512-skQ2CImwDkCHu0mkWvCOlBCpBIHW4/49IZWVwV4A/EnWjL9bB6UBvLyMNe3Td5XDStSZNhe69j4bfEW8dvUbew==", - "requires": { - "babel-helper-explode-class": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", - "babel-plugin-syntax-decorators": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" - } + "async": { + "version": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "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==", - "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" - } + "async-each": { + "version": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "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==", - "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" - } + "async-foreach": { + "version": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz", - "integrity": "sha512-oiFhXoUIwdxeLf+mIcQ7gIG576Q+vgRY0vdN+98/QgCTtBAE8wPrF7AG27ISkLPMFQHxZj5ow0Cx8pxxRNg2lA==", - "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } + "asynckit": { + "version": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, - "babel-plugin-transform-es2015-classes": { - "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==", - "requires": { - "babel-helper-define-map": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz", - "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "babel-helper-optimise-call-expression": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "babel-helper-replace-supers": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" - } + "auth0-angular": { + "version": "https://registry.npmjs.org/auth0-angular/-/auth0-angular-4.2.7.tgz", + "integrity": "sha1-Y9n/uAlhfRBRGlD0JwMAuAp/ptk=" }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "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==", + "auth0-js": { + "version": "https://registry.npmjs.org/auth0-js/-/auth0-js-6.8.4.tgz", + "integrity": "sha1-Qw3Uystk2NFdabHmIRhPmipkCmE=", "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz" + "Base64": "https://registry.npmjs.org/Base64/-/Base64-0.1.4.tgz", + "json-fallback": "https://registry.npmjs.org/json-fallback/-/json-fallback-0.0.1.tgz", + "jsonp": "https://registry.npmjs.org/jsonp/-/jsonp-0.0.4.tgz", + "qs": "git+https://github.com/jfromaniello/node-querystring.git#5d96513991635e3e22d7aa54a8584d6ce97cace8", + "reqwest": "https://registry.npmjs.org/reqwest/-/reqwest-1.1.6.tgz", + "trim": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "winchan": "https://registry.npmjs.org/winchan/-/winchan-0.1.4.tgz", + "xtend": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz" + }, + "dependencies": { + "qs": { + "version": "git+https://github.com/jfromaniello/node-querystring.git#5d96513991635e3e22d7aa54a8584d6ce97cace8" + } } }, - "babel-plugin-transform-es2015-destructuring": { - "version": "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==", + "auto-config-fake-server": { + "version": "https://registry.npmjs.org/auto-config-fake-server/-/auto-config-fake-server-2.0.604.tgz", + "integrity": "sha1-FY5RTIR5nRQ5iNw/w7mpkwnNhkY=", "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + "sinon": "https://registry.npmjs.org/sinon/-/sinon-2.0.0-pre.tgz" } }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "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==", + "autoprefixer": { + "version": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" + "browserslist": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "caniuse-db": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000701.tgz", + "normalize-range": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "num2fraction": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", + "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz" } }, - "babel-plugin-transform-es2015-for-of": { - "version": "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==", + "aws-sdk": { + "version": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.31.tgz", + "integrity": "sha1-5yzx/caQFb2f0r3z07iMFlB9Jo4=", "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + "xml2js": "https://registry.npmjs.org/xml2js/-/xml2js-0.2.6.tgz", + "xmlbuilder": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz" } }, - "babel-plugin-transform-es2015-function-name": { - "version": "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==", - "requires": { - "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" - } + "aws-sign2": { + "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" }, - "babel-plugin-transform-es2015-literals": { - "version": "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==", - "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" - } + "aws4": { + "version": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "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==", + "babel-code-frame": { + "version": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", + "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz" + "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz" } }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz", - "integrity": "sha512-nVZMj02WXtBhlY+DKxrDhCo6uD0TSwvLXEq9NFxR9ERBfyQEEPi2CgWLnwJKn5otObFTm2u0j+LPPogfCMZeTA==", + "babel-core": { + "version": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz", + "integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=", + "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", + "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz", + "babel-helpers": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "babel-register": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz", "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" - } - }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "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==", - "requires": { - "babel-helper-hoist-variables": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz" - } - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==", - "requires": { - "babel-plugin-transform-es2015-modules-amd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz" + "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", + "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz", + "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", + "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "private": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", + "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" + }, + "dependencies": { + "source-map": { + "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + } } }, - "babel-plugin-transform-es2015-object-super": { - "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==", + "babel-generator": { + "version": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz", + "integrity": "sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=", + "dev": true, "requires": { - "babel-helper-replace-supers": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", + "detect-indent": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "jsesc": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "trim-right": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz" + }, + "dependencies": { + "source-map": { + "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + } } }, - "babel-plugin-transform-es2015-parameters": { - "version": "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==", + "babel-helper-bindify-decorators": { + "version": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", "requires": { - "babel-helper-call-delegate": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "babel-helper-get-function-arity": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "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==", + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "requires": { + "babel-helper-explode-assignable-expression": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "babel-plugin-transform-es2015-spread": { - "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==", + "babel-helper-builder-react-jsx": { + "version": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.24.1.tgz", + "integrity": "sha1-CteRfjPI11HmRtrKTnfMGTd9LLw=", "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", + "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz" } }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "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==", + "babel-helper-call-delegate": { + "version": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "requires": { - "babel-helper-regex": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz", + "babel-helper-hoist-variables": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "babel-plugin-transform-es2015-template-literals": { - "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==", - "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" - } - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "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==", - "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "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==", + "babel-helper-define-map": { + "version": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz", + "integrity": "sha1-epdH8ljYlH0y1RX2qhx70CIEoIA=", "requires": { - "babel-helper-regex": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz", + "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "regexpu-core": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ==", - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "babel-plugin-syntax-exponentiation-operator": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" - } - }, - "babel-plugin-transform-flow-strip-types": { - "version": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", - "integrity": "sha512-TxIM0ZWNw9oYsoTthL3lvAK3+eTujzktoXJg4ubGvICGbVuXVYv5hHv0XXpz8fbqlJaGYY4q5SVzaSmsg3t4Fg==", - "requires": { - "babel-plugin-syntax-flow": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" - } - }, - "babel-plugin-transform-object-rest-spread": { - "version": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz", - "integrity": "sha512-d765TwySvTEWS8a31U/Z0GWwr702U61+W2UQMCYepibSLamxKjHuITdTYl5gYZ3n1EW84AiURdQ2E8GHEp+GJg==", - "requires": { - "babel-plugin-syntax-object-rest-spread": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" - } - }, - "babel-plugin-transform-react-display-name": { - "version": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "integrity": "sha512-QLYkLiZeeED2PKd4LuXGg5y9fCgPB5ohF8olWUuETE2ryHNRqqnXlEVP7RPuef89+HTfd3syptMGVHeoAu0Wig==", - "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" - } - }, - "babel-plugin-transform-react-jsx": { - "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "integrity": "sha512-s+q/Y2u2OgDPHRuod3t6zyLoV8pUHc64i/O7ZNgIOEdYTq+ChPeybcKBi/xk9VI60VriILzFPW+dUxAEbTxh2w==", - "requires": { - "babel-helper-builder-react-jsx": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.24.1.tgz", - "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" } }, - "babel-plugin-transform-react-jsx-self": { - "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", - "integrity": "sha512-Y3ZHP1nunv0U1+ysTNwLK39pabHj6cPVsfN4TRC7BDBfbgbyF4RifP5kd6LnbuMV9wcfedQMe7hn1fyKc7IzTQ==", + "babel-helper-explode-assignable-expression": { + "version": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "requires": { - "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "babel-plugin-transform-react-jsx-source": { - "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha512-pcDNDsZ9q/6LJmujQ/OhjeoIlp5Nl546HJ2yiFIJK3mYpgNXhI5/S9mXfVxu5yqWAi7HdI7e/q6a9xtzwL69Vw==", + "babel-helper-explode-class": { + "version": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", "requires": { - "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + "babel-helper-bindify-decorators": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "babel-plugin-transform-regenerator": { - "version": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz", - "integrity": "sha512-mCsmWpAKQxwdqlWK3oxdTZSQC2iKvxkGxxHZ3/BQA5oRr0N9onhdx1onDZF50fnGpazdUF+WzaU2L9Jo91IeQA==", + "babel-helper-function-name": { + "version": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "requires": { - "regenerator-transform": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.11.tgz" + "babel-helper-get-function-arity": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "babel-plugin-transform-strict-mode": { - "version": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==", + "babel-helper-get-function-arity": { + "version": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "requires": { "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "babel-polyfill": { - "version": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", - "integrity": "sha512-0l7mVU+LrQ2X/ZTUq63T5i3VyR2aTgcRTFmBcD6djQ/Fek6q1A9t5u0F4jZVYHzp78jwWAzGfLpAY1b4/I3lfg==", + "babel-helper-hoist-variables": { + "version": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "requires": { "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz" - }, - "dependencies": { - "core-js": { - "version": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "integrity": "sha512-W4Zkayb9VI4zr+s7ReDSgTTaV9KWB4L997i8/mkOV2kY1c7QGNj91k8X0zcr8Tl24oYF6kiBomCDSYO4BvQQdQ==" - } + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "babel-preset-es2015": { - "version": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", - "integrity": "sha512-XfwUqG1Ry6R43m4Wfob+vHbIVBIqTg/TJY4Snku1iIzeH7mUnwHA8Vagmv+ZQbPwhS8HgsdQvy28Py3k5zpoFQ==", + "babel-helper-optimise-call-expression": { + "version": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", "requires": { - "babel-plugin-check-es2015-constants": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "babel-plugin-transform-es2015-arrow-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "babel-plugin-transform-es2015-block-scoped-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "babel-plugin-transform-es2015-block-scoping": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz", - "babel-plugin-transform-es2015-classes": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "babel-plugin-transform-es2015-computed-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "babel-plugin-transform-es2015-destructuring": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "babel-plugin-transform-es2015-duplicate-keys": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "babel-plugin-transform-es2015-for-of": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "babel-plugin-transform-es2015-function-name": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "babel-plugin-transform-es2015-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "babel-plugin-transform-es2015-modules-amd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "babel-plugin-transform-es2015-modules-commonjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz", - "babel-plugin-transform-es2015-modules-systemjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "babel-plugin-transform-es2015-modules-umd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "babel-plugin-transform-es2015-object-super": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "babel-plugin-transform-es2015-parameters": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "babel-plugin-transform-es2015-shorthand-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "babel-plugin-transform-es2015-spread": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "babel-plugin-transform-es2015-sticky-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "babel-plugin-transform-es2015-template-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "babel-plugin-transform-es2015-typeof-symbol": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "babel-plugin-transform-es2015-unicode-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "babel-plugin-transform-regenerator": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz" + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "babel-preset-flow": { - "version": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", - "integrity": "sha512-PQZFJXnM3d80Vq4O67OE6EMVKIw2Vmzy8UXovqulNogCtblWU8rzP7Sm5YgHiCg4uejUxzCkHfNXQ4Z6GI+Dhw==", + "babel-helper-regex": { + "version": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz", + "integrity": "sha1-024i+rEAjXnYhkjjIRaGgShFbOg=", "requires": { - "babel-plugin-transform-flow-strip-types": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz" + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" } }, - "babel-preset-react": { - "version": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", - "integrity": "sha512-phQe3bElbgF887UM0Dhz55d22ob8czTL1kbhZFwpCE6+R/X9kHktfwmx9JZb+bBSVRGphP5tZ9oWhVhlgjrX3Q==", + "babel-helper-remap-async-to-generator": { + "version": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "requires": { - "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "babel-plugin-transform-react-display-name": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "babel-plugin-transform-react-jsx": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "babel-plugin-transform-react-jsx-self": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", - "babel-plugin-transform-react-jsx-source": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "babel-preset-flow": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz" + "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "babel-preset-stage-2": { - "version": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", - "integrity": "sha512-9F+nquz+37PrlTSBdpeQBKnQfAMNBnryXw+m4qBh35FNbJPfzZz+sjN2G5Uf1CRedU9PH7fJkTbYijxmkLX8Og==", + "babel-helper-replace-supers": { + "version": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", "requires": { - "babel-plugin-syntax-dynamic-import": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "babel-plugin-transform-class-properties": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "babel-plugin-transform-decorators": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", - "babel-preset-stage-3": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz" + "babel-helper-optimise-call-expression": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "babel-preset-stage-3": { - "version": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", - "integrity": "sha512-eCbEOF8uN0KypFXJmZXn2sTk7bPV9uM5xov7G/7BM08TbQEObsVs0cEWfy6NQySlfk7JBi/t+XJP1JkruYfthA==", + "babel-helpers": { + "version": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, "requires": { - "babel-plugin-syntax-trailing-function-commas": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "babel-plugin-transform-async-generator-functions": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", - "babel-plugin-transform-async-to-generator": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "babel-plugin-transform-exponentiation-operator": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "babel-plugin-transform-object-rest-spread": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz" + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz" } }, - "babel-register": { - "version": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz", - "integrity": "sha512-mr00+i4WOTiZoG1+CYfemP6mW9ym7Hw97EtEx60Z0/uTADXXPjVc9D4xXYi96zyCZMBALF7EjC0cVAS+63updw==", - "dev": true, + "babel-loader": { + "version": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.4.1.tgz", + "integrity": "sha1-CzQRLVsHSKjc2/Uaz2+b1C1QuMo=", "requires": { - "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "home-or-tmp": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "find-cache-dir": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "source-map-support": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz" + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" }, "dependencies": { - "core-js": { - "version": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "integrity": "sha512-W4Zkayb9VI4zr+s7ReDSgTTaV9KWB4L997i8/mkOV2kY1c7QGNj91k8X0zcr8Tl24oYF6kiBomCDSYO4BvQQdQ==", - "dev": true + "object-assign": { + "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" } } }, - "babel-runtime": { - "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "integrity": "sha512-9Vdluea/MpskdLsLYTH10Wtc5z2U0THGHVJeqec0EHUbfEt2q3zM1piQ+/GjMl9h0drUY1hF8zHV9nmH8Kl+Og==", + "babel-messages": { + "version": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "requires": { - "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz" - }, - "dependencies": { - "core-js": { - "version": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "integrity": "sha512-W4Zkayb9VI4zr+s7ReDSgTTaV9KWB4L997i8/mkOV2kY1c7QGNj91k8X0zcr8Tl24oYF6kiBomCDSYO4BvQQdQ==" - } + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "babel-template": { - "version": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "integrity": "sha512-Ak4qz4gxFYXuj3O5m+Um2RvhZw2CUVTDM3sMK5XhrJLRfIFi7nxCwBLCG0RBwqNzo7DVM996bHlo6kSkJ0X/jg==", + "babel-plugin-check-es2015-constants": { + "version": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz", - "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "babel-traverse": { - "version": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "integrity": "sha512-nTp4cMQ6tI37rTmE0oUBQKJVxdwKhz0Wzh5KzaV2a+GjdkGDdJV7Vz2aAIWQqGs/fh5lUAiDuKrQontA0Z94IQ==", + "babel-plugin-lodash": { + "version": "https://registry.npmjs.org/babel-plugin-lodash/-/babel-plugin-lodash-2.3.0.tgz", + "integrity": "sha1-QWbI88pSqpW+nhg50kWD5wqFfsI=", "requires": { - "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", - "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz", - "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "globals": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" } }, - "babel-types": { - "version": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "integrity": "sha512-7gcO7CcpZLSylbMXMkKAyVRHMSniXYjDvbFEe6C8yhas7sYFrw/6s+zwuXKpUzrdsNNhQ82HXEiE9MdjSY6uEw==", - "requires": { - "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "to-fast-properties": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz" - } + "babel-plugin-syntax-async-functions": { + "version": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" }, - "babylon": { - "version": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz", - "integrity": "sha512-kChlV+0SXkjE0vUn9OZ7pBMWRFd8uq3mZe8x1K6jhuNcAFAtEnjchFAqB+dYEXKyd+JpT6eppRR78QAr5gTsUw==" + "babel-plugin-syntax-async-generators": { + "version": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=" }, - "balanced-match": { - "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==" + "babel-plugin-syntax-class-properties": { + "version": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" }, - "base62": { - "version": "https://registry.npmjs.org/base62/-/base62-1.2.0.tgz", - "integrity": "sha512-iLptpE1ioEhO0NaX+dzhX9f6KX7YN4eF/iQ6tORocGx+X2Mua+M2QYo/Wq9QYfwRCTMNYwVP0vvMqewA7eOehg==" + "babel-plugin-syntax-decorators": { + "version": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=" }, - "base64-js": { - "version": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" + "babel-plugin-syntax-dynamic-import": { + "version": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" }, - "batch": { - "version": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + "babel-plugin-syntax-exponentiation-operator": { + "version": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" }, - "bcrypt-pbkdf": { - "version": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha512-vY4sOrSlpwNZXsinfJ0HpbSkFft4nhSVLeUrQ4j2ydGmBOiVY83aMJStJATBy0C3+XdaYa990kIA1qkC2mUq6g==", - "optional": true, - "requires": { - "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" - } + "babel-plugin-syntax-flow": { + "version": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=" }, - "big.js": { - "version": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", - "integrity": "sha512-xKtxdFfTJM5jTmX8V38jauBmQW041sAj3OEwQszpX65wGip4cyQr2HOVF4vMISxZSY74Wi3GEi5k3tF7AH/GfQ==" + "babel-plugin-syntax-jsx": { + "version": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" }, - "binary-extensions": { - "version": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz", - "integrity": "sha512-3WXXKEv/uJx27dQVWm5nZnXAU3FFymNhLPcI9j8G7i0QuyJy+f4ocGHSQs+pae+3FOO51DmDYqgFBhno3MTaiQ==" + "babel-plugin-syntax-object-rest-spread": { + "version": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" }, - "block-stream": { - "version": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha512-OorbnJVPII4DuUKbjARAe8u8EfqOmkEEaSFIyoQ7OjTHn6kafxWl0wLgoZ2rXaYd7MyLcDaU4TmhfxtwgcccMQ==", + "babel-plugin-syntax-trailing-function-commas": { + "version": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" + }, + "babel-plugin-transform-async-generator-functions": { + "version": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", "requires": { - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + "babel-helper-remap-async-to-generator": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "babel-plugin-syntax-async-generators": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "bluebird": { - "version": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", - "integrity": "sha512-3LE8m8bqjGdoxfvf71yhFNrUcwy3NLy00SAo+b6MfJ8l+Bc2DzQ7mUHwX6pjK2AxfgV+YfsjCeVW3T5HLQTBsQ==" - }, - "boolbase": { - "version": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "boom": { - "version": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==", + "babel-plugin-transform-async-to-generator": { + "version": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "requires": { - "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + "babel-helper-remap-async-to-generator": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "babel-plugin-syntax-async-functions": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "bourbon": { - "version": "https://registry.npmjs.org/bourbon/-/bourbon-4.3.4.tgz", - "integrity": "sha512-XY2nuWcgS5ODGVFHgE/SsjFb18ke1dPtxu32vDm2tue8v4RflmU0mp0jpdIvvyjEtYEv6oiSpQL2PRUsEqde4w==" - }, - "bourbon-neat": { - "version": "https://registry.npmjs.org/bourbon-neat/-/bourbon-neat-1.7.2.tgz", - "integrity": "sha512-hg3sLCWIAzhdtao2Z0r0TrF6SQzcN5ajcZi3OJidwcQ6LyFYFqv7GaBuD9JitetLIYWFBPqEP/sjDbZVqmvNHg==" - }, - "brace-expansion": { - "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha512-Dnfc9ROAPrkkeLIUweEbh7LFT9Mc53tO/bbM044rKjhgAEyIGKvKXg97PM/kRizZIfUHaROZIoeEaWao+Unzfw==", + "babel-plugin-transform-class-properties": { + "version": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", "requires": { - "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "babel-plugin-syntax-class-properties": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz" } }, - "braces": { - "version": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", + "babel-plugin-transform-decorators": { + "version": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", "requires": { - "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "preserve": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz" + "babel-helper-explode-class": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "babel-plugin-syntax-decorators": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "browserify-aes": { - "version": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz", - "integrity": "sha512-hnvbMhZ/Ete34qnoKKyjikiYQfZbl89d5UZ29cz3EG13cv/8VRyM8Zs84luB/O7BRzC3qSng9dVovJ6jghcAvg==", + "babel-plugin-transform-es2015-arrow-functions": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", "requires": { - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "browserify-zlib": { - "version": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==", + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", "requires": { - "pako": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz" + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "browserslist": { - "version": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha512-qHJblDE2bXVRYzuDetv/wAeHOJyO97+9wxC1cdCtyzgNuSozOyRCiiLaCR1f71AN66lQdVVBipWm63V+a7bPOw==", + "babel-plugin-transform-es2015-block-scoping": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz", + "integrity": "sha1-dsKV3DpHQbFmWt/TFnIV3P8ypXY=", "requires": { - "caniuse-db": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000701.tgz", - "electron-to-chromium": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz" + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" } }, - "buffer": { - "version": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha512-DNK4ruAqtyHaN8Zne7PkBTO+dD1Lr0YfTduMqlIyjvQIoztBkUxrvL+hKeLW8NXFKHOq/2upkxuoS9znQ9bW9A==", + "babel-plugin-transform-es2015-classes": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", "requires": { - "base64-js": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "ieee754": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - }, - "dependencies": { - "isarray": { - "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - } + "babel-helper-define-map": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz", + "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "babel-helper-optimise-call-expression": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "babel-helper-replace-supers": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "builtin-modules": { - "version": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==" - }, - "builtin-status-codes": { - "version": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - }, - "bytes": { - "version": "https://registry.npmjs.org/bytes/-/bytes-2.5.0.tgz", - "integrity": "sha512-hkQtlCqf2f67v+GDlR9DImH1Bu/DxA/yNR7EmnbxCgxYgm4u7rLTJw8LYJdttHOl+H+++Fv0SQF7PgXAtqkfVg==" - }, - "caller-path": { - "version": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha512-UJiE1otjXPF5/x+T3zTnSFiTOEmJoGTD9HmBoxnCUwho61a2eSNn/VwtwuIBDAo2SEOv1AJ7ARI5gCmohFLu/g==", + "babel-plugin-transform-es2015-computed-properties": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", "requires": { - "callsites": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz" + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz" } }, - "callsites": { - "version": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha512-Zv4Dns9IbXXmPkgRRUjAaJQgfN4xX5p6+RQFhWUqscdvvK2xK/ZL8b3IXIJsj+4sD+f24NwnWy2BY8AJ82JB0A==" - }, - "camel-case": { - "version": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "babel-plugin-transform-es2015-destructuring": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "requires": { - "no-case": "https://registry.npmjs.org/no-case/-/no-case-2.3.1.tgz", - "upper-case": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz" + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "camelcase": { - "version": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==" + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "requires": { + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" + } }, - "camelcase-keys": { - "version": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==", + "babel-plugin-transform-es2015-for-of": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", "requires": { - "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" - }, - "dependencies": { - "camelcase": { - "version": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==" - } + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "caniuse-api": { - "version": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", - "integrity": "sha512-SBTl70K0PkDUIebbkXrxWqZlHNs0wRgRD6QZ8guctShjbh63gEPfF+Wj0Yw+75f5Y8tSzqAI/NcisYv/cCah2Q==", + "babel-plugin-transform-es2015-function-name": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "requires": { - "browserslist": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "caniuse-db": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000701.tgz", - "lodash.memoize": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "lodash.uniq": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "caniuse-db": { - "version": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000701.tgz", - "integrity": "sha512-XwpZetzn1L6QYmeL54OPPj50/qSoPN9MlNBwHljwonjVwlY3q1W0gBGL9WbJ4jkyt50fHMW2faiuJRIWp3aYFg==" + "babel-plugin-transform-es2015-literals": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "requires": { + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + } }, - "caseless": { - "version": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + "babel-plugin-transform-es2015-modules-amd": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz" + } }, - "cdnizer": { - "version": "https://registry.npmjs.org/cdnizer/-/cdnizer-1.1.6.tgz", - "integrity": "sha512-u9FB6+rAgvbPZwZJOqnwQk4OqPDwDypZg3OR4P80fEbVrYWaZ4+b8vx6ry8sBRyM1wggR+K6sgEk7/aWic3OdQ==", + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz", + "integrity": "sha1-0+MQtA72ZKNmIiAAl8bUQCmPK/4=", "requires": { - "cdnjs-cdn-data": "https://registry.npmjs.org/cdnjs-cdn-data/-/cdnjs-cdn-data-0.1.2.tgz", - "google-cdn-data": "https://registry.npmjs.org/google-cdn-data/-/google-cdn-data-0.1.25.tgz", - "jsdelivr-cdn-data": "https://registry.npmjs.org/jsdelivr-cdn-data/-/jsdelivr-cdn-data-0.1.1.tgz", - "lodash": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", - "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "nomnom": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz" - }, - "dependencies": { - "lodash": { - "version": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", - "integrity": "sha512-Kak1hi6/hYHGVPmdyiZijoQyz5x2iGVzs6w9GYB/HiXEtylY7tIoYEROMjvM1d9nXJqPOrG2MNPMn01bJ+S0Rw==" - } + "babel-plugin-transform-strict-mode": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "cdnjs-cdn-data": { - "version": "https://registry.npmjs.org/cdnjs-cdn-data/-/cdnjs-cdn-data-0.1.2.tgz", - "integrity": "sha512-lTpdCEMbbtxEnRAqj6qVldSo6TN1CEuPWSD1qVOwB/MDd7ClfwICx4G4OsHKbRMp4W++jgLO8ufrKf/SJhWA9w==", + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", "requires": { - "semver": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz" - }, - "dependencies": { - "semver": { - "version": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", - "integrity": "sha512-5OkOBiw69xqmxOFIXwXsiY1HlE+om8nNptg1ZIf95fzcnfgOv2fLm7pmmGbRJsjJIqPpW5Kwy4wpDBTz5wQlUw==" - } + "babel-helper-hoist-variables": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz" } }, - "center-align": { - "version": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", + "babel-plugin-transform-es2015-modules-umd": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", "requires": { - "align-text": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "lazy-cache": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz" + "babel-plugin-transform-es2015-modules-amd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz" } }, - "chalk": { - "version": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "babel-plugin-transform-es2015-object-super": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", "requires": { - "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "has-ansi": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + "babel-helper-replace-supers": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "character-parser": { - "version": "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz", - "integrity": "sha512-6OEBVBlf/y8LaAphnbAnt743O3zMhlBer+FO5D40H6wqAdU9B1TvuApkejgLW0cvv0tEZNLktv1AnRI+C87ueQ==" - }, - "chokidar": { - "version": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==", + "babel-plugin-transform-es2015-parameters": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "requires": { - "anymatch": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", - "async-each": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "fsevents": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", - "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "is-binary-path": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "readdirp": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz" + "babel-helper-call-delegate": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "babel-helper-get-function-arity": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "circular-json": { - "version": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz", - "integrity": "sha512-MTc6ffiOuzmPfRWVHjRscjzTQSYq16oouOebk6iHn/Tvp1mKBwQ/x33Trh7oZwI0e7wZyMV9KzDBWalzxjoIGQ==" - }, - "cjsx-loader": { - "version": "https://registry.npmjs.org/cjsx-loader/-/cjsx-loader-2.1.0.tgz", - "integrity": "sha512-fSSF8o8BEb8iCgRmheGe1P3BdjuY80lVQryqqCR+yMb2nASnEuLnpgiBQKf0lyIifhvNpND+lUJnJooeZkSckg==", + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", "requires": { - "coffee-react-transform": "https://registry.npmjs.org/coffee-react-transform/-/coffee-react-transform-3.3.0.tgz", - "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "clap": { - "version": "https://registry.npmjs.org/clap/-/clap-1.2.0.tgz", - "integrity": "sha512-aHGzQytESd0QZCU3zSeIrffsRKFpiQwrIX1lyixfryDu/vHmGOPyvrhNa8na2KhMkjtpHVfjb7ZEfGcgK8/2Aw==", + "babel-plugin-transform-es2015-spread": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "requires": { - "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "classnames": { - "version": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", - "integrity": "sha512-DTt3GhOUDKhh4ONwIJW4lmhyotQmV2LjNlGK/J2hkwUcqcbKkCLAdJPtxQnxnlc7SR3f1CEXCyMmc7WLUsWbNA==" - }, - "clean-css": { - "version": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.7.tgz", - "integrity": "sha512-MsypQjYqiZze71/Jo1aIyszUS/incwPF43KN/ESDvjd2PdC4iqibM5rHsmbpYrPQjcfXBO7tgifM/SiWXu933g==", + "babel-plugin-transform-es2015-sticky-regex": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "requires": { - "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" - }, - "dependencies": { - "source-map": { - "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==" - } + "babel-helper-regex": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" } }, - "cli-cursor": { - "version": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==", + "babel-plugin-transform-es2015-template-literals": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", "requires": { - "restore-cursor": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "cli-width": { - "version": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", - "integrity": "sha512-w9+InVqlfC6hq5odRMsdb85XIIaCusCmCg21AsMEqGYKGHEWxr1CBYW4CCTSWC0FpsFGkY6FrOvjnnxGlY52Bg==" - }, - "cliui": { - "version": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", "requires": { - "center-align": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "right-align": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" - }, - "dependencies": { - "wordwrap": { - "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==" - } + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "clone": { - "version": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", - "integrity": "sha512-b2ijK6P2aNZYyFrb1B3a4kdAtaRueI+SpAKYNhR6i+R3xcF32vN1BLq8UoLU+L0NguGAg/9UQauaVOKrEij3sQ==" - }, - "co": { - "version": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" - }, - "coa": { - "version": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", - "integrity": "sha512-KAGck/eNAmCL0dcT3BiuYwLbExK6lduR8DxM3C1TyDzaXhZHyZ8ooX5I5+na2e3dPFuibfxrGdorr0/Lr7RYCQ==", + "babel-plugin-transform-es2015-unicode-regex": { + "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "requires": { - "q": "https://registry.npmjs.org/q/-/q-1.5.0.tgz" + "babel-helper-regex": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "regexpu-core": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz" } }, - "code-point-at": { - "version": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" - }, - "coffee-loader": { - "version": "https://registry.npmjs.org/coffee-loader/-/coffee-loader-0.7.3.tgz", - "integrity": "sha512-YZlVCkhdf9RJbBq5x0nAIY2lEylIqCXjNhnwMcPVm0mCNhHoe5aZ2UVD0mAgdfJow0TQCBodoHnVfEbDsRXbyg==", + "babel-plugin-transform-exponentiation-operator": { + "version": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "requires": { - "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz" - }, - "dependencies": { - "loader-utils": { - "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha512-gkD9aSEG9UGglyPcDJqY9YBTUtCLKaBK6ihD2VP1d1X60lTfFspNZNulGBBbUZLkPygy4LySYHyxBpq+VhjObQ==", - "requires": { - "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", - "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz" - } - } + "babel-helper-builder-binary-assignment-operator-visitor": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "babel-plugin-syntax-exponentiation-operator": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "coffee-react-transform": { - "version": "https://registry.npmjs.org/coffee-react-transform/-/coffee-react-transform-3.3.0.tgz", - "integrity": "sha512-C8og5Uf5T2OdI0ruOz/+BRE/8UtTXtKwE00vOReZNQTsmz1CuNsPLmxPZAPC93xJU43IPJiihB/0OYViRxbNOw==" - }, - "coffee-script": { - "version": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.6.tgz", - "integrity": "sha512-9hAWNY9h45QJeVq06STIRCzUY12rlyGnZVgxw6p5RXW7z0QrmoSZXx/3ixDwALevs/b8244CIuXY/t1Lrv+KHw==" - }, - "color": { - "version": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "integrity": "sha512-Ajpjd8asqZ6EdxQeqGzU5WBhhTfJ/0cA4Wlbre7e5vXfmDSmda7Ov6jeKoru+b0vHcb1CqvuroTHp5zIWzhVMA==", + "babel-plugin-transform-flow-strip-types": { + "version": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", + "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", "requires": { - "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", - "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", - "color-string": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz" + "babel-plugin-syntax-flow": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "color-convert": { - "version": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", - "integrity": "sha512-cBdgwBveAUUexnimWkdqoTDizLaNhyWPRTvsNQI7eg2k5Y8sqQzymwc2V0qGhX0QdsPS9pqR5nOxEiMAE7SmHQ==", + "babel-plugin-transform-object-rest-spread": { + "version": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz", + "integrity": "sha1-h11ryb52HFiirj/u5dxIldjH+SE=", "requires": { - "color-name": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + "babel-plugin-syntax-object-rest-spread": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "color-name": { - "version": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "babel-plugin-transform-react-display-name": { + "version": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", + "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", + "requires": { + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + } }, - "color-string": { - "version": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", - "integrity": "sha512-sz29j1bmSDfoAxKIEU6zwoIZXN6BrFbAMIhfYCNyiZXBDuU/aiHlN84lp/xDzL2ubyFhLDobHIlU1X70XRrMDA==", + "babel-plugin-transform-react-jsx": { + "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", + "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", "requires": { - "color-name": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + "babel-helper-builder-react-jsx": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.24.1.tgz", + "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "colormin": { - "version": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", - "integrity": "sha512-XSEQUUQUR/lXqGyddiNH3XYFUPYlYr1vXy9rTFMsSOw+J7Q6EQkdlQIrTlYn4TccpsOaUE1PYQNjBn20gwCdgQ==", + "babel-plugin-transform-react-jsx-self": { + "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", + "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", "requires": { - "color": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "css-color-names": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz" + "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" } }, - "colors": { - "version": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==" + "babel-plugin-transform-react-jsx-source": { + "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", + "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", + "requires": { + "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + } }, - "combined-stream": { - "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha512-JgSRe4l4UzPwpJuxfcPWEK1SCrL4dxNjp1uqrQLMop3QZUVo+hDU8w9BJKA4JPbulTWI+UzrI2UA3tK12yQ6bg==", + "babel-plugin-transform-regenerator": { + "version": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz", + "integrity": "sha1-uNowWtQ8PJm0hI5P5AN7dw0jxBg=", "requires": { - "delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + "regenerator-transform": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.11.tgz" } }, - "commander": { - "version": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" + "babel-plugin-transform-strict-mode": { + "version": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "requires": { + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz" + } }, - "commondir": { - "version": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + "babel-polyfill": { + "version": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", + "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", + "requires": { + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz" + }, + "dependencies": { + "core-js": { + "version": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=" + } + } }, - "commoner": { - "version": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", - "integrity": "sha512-3/qHkNMM6o/KGXHITA14y78PcfmXh4+AOCJpSoF73h4VY1JpdGv3CHMS5+JW6SwLhfJt4RhNmLAa7+RRX/62EQ==", + "babel-preset-es2015": { + "version": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", "requires": { - "commander": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "detective": "https://registry.npmjs.org/detective/-/detective-4.5.0.tgz", - "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", - "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "private": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", - "q": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", - "recast": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz" + "babel-plugin-check-es2015-constants": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "babel-plugin-transform-es2015-arrow-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "babel-plugin-transform-es2015-block-scoped-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "babel-plugin-transform-es2015-block-scoping": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz", + "babel-plugin-transform-es2015-classes": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "babel-plugin-transform-es2015-computed-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "babel-plugin-transform-es2015-destructuring": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "babel-plugin-transform-es2015-duplicate-keys": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "babel-plugin-transform-es2015-for-of": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "babel-plugin-transform-es2015-function-name": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "babel-plugin-transform-es2015-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "babel-plugin-transform-es2015-modules-amd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "babel-plugin-transform-es2015-modules-commonjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz", + "babel-plugin-transform-es2015-modules-systemjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "babel-plugin-transform-es2015-modules-umd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "babel-plugin-transform-es2015-object-super": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "babel-plugin-transform-es2015-parameters": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "babel-plugin-transform-es2015-shorthand-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "babel-plugin-transform-es2015-spread": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "babel-plugin-transform-es2015-sticky-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "babel-plugin-transform-es2015-template-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "babel-plugin-transform-es2015-typeof-symbol": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "babel-plugin-transform-es2015-unicode-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "babel-plugin-transform-regenerator": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz" } }, - "compressible": { - "version": "https://registry.npmjs.org/compressible/-/compressible-2.0.10.tgz", - "integrity": "sha512-SxYuuEiAOQlkIlqzAJj3FHYzE5ygJH6rnYQHtPK8wv1+Qh4gPK+BKMH4v11rurD19Mm7M9+/ViDbN5+qo15QGw==", + "babel-preset-flow": { + "version": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", + "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", "requires": { - "mime-db": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz" + "babel-plugin-transform-flow-strip-types": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz" } }, - "compression": { - "version": "https://registry.npmjs.org/compression/-/compression-1.7.0.tgz", - "integrity": "sha512-EzpIPZX++rTQylMht3iaYigq2NNJbI/e9VaDzR8sLi8vgOCHpvLT93GuvsGYW2ANEd14Ax2nI1Ydi9L5ykGeig==", + "babel-preset-react": { + "version": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", + "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", "requires": { - "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", - "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.5.0.tgz", - "compressible": "https://registry.npmjs.org/compressible/-/compressible-2.0.10.tgz", - "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "vary": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz" + "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "babel-plugin-transform-react-display-name": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", + "babel-plugin-transform-react-jsx": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", + "babel-plugin-transform-react-jsx-self": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", + "babel-plugin-transform-react-jsx-source": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", + "babel-preset-flow": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz" } }, - "compression-webpack-plugin": { - "version": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-0.2.0.tgz", - "integrity": "sha512-f7yLCof4T+/OHknaogkhSQc2d89OsGI1Z8HkJCC5gFNBNRJb2pUPXnOyiV8RJ5xP9P0oqHbRYN6SQvnu6EXNGw==", + "babel-preset-stage-2": { + "version": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", "requires": { - "async": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + "babel-plugin-syntax-dynamic-import": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "babel-plugin-transform-class-properties": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "babel-plugin-transform-decorators": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "babel-preset-stage-3": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz" } }, - "concat-map": { - "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "babel-preset-stage-3": { + "version": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", + "requires": { + "babel-plugin-syntax-trailing-function-commas": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "babel-plugin-transform-async-generator-functions": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "babel-plugin-transform-async-to-generator": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "babel-plugin-transform-exponentiation-operator": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "babel-plugin-transform-object-rest-spread": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz" + } }, - "concat-stream": { - "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha512-afaQKFIg+fob6EzbytOlXZZTYrdZWaegQx2b6AWg9MoALXgctIcbRQrjcu6Wsh5801lVXaQYVwBw6vlATW0qPA==", + "babel-register": { + "version": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz", + "integrity": "sha1-fhDhOi9xBlvfrVoXh7pFvKbe118=", + "dev": true, "requires": { - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "home-or-tmp": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "source-map-support": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz" }, "dependencies": { - "isarray": { - "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - } - }, - "string_decoder": { - "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" - } + "core-js": { + "version": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "dev": true } } }, - "connect-history-api-fallback": { - "version": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz", - "integrity": "sha512-q2mFq74qXpHCIEZxrzD74fXCyTA4ndf00CYmRmK+k7+wFSq2hPQB+tgw7B2GU9SrNGb1RxxVt3+aHGTmfuH+Mw==" - }, - "console-browserify": { - "version": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha512-duS7VP5pvfsNLDvL1O4VOEbw37AI3A4ZUQYemvDlnpGrNu9tprR7BYWpDYwC0Xia0Zxz5ZupdiIrUp0GH1aXfg==", - "requires": { - "date-now": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz" - } - }, - "console-control-strings": { - "version": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" - }, - "constantinople": { - "version": "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz", - "integrity": "sha512-UnEggAQrmhxuTxlb7n1OsTtagNXWUv2CRlOogZhWOU4jLK4EJEbF8UDSNxuGu+jVtWNtO2j51ab2H1wlBIzF/w==", + "babel-runtime": { + "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", "requires": { - "acorn": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz" + "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz" }, "dependencies": { - "acorn": { - "version": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", - "integrity": "sha512-pXK8ez/pVjqFdAgBkF1YPVRacuLQ9EXBKaKWaeh58WNfMkCmZhOZzu+NtKSPD5PHmCCHheQ5cD29qM1K4QTxIg==" + "core-js": { + "version": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=" } } }, - "constants-browserify": { - "version": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" + "babel-template": { + "version": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=", + "requires": { + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", + "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" + } }, - "content-disposition": { - "version": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==" + "babel-traverse": { + "version": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", + "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=", + "requires": { + "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", + "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", + "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz", + "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "globals": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" + } }, - "content-type": { - "version": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", - "integrity": "sha512-TFmXoAjJQD7hApJpE/GttZreniTw+DYE4zlDmPRc8Q75KXrU8hFt3Qeckml/mOTVAxwbMZ3WwdEcQCzTpfV5ZA==" + "babel-types": { + "version": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", + "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=", + "requires": { + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "to-fast-properties": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz" + } }, - "convert-source-map": { - "version": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", - "integrity": "sha512-6q8sJj3dAkO4VXQNpkykQf5ZWMZPHi1xxTYE8BlbbIgQ8Gx8iHzRqaytIuuR4HRSH5Yz0EdrwdRgOHHrJ0xZqQ==", - "dev": true + "babylon": { + "version": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz", + "integrity": "sha1-Pot0AriNIsNCPhN6FXeIOxX/hpo=" }, - "cookie": { - "version": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==" + "balanced-match": { + "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "cookie-signature": { - "version": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "base62": { + "version": "https://registry.npmjs.org/base62/-/base62-1.2.0.tgz", + "integrity": "sha1-MeflYNyEbJ9EwaUx32UU2jVHQVc=" }, - "core-js": { - "version": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==" + "base64-js": { + "version": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "integrity": "sha1-qRlH2h9KUW6jjltOwOw3c2deCIY=" }, - "core-util-is": { - "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + "batch": { + "version": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" }, - "create-react-class": { - "version": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.0.tgz", - "integrity": "sha512-8XEdEaBmu01N8OBpDsonsnzcJtKNUIlwoqePr2W/xkvWcnxOpzAgP9T38B5Svxwxgt0FlYiyfAQc0DbtxsK84w==", + "bcrypt-pbkdf": { + "version": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "optional": true, "requires": { - "fbjs": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", - "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - }, - "dependencies": { - "fbjs": { - "version": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", - "integrity": "sha512-SBiP6XPiWIlX1tE5mvU/UeUFoqzJgbf+ezkl0M8D2xk4urDb+2uyjjGB10HAPluLboUqqVHtgUwwyuWakUfMgQ==", - "requires": { - "core-js": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "isomorphic-fetch": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "promise": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "setimmediate": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "ua-parser-js": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.13.tgz" - } - }, - "object-assign": { - "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - } + "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" } }, - "cross-spawn": { - "version": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha512-eZ+m1WNhSZutOa/uRblAc9Ut5MQfukFrFMtPSm3bZCA888NmMd5AWXWdgRZ80zd+pTk1P2JrGjg9pUPTvl2PWQ==", - "requires": { - "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "which": "https://registry.npmjs.org/which/-/which-1.2.14.tgz" - } + "big.js": { + "version": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", + "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=" }, - "cryptiles": { - "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==", - "requires": { - "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" - } + "binary-extensions": { + "version": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz", + "integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=" }, - "crypto-browserify": { - "version": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz", - "integrity": "sha512-9n5nGl6D8zb29Ui8Ji8pVdUIE3RUe6A9zQf2iLPjFKftnkkkJBCGb7TkYAFNjt9nfsvZTLL52CwxzS9Tw7Bujw==", + "block-stream": { + "version": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "requires": { - "browserify-aes": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz", - "pbkdf2-compat": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz", - "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz", - "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz" + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" } }, - "css": { - "version": "https://registry.npmjs.org/css/-/css-1.0.8.tgz", - "integrity": "sha512-qmTYWhHk910nQWnGqMAiWWPQlB6tESiWgNebQJmiozOAGcBAQ1+U/UzUOkhdrcshlkSRRiKWodwmVvO0OmnIGg==", - "requires": { - "css-parse": "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz", - "css-stringify": "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz" - } + "bluebird": { + "version": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", + "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=" }, - "css-color-names": { - "version": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==" + "boolbase": { + "version": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, - "css-loader": { - "version": "https://registry.npmjs.org/css-loader/-/css-loader-0.23.1.tgz", - "integrity": "sha512-626EYKVoY9Jf61On3M6uZHeu2CddHqc4F/C3b7Ingc6Z9YYeCr2QF9aVhSY3GO0SlLX48y4/m4rLkyY7BnkGnw==", + "boom": { + "version": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "requires": { - "css-selector-tokenizer": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.5.4.tgz", - "cssnano": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", - "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "lodash.camelcase": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-3.0.1.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", - "postcss-modules-extract-imports": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", - "postcss-modules-local-by-default": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "postcss-modules-scope": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "postcss-modules-values": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "source-list-map": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz" - }, - "dependencies": { - "object-assign": { - "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - } + "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" } }, - "css-parse": { - "version": "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz", - "integrity": "sha512-pfstzKVRZiHprDXdsmtfH1HYUEw22lzjuHdnpe1hscwoQvgW2C5zDQIBE0RKoALEReTn9W1ECdY8uaT/kO4VfA==" + "bourbon": { + "version": "https://registry.npmjs.org/bourbon/-/bourbon-4.3.4.tgz", + "integrity": "sha1-TaOAAp6SwMj5dkx3lFGhNLEefMM=" }, - "css-select": { - "version": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==", + "bourbon-neat": { + "version": "https://registry.npmjs.org/bourbon-neat/-/bourbon-neat-1.7.2.tgz", + "integrity": "sha1-oiixJ0R53iR20yszFTEHylBTzz0=" + }, + "brace-expansion": { + "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "requires": { - "boolbase": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "css-what": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", - "domutils": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "nth-check": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz" + "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" } }, - "css-selector-tokenizer": { - "version": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.5.4.tgz", - "integrity": "sha512-4KF0VPHT7x/rSPnmUJ/wSzx1AVRnQAUVcuHJnlR2vo8ZKKp1oSh77iD7S/0PSwvMlBIdre0cTeFwWKvq7pn3KA==", + "braces": { + "version": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { - "cssesc": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "fastparse": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz" + "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "preserve": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz" } }, - "css-stringify": { - "version": "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz", - "integrity": "sha512-aIThpcErhG5EyHorGqNlTh0TduNBqLrrXLO3x5rku3ZKBxuVfY+T7noyM2G2X/01iQANqJUb6d3+FLoa+N7Xwg==" - }, - "css-what": { - "version": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", - "integrity": "sha512-HtdI8TqiYjVrBI0C2VLF8fwphIa49EaHPVo64hrX+QHCPBtjp2FW1g4+jNeC6v7bBSr2z7v2USnQ6GU+VPOzgQ==" + "browserify-aes": { + "version": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz", + "integrity": "sha1-BnFJtmjfMcS1hTPgLQHoBthgjiw=", + "requires": { + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + } }, - "cssesc": { - "version": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha512-72avb2vCIsNDBlSMYuxt2Cmg6Z4TTGqifblGs7IXGihhuEzghCb9Pu1Y6vzVPLC03OTXnAKsTm92ChZd4uzVBQ==" + "browserify-zlib": { + "version": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "requires": { + "pako": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz" + } }, - "cssnano": { - "version": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", - "integrity": "sha512-0o0IMQE0Ezo4b41Yrm8U6Rp9/Ag81vNXY1gZMnT1XhO4DpjEf2utKERqWJbOoz3g1Wdc1d3QSta/cIuJ1wSTEg==", + "browserslist": { + "version": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "autoprefixer": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", - "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", - "postcss-calc": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", - "postcss-colormin": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", - "postcss-convert-values": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", - "postcss-discard-comments": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", - "postcss-discard-duplicates": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", - "postcss-discard-empty": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", - "postcss-discard-overridden": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", - "postcss-discard-unused": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", - "postcss-filter-plugins": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", - "postcss-merge-idents": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", - "postcss-merge-longhand": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", - "postcss-merge-rules": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", - "postcss-minify-font-values": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", - "postcss-minify-gradients": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", - "postcss-minify-params": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", - "postcss-minify-selectors": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", - "postcss-normalize-charset": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", - "postcss-normalize-url": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", - "postcss-ordered-values": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", - "postcss-reduce-idents": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", - "postcss-reduce-initial": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", - "postcss-reduce-transforms": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", - "postcss-svgo": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", - "postcss-unique-selectors": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", - "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "postcss-zindex": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz" - }, - "dependencies": { - "object-assign": { - "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - } + "caniuse-db": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000701.tgz", + "electron-to-chromium": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz" } }, - "csso": { - "version": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", - "integrity": "sha512-FmCI/hmqDeHHLaIQckMhMZneS84yzUZdrWDAvJVVxOwcKE1P1LF9FGmzr1ktIQSxOw6fl3PaQsmfg+GN+VvR3w==", + "buffer": { + "version": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "clap": "https://registry.npmjs.org/clap/-/clap-1.2.0.tgz", - "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" + "base64-js": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "ieee754": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", + "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" }, "dependencies": { - "source-map": { - "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==" + "isarray": { + "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" } } }, - "currently-unhandled": { - "version": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", + "builtin-modules": { + "version": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + }, + "builtin-status-codes": { + "version": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "bytes": { + "version": "https://registry.npmjs.org/bytes/-/bytes-2.5.0.tgz", + "integrity": "sha1-TJQj6i0lLCcMQbK97+/5u2tiwGo=" + }, + "caller-path": { + "version": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "requires": { - "array-find-index": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" + "callsites": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz" } }, - "d": { - "version": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha512-9x1NruMD5YQ7xccKbGEy/bjitRfn5LEIhJIXIOAXC8I1laA5gfezUMVES1/vjLxfGzZjirLLBzEqxMO2/LzGxQ==", + "callsites": { + "version": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=" + }, + "camel-case": { + "version": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "requires": { - "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz" + "no-case": "https://registry.npmjs.org/no-case/-/no-case-2.3.1.tgz", + "upper-case": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz" } }, - "dashdash": { - "version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "camelcase": { + "version": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "camelcase-keys": { + "version": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "requires": { - "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" }, "dependencies": { - "assert-plus": { - "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" + "camelcase": { + "version": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" } } }, - "date-now": { - "version": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha512-AsElvov3LoNB7tf5k37H2jYSB+ZZPMT5sG2QjJCcdlV5chIv6htBUBUui2IKRjgtKAKtCBN7Zbwa+MtwLjSeNw==" - }, - "debug": { - "version": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha512-E22fsyWPt/lr4/UgQLt/pXqerGMDsanhbnmqIS3VAXuDi1v3IpiwXe2oncEIondHSBuPDWRoK/pMjlvi8FuOXQ==", + "caniuse-api": { + "version": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", "requires": { - "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + "browserslist": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "caniuse-db": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000701.tgz", + "lodash.memoize": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "lodash.uniq": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" } }, - "decamelize": { - "version": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + "caniuse-db": { + "version": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000701.tgz", + "integrity": "sha1-LjKwaZO/Pb2QtD2T8E4m0Rr93Lo=" }, - "deep-is": { - "version": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha512-GtxAN4HvBachZzm4OnWqc45ESpUCMwkYcsjnsPs23FwJbsO+k4t0k9bQCgOmzIlpHO28+WPK/KRbRk0DDHuuDw==" + "caseless": { + "version": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, - "defined": { - "version": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==" + "cdnizer": { + "version": "https://registry.npmjs.org/cdnizer/-/cdnizer-1.1.6.tgz", + "integrity": "sha1-wVGF0b7UKwPppFqp+lWObYcr0Sw=", + "requires": { + "cdnjs-cdn-data": "https://registry.npmjs.org/cdnjs-cdn-data/-/cdnjs-cdn-data-0.1.2.tgz", + "google-cdn-data": "https://registry.npmjs.org/google-cdn-data/-/google-cdn-data-0.1.25.tgz", + "jsdelivr-cdn-data": "https://registry.npmjs.org/jsdelivr-cdn-data/-/jsdelivr-cdn-data-0.1.1.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "nomnom": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz" + }, + "dependencies": { + "lodash": { + "version": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=" + } + } }, - "del": { - "version": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha512-Z4fzpbIRjOu7lO5jCETSWoqUDVe0IPOlfugBsF6suen2LKDlVb4QZpKEM9P+buNJ4KI1eN7I083w/pbKUpsrWQ==", + "cdnjs-cdn-data": { + "version": "https://registry.npmjs.org/cdnjs-cdn-data/-/cdnjs-cdn-data-0.1.2.tgz", + "integrity": "sha1-hl00uk5I3Rtz/WaOJKYaWt+biyE=", "requires": { - "globby": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "is-path-cwd": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "is-path-in-cwd": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz" + "semver": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz" }, "dependencies": { - "object-assign": { - "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "semver": { + "version": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", + "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=" } } }, - "delayed-stream": { - "version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "center-align": { + "version": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "lazy-cache": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz" + } }, - "delegates": { - "version": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + "chalk": { + "version": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "has-ansi": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + } }, - "depd": { - "version": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", - "integrity": "sha512-SN03SKT2SwhaAKUnRJ47Scnys7ZL2FuogA/6s9u5+58RAyqhsI2HBDZymMB0omazkYVBAwBHW9ONcjd4iZ8hDQ==" + "character-parser": { + "version": "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz", + "integrity": "sha1-wN3kqxgnE7kZuXCVmhI+zBow/NY=" }, - "destroy": { - "version": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==" + "chokidar": { + "version": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "requires": { + "anymatch": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", + "async-each": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "is-binary-path": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "readdirp": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz" + } }, - "detect-indent": { - "version": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", - "dev": true, + "circular-json": { + "version": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz", + "integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=" + }, + "cjsx-loader": { + "version": "https://registry.npmjs.org/cjsx-loader/-/cjsx-loader-2.1.0.tgz", + "integrity": "sha1-14OVnJfX4dN0tE2qvvZcoIs6Ozs=", "requires": { - "repeating": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" + "coffee-react-transform": "https://registry.npmjs.org/coffee-react-transform/-/coffee-react-transform-3.3.0.tgz", + "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" } }, - "detective": { - "version": "https://registry.npmjs.org/detective/-/detective-4.5.0.tgz", - "integrity": "sha512-+asa9kUmHJNNUj5rsWwYSwQY3IU4bwdzJvy9VsHWa4O+kxgRPCn3tWrVF/KookvhQ+D4TZuMBkEkFLhMhEErXg==", + "clap": { + "version": "https://registry.npmjs.org/clap/-/clap-1.2.0.tgz", + "integrity": "sha1-WckP4+E3EEdG/xlGmiemNP9oyFc=", "requires": { - "acorn": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz" + "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" } }, - "doctrine": { - "version": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha512-lsGyRuYr4/PIB0txi+Fy2xOMI2dGaTguCaotzFGkVZuKR5usKfcRWIFKNM3QNrU7hh/+w2bwTW+ZeXPK5l8uVg==", + "classnames": { + "version": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", + "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0=" + }, + "clean-css": { + "version": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.7.tgz", + "integrity": "sha1-ua6k+FZ5iJzz6ui0A0nsTr390DI=", "requires": { - "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" }, "dependencies": { - "isarray": { - "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "source-map": { + "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" } } }, - "dom-converter": { - "version": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", - "integrity": "sha512-I9NW33o3V92b9u0AAZQnn0Q422DhQfNPH4enTExENtXfroxVfVIEcdeJfNe41ROHye3+ZzkNIg2uvsFNE6U8ZA==", + "cli-cursor": { + "version": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", "requires": { - "utila": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz" - }, - "dependencies": { - "utila": { - "version": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", - "integrity": "sha512-GuhEdYpNPM2Hn9fC78j9urwuXpPuUbBsB4Gw19Jd/RA/Q4x7kHmlY3xLwhzF9GxK6aIX5vojQmlfC7+5pthD9g==" - } + "restore-cursor": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" } }, - "dom-serializer": { - "version": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha512-Fql7PX6CmQNVmoLfp7DlmvFMIL5cwLbm302SycA2iAMr95t1ITX4ilIsUG75rYtMiVLb4EMC5b2o7ApEpIXROg==", + "cli-width": { + "version": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", + "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=" + }, + "cliui": { + "version": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "requires": { - "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "entities": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" + "center-align": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "right-align": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" }, "dependencies": { - "domelementtype": { - "version": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha512-zEvAAsFY0DeHkrqWBRkSsmgaE7yADgpez40JUFjISb+uzSinl2F6QbG4lMEBE4P06gCGF6VnsykmbNgu7ZIHzA==" + "wordwrap": { + "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" } } }, - "domain-browser": { - "version": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha512-fJ5MoHxe69h3E4/lJtFRhcWwLb04bhIBSfvCEMS1YDH+/9yEZTqBHTSTgch8nCP5tE5k2gdQEjodUqJzy7qJ9Q==" + "clone": { + "version": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=" }, - "domelementtype": { - "version": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha512-hhqPxYi0xK5i9fBMHEgWFxicJy62e5nxy0NdnjGE+DqovMcUsUbIPSkBzZ2O6PwYuwNGTf7bh/DMKmMdATSsTg==" + "co": { + "version": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" }, - "domhandler": { - "version": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", - "integrity": "sha512-4Qr6GTzdsnKVGdYferZT3na5zkswztvfsoyprP/j2bLf1l3pUTamwYvNVldkEYFG6Ll+3eV5mVk0zgRr6iI+SA==", + "coa": { + "version": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", "requires": { - "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz" + "q": "https://registry.npmjs.org/q/-/q-1.5.0.tgz" } }, - "domutils": { - "version": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", - "requires": { - "dom-serializer": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz" - } + "code-point-at": { + "version": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, - "duplexer2": { - "version": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==", + "coffee-loader": { + "version": "https://registry.npmjs.org/coffee-loader/-/coffee-loader-0.7.3.tgz", + "integrity": "sha1-+tvG79b8fsyIxbMEaiwpIGa8tUo=", "requires": { - "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" + "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz" }, "dependencies": { - "readable-stream": { - "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "loader-utils": { + "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "requires": { - "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", + "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz" } } } }, - "ecc-jsbn": { - "version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha512-8Pvg9QY16SYajEL9W1Lk+9yM7XCK/MOq2wibslLZYAAEEkbAIO6mLkW+GFYbvvw8qTuDFzFMg40rS9IxkNCWPg==", - "optional": true, - "requires": { - "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" - } - }, - "ee-first": { - "version": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "electron-to-chromium": { - "version": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz", - "integrity": "sha512-jufgWf20QKiINjJtGB805B0rp8Tin5p6AYlEJWhtuzlKPgLXIIO/A/lpPPo2XFFouEqlySAshEPTl3+YEz3L9Q==" - }, - "emojis-list": { - "version": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==" + "coffee-react-transform": { + "version": "https://registry.npmjs.org/coffee-react-transform/-/coffee-react-transform-3.3.0.tgz", + "integrity": "sha1-8fkPoi3o12f8onk+O3Dw99ei5Gc=" }, - "encodeurl": { - "version": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "integrity": "sha512-Emsft8lNRSZ7+fFm2KgTM8OZPcfHip/hNMSkje83n+LqPx5tI4xkCxyunJIG3EZsWHz9sqzohiPR6monRXWD8g==" + "coffee-script": { + "version": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.6.tgz", + "integrity": "sha1-KFo/cRVokGUGTWv570Vy22ZpXL8=" }, - "encoding": { - "version": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha512-bl1LAgiQc4ZWr++pNYUdRe/alecaHFeHxIJ/pNciqGdKXghaTCOwKkbKp6ye7pKZGu/GcaSXFk8PBVhgs+dJdA==", + "color": { + "version": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", "requires": { - "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz" + "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", + "color-string": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz" } }, - "enhanced-resolve": { - "version": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", - "integrity": "sha512-kxpoMgrdtkXZ5h0SeraBS1iRntpTpQ3R8ussdb38+UAFnMGX5DDyJXePm+OCHOcoXvHDw7mc2erbJBpDnl7TPw==", + "color-convert": { + "version": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", + "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", "requires": { - "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", - "tapable": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz" - }, - "dependencies": { - "memory-fs": { - "version": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", - "integrity": "sha512-+y4mDxU4rvXXu5UDSGCGNiesFmwCHuefGMoPCO1WYucNYj7DsLqrFaa2fXVI0H+NNiPTwwzKwspn9yTZqUGqng==" - } + "color-name": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" } }, - "ent": { - "version": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==" - }, - "entities": { - "version": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha512-bWStsIg5+vWzgtKoA/pkAIJzRAeUatnImqcK4CyHd2KoNq3fCg/tHDoE/7e81yRq9Xg8XUSvAcsSaMCp4a3HuQ==" + "color-name": { + "version": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, - "envify": { - "version": "https://registry.npmjs.org/envify/-/envify-3.4.1.tgz", - "integrity": "sha512-XLiBFsLtNF0MOZl+vWU59yPb3C2JtrQY2CNJn22KH75zPlHWY5ChcAQuf4knJeWT/lLkrx3sqvhP/J349bt4Bw==", + "color-string": { + "version": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", "requires": { - "jstransform": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz", - "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + "color-name": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" } }, - "errno": { - "version": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", - "integrity": "sha512-B6ww/BgkeBIfyIaOKPMW2zteXdAeXSfOTPv6kGhl3luYw4BOTopQ0EjdGFePGdajvBjLQZq12axGLtHnrp+/Pg==", + "colormin": { + "version": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", "requires": { - "prr": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz" + "color": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "css-color-names": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz" } }, - "error-ex": { - "version": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha512-FfmVxYsm1QOFoPI2xQmNnEH10Af42mCxtGrKvS1JfDTXlPLYiAz2T+QpjHPxf+OGniMfWZah9ULAhPoKQ3SEqg==", - "requires": { - "is-arrayish": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - } + "colors": { + "version": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=" }, - "es5-ext": { - "version": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz", - "integrity": "sha512-qHKgM1mKhstIAZ1cxefVIOmWREJ2rgQv7aGg9BuCLq9G1vRjkV1K8M4LcSklsYPJwo2dqnOfb3IuNGOp3DxgUw==", + "combined-stream": { + "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", "requires": { - "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", - "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz" + "delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" } }, - "es6-iterator": { - "version": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", - "integrity": "sha512-6QdxKjEfkAutL86ORbUgbZjfmssn3hfrFZDz5utw2BH9EJWYCVVqn9dN/WvsWSzsZ7Ox/fMrHXexX96fF5vEsw==", - "requires": { - "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz", - "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz" - } + "commander": { + "version": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha1-FXFS/R56bI2YpbcVzzdt+SgARWM=" }, - "es6-map": { - "version": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==", + "commondir": { + "version": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "commoner": { + "version": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", + "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", "requires": { - "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz", - "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", - "es6-set": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" + "commander": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "detective": "https://registry.npmjs.org/detective/-/detective-4.5.0.tgz", + "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", + "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "private": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", + "q": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", + "recast": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz" } }, - "es6-set": { - "version": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha512-7S8YXIcUfPMOr3rqJBVMePAbRsD1nWeSMQ86K/lDI76S3WKXz+KWILvTIPbTroubOkZTGh+b+7/xIIphZXNYbA==", + "compressible": { + "version": "https://registry.npmjs.org/compressible/-/compressible-2.0.10.tgz", + "integrity": "sha1-/tocf3YXkScyspv4zyYlKiC57s0=", "requires": { - "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz", - "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", - "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" + "mime-db": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz" } }, - "es6-symbol": { - "version": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha512-exfuQY8UGtn/N+gL1iKkH8fpNd5sJ760nJq6mmZAHldfxMD5kX07lbQuYlspoXsuknXNv9Fb7y2GsPOnQIbxHg==", + "compression": { + "version": "https://registry.npmjs.org/compression/-/compression-1.7.0.tgz", + "integrity": "sha1-AwyfGY8WQ6BX13anOOki2kNzAS0=", "requires": { - "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz" + "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", + "bytes": "https://registry.npmjs.org/bytes/-/bytes-2.5.0.tgz", + "compressible": "https://registry.npmjs.org/compressible/-/compressible-2.0.10.tgz", + "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "on-headers": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "vary": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz" } }, - "es6-weak-map": { - "version": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha512-rx4zGKCKP7e3n3BtHemBtuJ9DCFw5jfjtdSM132RsGxlBgJvudmL/ogowl2Je/dJDbGws+od3J3PHOTAleo27w==", + "compression-webpack-plugin": { + "version": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-0.2.0.tgz", + "integrity": "sha1-zkVTpHitScvVN0yqopLJ8WvrBV8=", "requires": { - "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz", - "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", - "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz" + "async": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" } }, - "escape-html": { - "version": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "escape-string-regexp": { - "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "concat-map": { + "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "escodegen": { - "version": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", - "integrity": "sha512-z9FWgKc48wjMlpzF5ymKS1AF8OIgnKLp9VyN7KbdtyrP/9lndwUFqCtMm+TAJmJf7KJFFYc4cFJfVTTGkKEwsA==", + "concat-stream": { + "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", "requires": { - "esprima": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", - "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", - "esutils": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", - "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz" + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" }, "dependencies": { - "esprima": { - "version": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", - "integrity": "sha512-qxxB994/7NtERxgXdFgLHIs9M6bhLXc6qtUmWZ3L8+gTQ9qaoyki2887P2IqAYsoENyr8SUbTutStDniOHSDHg==" - }, - "esutils": { - "version": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", - "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==" + "isarray": { + "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "source-map": { - "version": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", - "optional": true, + "readable-stream": { + "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", + "requires": { + "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + } + }, + "string_decoder": { + "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", "requires": { - "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz" + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" } } } }, - "escope": { - "version": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha512-75IUQsusDdalQEW/G/2esa87J7raqdJF+Ca0/Xm5C3Q58Nr4yVYjZGp/P1+2xiEVgXRrA39dpRb8LcshajbqDQ==", + "connect-history-api-fallback": { + "version": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz", + "integrity": "sha1-5R0X+PDvDbkKZP20feMFFVbp8Wk=" + }, + "console-browserify": { + "version": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "requires": { - "es6-map": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "es6-weak-map": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "esrecurse": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz" - }, - "dependencies": { - "estraverse": { - "version": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha512-VHvyaGnJy+FuGfcfaM7W7OZw4mQiKW73jPHwQXx2VnMSUBajYmytOT5sKEfsBvNPtGX6YDwcrGDz2eocoHg0JA==" - } + "date-now": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz" } }, - "espree": { - "version": "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz", - "integrity": "sha512-Xqn0i9fqQLP/vV+/kw/kg94qSqoQME0xuoroSuTieHOC3SoYVumn/zq+aoqc0EkK0IqiFhsfN+R+ACt6RExJgg==", + "console-control-strings": { + "version": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "constantinople": { + "version": "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz", + "integrity": "sha1-S5RdmTeQe82Y7ldRIsOBdRZUQUE=", "requires": { - "acorn": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", - "acorn-jsx": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz" + "acorn": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz" }, "dependencies": { "acorn": { - "version": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", - "integrity": "sha512-vOk6uEMctu0vQrvuSqFdJyqj1Q0S5VTDL79qtjo+DhRr+1mmaD+tluFSCZqhvi/JUhXSzoZN2BhtstaPEeE8cw==" + "version": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=" } } }, - "esprima-fb": { - "version": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz", - "integrity": "sha512-59dDGQo2b3M/JfKIws0/z8dcXH2mnVHkfSPRhCYS91JNGfGNwr7GsSF6qzWZuOGvw5Ii0w9TtylrX07MGmlOoQ==" + "constants-browserify": { + "version": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" }, - "esrecurse": { - "version": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha512-TLXkx8hhh1f3PBJQAV24x0JJpOAWvGW/n2KyIRuGOpt5dcl9fuRLY8Lv3zB2psFfqJBT2ZN0Ss4aNSTf9lLqwA==", + "content-disposition": { + "version": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + }, + "content-type": { + "version": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", + "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0=" + }, + "convert-source-map": { + "version": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", + "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", + "dev": true + }, + "cookie": { + "version": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "cookie-signature": { + "version": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "core-js": { + "version": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + }, + "core-util-is": { + "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "create-react-class": { + "version": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.0.tgz", + "integrity": "sha1-q0SEl8JlZuHilBPogyB9V8/nvtQ=", "requires": { - "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "fbjs": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", + "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" }, "dependencies": { - "estraverse": { - "version": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha512-VHvyaGnJy+FuGfcfaM7W7OZw4mQiKW73jPHwQXx2VnMSUBajYmytOT5sKEfsBvNPtGX6YDwcrGDz2eocoHg0JA==" + "fbjs": { + "version": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", + "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=", + "requires": { + "core-js": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "isomorphic-fetch": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "promise": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "setimmediate": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "ua-parser-js": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.13.tgz" + } }, "object-assign": { "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" } } }, - "estraverse": { - "version": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", - "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==" - }, - "esutils": { - "version": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha512-UUPPULqkyAV+M3Shodis7l8D+IyX6V8SbaBnTb449jf3fMTd8+UOZI1Q70NbZVOQkcR91yYgdHsJiMMMVmYshg==" + "cross-spawn": { + "version": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "requires": { + "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "which": "https://registry.npmjs.org/which/-/which-1.2.14.tgz" + } }, - "etag": { - "version": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz", - "integrity": "sha512-cNpO3IDp+dpOoM+0nNZYJc3ztKz+t6jLuX2Xs87qsFIrlgAqm83zPHtgrbxIREdky8mNTB2o2gIYqx9155CQlA==" + "cryptiles": { + "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "requires": { + "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" + } }, - "event-emitter": { - "version": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "crypto-browserify": { + "version": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz", + "integrity": "sha1-ufx1u0oO1h3PHNXa6W6zDJw+UGw=", "requires": { - "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz" + "browserify-aes": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz", + "pbkdf2-compat": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz", + "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz", + "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz" } }, - "eventemitter3": { - "version": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha512-DOFqA1MF46fmZl2xtzXR3MPCRsXqgoFqdXcrCVYM3JNnfUeHTm/fh/v/iU7gBFpwkuBmoJPAm5GuhdDfSEJMJA==" + "css": { + "version": "https://registry.npmjs.org/css/-/css-1.0.8.tgz", + "integrity": "sha1-k4aBHKgrzMnuf7WnMrHioxfIo+c=", + "requires": { + "css-parse": "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz", + "css-stringify": "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz" + } }, - "events": { - "version": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" + "css-color-names": { + "version": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" }, - "eventsource": { - "version": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", - "integrity": "sha512-bbB5tEuvC+SuRUG64X8ghvjgiRniuA4WlehWbFnoN4z6TxDXpyX+BMHF7rMgZAqoe+EbyNRUbHN0uuP9phy5jQ==", + "css-loader": { + "version": "https://registry.npmjs.org/css-loader/-/css-loader-0.23.1.tgz", + "integrity": "sha1-n6I/K1wJZSNZEK1ezvO4o2OQ/lA=", "requires": { - "original": "https://registry.npmjs.org/original/-/original-1.0.0.tgz" + "css-selector-tokenizer": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.5.4.tgz", + "cssnano": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "lodash.camelcase": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-3.0.1.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", + "postcss-modules-extract-imports": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", + "postcss-modules-local-by-default": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "postcss-modules-scope": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "postcss-modules-values": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "source-list-map": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz" + }, + "dependencies": { + "object-assign": { + "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + } } }, - "exit-hook": { - "version": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==" + "css-parse": { + "version": "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz", + "integrity": "sha1-OLBQP7+dqfVOnB29pg4UXHcRe90=" }, - "expand-brackets": { - "version": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==", + "css-select": { + "version": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "requires": { - "is-posix-bracket": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz" + "boolbase": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "css-what": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", + "domutils": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "nth-check": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz" } }, - "expand-range": { - "version": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", + "css-selector-tokenizer": { + "version": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.5.4.tgz", + "integrity": "sha1-E5uv00o1/QwUKEhwSeBpnm9qLCE=", "requires": { - "fill-range": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz" + "cssesc": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "fastparse": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz" } }, - "express": { - "version": "https://registry.npmjs.org/express/-/express-4.15.3.tgz", - "integrity": "sha512-eyQPXY6coAN6NpdZhXZsAvoGSvWZtYq1S6YCBA86+RTwzzecvLvgPR/Jm+MR0otFUzLnmI/lfv79aoIMDpWW8w==", + "css-stringify": { + "version": "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz", + "integrity": "sha1-sNBClG2ylTu50pKQCmy19tASIDE=" + }, + "css-what": { + "version": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", + "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=" + }, + "cssesc": { + "version": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=" + }, + "cssnano": { + "version": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", "requires": { - "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", - "array-flatten": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "content-disposition": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", - "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "cookie-signature": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "debug": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", - "depd": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", - "encodeurl": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "etag": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz", - "finalhandler": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz", - "fresh": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz", - "merge-descriptors": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "methods": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", - "path-to-regexp": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "proxy-addr": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.4.tgz", - "qs": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "range-parser": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "send": "https://registry.npmjs.org/send/-/send-0.15.3.tgz", - "serve-static": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz", - "setprototypeof": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "type-is": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "utils-merge": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "vary": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz" + "autoprefixer": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", + "postcss-calc": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "postcss-colormin": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "postcss-convert-values": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "postcss-discard-comments": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "postcss-discard-duplicates": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "postcss-discard-empty": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "postcss-discard-overridden": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "postcss-discard-unused": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "postcss-filter-plugins": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", + "postcss-merge-idents": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "postcss-merge-longhand": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "postcss-merge-rules": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "postcss-minify-font-values": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "postcss-minify-gradients": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "postcss-minify-params": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "postcss-minify-selectors": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "postcss-normalize-charset": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "postcss-normalize-url": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "postcss-ordered-values": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "postcss-reduce-idents": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "postcss-reduce-initial": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "postcss-reduce-transforms": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "postcss-svgo": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "postcss-unique-selectors": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "postcss-zindex": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz" }, "dependencies": { - "debug": { - "version": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", - "integrity": "sha512-7YoSmTDGnXYkFJOvaYXfxcvNE25Y11uZ0X8Mo+pSXjHz/9WUlbCS4O6q+wj7lhubdNQQXxxsSOnlqlDG8SenXQ==", - "requires": { - "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - } - }, - "qs": { - "version": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha512-Qs6dfgR5OksK/PSxl1kGxiZgEQe8RqJMB9wZqVlKQfU+zzV+HY77pWJnoJENACKDQByWdpr8ZPIh1TBi4lpiSQ==" + "object-assign": { + "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + } + } + }, + "csso": { + "version": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "requires": { + "clap": "https://registry.npmjs.org/clap/-/clap-1.2.0.tgz", + "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" + }, + "dependencies": { + "source-map": { + "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" } } }, - "extend": { - "version": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha512-u1aUSYGdAQxyguoP919qsgj24krDCtaO/DJFNPwFmojMmKp14gtCTVsc8lQSqRDFrwAch+mxMWC8/6ZJPz5Hpw==" + "currently-unhandled": { + "version": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "requires": { + "array-find-index": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" + } }, - "extglob": { - "version": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==", + "d": { + "version": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "requires": { - "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz" + "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz" } }, - "extract-text-webpack-plugin": { - "version": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-0.9.1.tgz", - "integrity": "sha512-V/frRUkP87cGy6gG+PetSeUYqpwKjfYBpMJXY4RCh5eWCyNhj4QsVqWx9rZea3C9nxRNuLDCCetJWGgdadBjrw==", + "dashdash": { + "version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" + "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" }, "dependencies": { - "async": { - "version": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" + "assert-plus": { + "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" } } }, - "extsprintf": { - "version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha512-g21Br4ELmVaKCVSUSSTXecKG+MiLcHFoby5RPPUmfZdhQTontXUOPf0QK/TvreRjgItRiyO928zxR4TCrnuwmA==" + "date-now": { + "version": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" }, - "falafel": { - "version": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", - "integrity": "sha512-6WM5fROvojK2PNz5l6pnkbkjiRRsSIRwiaavq0rywy1oLOcFrx5fBTgpDyUNG4TdqtKNM002FuoT/I2ww0XBqw==", + "debug": { + "version": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", "requires": { - "acorn": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", - "foreach": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz" + "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + } + }, + "decamelize": { + "version": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "deep-is": { + "version": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "defined": { + "version": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, + "del": { + "version": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "requires": { + "globby": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "is-path-cwd": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "is-path-in-cwd": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz" }, "dependencies": { - "acorn": { - "version": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", - "integrity": "sha512-vOk6uEMctu0vQrvuSqFdJyqj1Q0S5VTDL79qtjo+DhRr+1mmaD+tluFSCZqhvi/JUhXSzoZN2BhtstaPEeE8cw==" - }, - "object-keys": { - "version": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha512-I0jUsqFqmQFOIhQQFlW8QDuX3pVqUWkiiavYj8+TBiS7m+pM9hPCxSnYWqL1hHMBb7BbQ2HidT+6CZ8/BT/ilw==" + "object-assign": { + "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" } } }, - "fast-levenshtein": { - "version": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "delayed-stream": { + "version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, - "fastparse": { - "version": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", - "integrity": "sha512-rAsw6GG6EgEehUbofs7Aq5RZTJ8qGAVcujXrbf5CjJbk4Vo75IFlqkMamG4bbKwIWAvyQpAZ/CpW9tEj0eaTHQ==" + "delegates": { + "version": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, - "faye-websocket": { - "version": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==", + "depd": { + "version": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", + "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=" + }, + "destroy": { + "version": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-indent": { + "version": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, "requires": { - "websocket-driver": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz" + "repeating": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" } }, - "fbjs": { - "version": "https://registry.npmjs.org/fbjs/-/fbjs-0.6.1.tgz", - "integrity": "sha512-4KW7tT33ytfazK3Ekvesbsa4A5J79hUrdXONQGZ0wM6i3PFc70YknF9kj1eyx3mDupgJ7Z+ifFhcMJ+ps2eZIw==", + "detective": { + "version": "https://registry.npmjs.org/detective/-/detective-4.5.0.tgz", + "integrity": "sha1-blqMaybmx6JUsca210kNmOyR7dE=", "requires": { - "core-js": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "promise": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "ua-parser-js": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.13.tgz", - "whatwg-fetch": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-0.9.0.tgz" + "acorn": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz" } }, - "fd-slicer": { - "version": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha512-MX1ZLPIuKED51hrI4++K+1B0VX87Cs4EkybD2q12Ysuf5p4vkmHqMvQJRlDwROqFr4D2Pzyit5wGQxf30grIcw==", + "doctrine": { + "version": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "requires": { - "pend": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" + "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "dependencies": { + "isarray": { + "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + } } }, - "figures": { - "version": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", + "dom-converter": { + "version": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", + "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", "requires": { - "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + "utila": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz" }, "dependencies": { - "object-assign": { - "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "utila": { + "version": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=" } } }, - "file-entry-cache": { - "version": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz", - "integrity": "sha512-JyVk7P0Hvw6uEAwH4Y0j+rZMvaMWvLBYRmRGAF2S6jKTycf0mMDcC7d21Y2KyrKJk3XI8YghSsk5KmRdbvg0VQ==", + "dom-serializer": { + "version": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "requires": { - "flat-cache": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "entities": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" }, "dependencies": { - "object-assign": { - "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "domelementtype": { + "version": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" } } }, - "file-loader": { - "version": "https://registry.npmjs.org/file-loader/-/file-loader-0.8.5.tgz", - "integrity": "sha512-yDylQzd/QOaMm249awSL+JjsLRDfFghwmm+YCALH0uLXqAazD/alHnhbIE+UyVtbI+bIVYVdgDApSJ9blouFDg==", + "domain-browser": { + "version": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", + "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" + }, + "domelementtype": { + "version": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" + }, + "domhandler": { + "version": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", + "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", "requires": { - "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" + "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz" } }, - "filename-regex": { - "version": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==" - }, - "fill-range": { - "version": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha512-P1WnpaJQ8BQdSEIjEmgyCHm9ESwkO6sMu+0Moa4s0u9B+iQ5M9tBbbCYvWmF7vRvqyMO2ENqC+w4Hev8wErQcg==", + "domutils": { + "version": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "requires": { - "is-number": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "isobject": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "randomatic": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + "dom-serializer": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz" } }, - "finalhandler": { - "version": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz", - "integrity": "sha512-Crb5GWw1cfFnZlZ3LJYAQCMbrfsKoV7+DNSvCQpwbybd+8tkrjHad5JuCJhunq8gJ80AqqsvbWxQSDBYxkr5tw==", + "duplexer2": { + "version": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", "requires": { - "debug": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", - "encodeurl": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", - "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" }, "dependencies": { - "debug": { - "version": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", - "integrity": "sha512-7YoSmTDGnXYkFJOvaYXfxcvNE25Y11uZ0X8Mo+pSXjHz/9WUlbCS4O6q+wj7lhubdNQQXxxsSOnlqlDG8SenXQ==", + "readable-stream": { + "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { - "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" } } } }, - "find-cache-dir": { - "version": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha512-Z9XSBoNE7xQiV6MSgPuCfyMokH2K7JdpRkOYE1+mu3d4BFJtx3GW+f6Bo4q8IX6rlf5MYbLBKW0pjl2cWdkm2A==", + "ecc-jsbn": { + "version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "optional": true, "requires": { - "commondir": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "pkg-dir": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz" + "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" } }, - "find-up": { - "version": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "ee-first": { + "version": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "electron-to-chromium": { + "version": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz", + "integrity": "sha1-CDl5NIkcvPrrvRi4KpW1pIETg2k=" + }, + "emojis-list": { + "version": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "encodeurl": { + "version": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", + "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=" + }, + "encoding": { + "version": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz" } }, - "findit2": { - "version": "https://registry.npmjs.org/findit2/-/findit2-2.2.3.tgz", - "integrity": "sha512-lg/Moejf4qXovVutL0Lz4IsaPoNYMuxt4PA0nGqFxnJ1CTTGGlEO2wKgoDpwknhvZ8k4Q2F+eesgkLbG2Mxfog==" - }, - "flat-cache": { - "version": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", - "integrity": "sha512-JzMp5lzDuF/1qgd3g+awLvXlVxAcWxL4L2NfZe9r19bwjKqGjXg5waNXG8wuP9skmVmiKhAo/lN+FDJxVKNDgQ==", + "enhanced-resolve": { + "version": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", + "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", "requires": { - "circular-json": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz", - "del": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "write": "https://registry.npmjs.org/write/-/write-0.2.1.tgz" + "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", + "tapable": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz" + }, + "dependencies": { + "memory-fs": { + "version": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", + "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=" + } } }, - "flatten": { - "version": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", - "integrity": "sha512-6u/bzbUK+6iOENlqGFkl94EqdAL/FVRhxMWbAE0OBmRsBl64BESxvVRD3CWdilAeka/3WlEZP+0MrKvtYpYFQQ==" + "ent": { + "version": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" }, - "for-in": { - "version": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" + "entities": { + "version": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" + }, + "envify": { + "version": "https://registry.npmjs.org/envify/-/envify-3.4.1.tgz", + "integrity": "sha1-1xIjKejfFoi6dxsSUBkXyc5cvOg=", + "requires": { + "jstransform": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz", + "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + } + }, + "errno": { + "version": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "requires": { + "prr": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz" + } + }, + "error-ex": { + "version": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "requires": { + "is-arrayish": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + } }, - "for-own": { - "version": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==", + "es5-ext": { + "version": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz", + "integrity": "sha1-pVh3yZJLwMjZvTwsvhdJWsFwmxQ=", "requires": { - "for-in": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" + "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", + "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz" } }, - "foreach": { - "version": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha512-ZBbtRiapkZYLsqoPyZOR+uPfto0GRMNQN1GwzZtZt7iZvPPbDDQV0JF5Hx4o/QFQ5c0vyuoZ98T8RSBbopzWtA==" + "es6-iterator": { + "version": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", + "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", + "requires": { + "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz", + "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz" + } }, - "forever-agent": { - "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" + "es6-map": { + "version": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "requires": { + "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz", + "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", + "es6-set": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" + } }, - "form-data": { - "version": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ==", + "es6-set": { + "version": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "requires": { - "asynckit": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz" + "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz", + "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", + "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" } }, - "formatio": { - "version": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz", - "integrity": "sha512-cPh7is6k3d8tIUh+pnXXuAbD/uhSXGgqLPw0UrYpv5lfdJ+MMMSjx40JNpqP7Top9Nt25YomWEiRmkHbOvkCaA==", + "es6-symbol": { + "version": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "requires": { - "samsam": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz" + "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz" } }, - "forwarded": { - "version": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz", - "integrity": "sha512-h17abE+9l03GtF7H+Tdf/exIbFnOgiOieYrtBfleXuDTU3jGncrv4oLOIuXnFPveDuQPd9kd3MGkhKaMGoQwOA==" + "es6-weak-map": { + "version": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "requires": { + "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz", + "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", + "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz" + } }, - "fresh": { - "version": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz", - "integrity": "sha512-FveevZlqNSIBombLEB9L3WyWg74r6d0sk+unzqKmt33b5egY0YXDFWIQ/t2Fzr9mgBLL0BlL0/rdg8Oq1C0SVw==" + "escape-html": { + "version": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" }, - "fs.realpath": { - "version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "escape-string-regexp": { + "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, - "fsevents": { - "version": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", - "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==", - "optional": true, + "escodegen": { + "version": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", + "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", "requires": { - "nan": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz", - "node-pre-gyp": "0.6.36" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", - "optional": true - }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "aproba": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", - "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=", - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "optional": true - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "optional": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "requires": { - "delayed-stream": "1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "optional": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "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": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "optional": true - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", - "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "optional": true, - "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "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": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "optional": true - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "optional": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "optional": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", - "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", - "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", - "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=" - }, - "mime-types": { - "version": "2.1.15", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", - "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.36", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz", - "integrity": "sha1-22BBEst04NR3VU6bUFsXq936t4Y=", - "optional": true, - "requires": { - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } + "esprima": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", + "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "esutils": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz" + }, + "dependencies": { + "esprima": { + "version": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", + "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=" }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } + "esutils": { + "version": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=" }, - "npmlog": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz", - "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==", + "source-map": { + "version": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "optional": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz" } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "optional": true + } + } + }, + "escope": { + "version": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "requires": { + "es6-map": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "es6-weak-map": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "esrecurse": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz" + }, + "dependencies": { + "estraverse": { + "version": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + } + } + }, + "espree": { + "version": "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz", + "integrity": "sha1-KRC1zNSc6JPC//+qtP2LOjG4I3Q=", + "requires": { + "acorn": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", + "acorn-jsx": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz" + }, + "dependencies": { + "acorn": { + "version": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", + "integrity": "sha1-U/4WERH5EquZnuiHqQoLxSgi/XU=" + } + } + }, + "esprima-fb": { + "version": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz", + "integrity": "sha1-MKlHMDxrjV6VW+4rmbHSMyBqaQE=" + }, + "esrecurse": { + "version": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "requires": { + "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + }, + "dependencies": { + "estraverse": { + "version": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" }, "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "optional": true - }, - "osenv": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", - "optional": true, + "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + } + } + }, + "estraverse": { + "version": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=" + }, + "esutils": { + "version": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "etag": { + "version": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz", + "integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE=" + }, + "event-emitter": { + "version": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "requires": { + "d": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz" + } + }, + "eventemitter3": { + "version": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", + "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=" + }, + "events": { + "version": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "eventsource": { + "version": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "requires": { + "original": "https://registry.npmjs.org/original/-/original-1.0.0.tgz" + } + }, + "exit-hook": { + "version": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=" + }, + "expand-brackets": { + "version": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz" + } + }, + "expand-range": { + "version": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "requires": { + "fill-range": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz" + } + }, + "express": { + "version": "https://registry.npmjs.org/express/-/express-4.15.3.tgz", + "integrity": "sha1-urZdDwOqgMNYQIly/HAPkWlEtmI=", + "requires": { + "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", + "array-flatten": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "content-disposition": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "content-type": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", + "cookie": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "cookie-signature": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "debug": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", + "depd": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", + "encodeurl": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", + "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "etag": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz", + "finalhandler": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz", + "fresh": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz", + "merge-descriptors": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "methods": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", + "path-to-regexp": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "proxy-addr": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.4.tgz", + "qs": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "range-parser": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "send": "https://registry.npmjs.org/send/-/send-0.15.3.tgz", + "serve-static": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz", + "setprototypeof": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "type-is": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", + "utils-merge": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", + "vary": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz" + }, + "dependencies": { + "debug": { + "version": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", + "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=", "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" } }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "optional": true - }, "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", - "optional": true - }, - "rc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", - "optional": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", - "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=" - }, - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "optional": true - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "optional": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz", - "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=", - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "optional": true - } - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", - "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", - "requires": { - "safe-buffer": "5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "optional": true - }, - "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz", - "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=", - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "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": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", - "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=", - "optional": true - }, - "verror": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } + "version": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=" + } + } + }, + "extend": { + "version": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "extglob": { + "version": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz" + } + }, + "extract-text-webpack-plugin": { + "version": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-0.9.1.tgz", + "integrity": "sha1-723FCMs17Q3PikAJq76FP3p2IrU=", + "requires": { + "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" + }, + "dependencies": { + "async": { + "version": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + } + } + }, + "extsprintf": { + "version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=" + }, + "falafel": { + "version": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", + "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", + "requires": { + "acorn": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", + "foreach": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz" + }, + "dependencies": { + "acorn": { + "version": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", + "integrity": "sha1-U/4WERH5EquZnuiHqQoLxSgi/XU=" }, - "wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", - "optional": true, + "object-keys": { + "version": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" + } + } + }, + "fast-levenshtein": { + "version": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fastparse": { + "version": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", + "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=" + }, + "faye-websocket": { + "version": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "requires": { + "websocket-driver": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz" + } + }, + "fbjs": { + "version": "https://registry.npmjs.org/fbjs/-/fbjs-0.6.1.tgz", + "integrity": "sha1-lja3cF9bqWhNRLcveDISVK/IYPc=", + "requires": { + "core-js": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "promise": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "ua-parser-js": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.13.tgz", + "whatwg-fetch": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-0.9.0.tgz" + } + }, + "fd-slicer": { + "version": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "requires": { + "pend": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" + } + }, + "figures": { + "version": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "requires": { + "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + }, + "dependencies": { + "object-assign": { + "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + } + } + }, + "file-entry-cache": { + "version": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz", + "integrity": "sha1-RMYepgeuS+nBQC9B9EJwy/4zT/g=", + "requires": { + "flat-cache": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + }, + "dependencies": { + "object-assign": { + "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + } + } + }, + "file-loader": { + "version": "https://registry.npmjs.org/file-loader/-/file-loader-0.8.5.tgz", + "integrity": "sha1-knXQMf54DyfUf19K8CvUNxPMFRs=", + "requires": { + "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" + } + }, + "filename-regex": { + "version": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + }, + "fill-range": { + "version": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "requires": { + "is-number": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "isobject": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "randomatic": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + } + }, + "finalhandler": { + "version": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz", + "integrity": "sha1-70fneVDpmXgOhgIqVg4yF+DQzIk=", + "requires": { + "debug": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", + "encodeurl": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", + "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "on-finished": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "parseurl": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", + "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "unpipe": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + }, + "dependencies": { + "debug": { + "version": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", + "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=", "requires": { - "string-width": "1.0.2" + "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" } } }, + "find-cache-dir": { + "version": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "requires": { + "commondir": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "pkg-dir": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz" + } + }, + "find-up": { + "version": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + } + }, + "findit2": { + "version": "https://registry.npmjs.org/findit2/-/findit2-2.2.3.tgz", + "integrity": "sha1-WKRmaX34piBc39vzlVNri9d3pfY=" + }, + "flat-cache": { + "version": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", + "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", + "requires": { + "circular-json": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz", + "del": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "write": "https://registry.npmjs.org/write/-/write-0.2.1.tgz" + } + }, + "flatten": { + "version": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=" + }, + "for-in": { + "version": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" + } + }, + "foreach": { + "version": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "forever-agent": { + "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "requires": { + "asynckit": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz" + } + }, + "formatio": { + "version": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz", + "integrity": "sha1-XtPM1jZVEJc4NGXZlhmRAOhhYek=", + "requires": { + "samsam": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz" + } + }, + "forwarded": { + "version": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz", + "integrity": "sha1-Ge+YdMSuHCl7zweP3mOgm2aoQ2M=" + }, + "fresh": { + "version": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz", + "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=" + }, + "fs.realpath": { + "version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, "fstream": { "version": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha512-2Xg8XA70uvyriqd1J6T/6V74WeQWHCn65hTSAWcZgKCOCo7nN6hoqgFrYPLJ9Yzbryrp/VIruHXsDyZIqZ1SvQ==", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "requires": { "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -15396,11 +13479,11 @@ }, "function-bind": { "version": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz", - "integrity": "sha512-rdjNZR1BePD6g5bTgalqkSN9eMuHgB2KHOBupLM8f5TblXwiV8nSY31dygkdwLNFn1m2KAkjFsREUuLNcU1rdg==" + "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=" }, "gauge": { "version": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "requires": { "aproba": "https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz", "console-control-strings": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -15414,52 +13497,52 @@ "dependencies": { "object-assign": { "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" } } }, "gaze": { "version": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", - "integrity": "sha512-38Jtqi8EsWt2l0x6iiL1NWN3/llOwWEv0NC3HGb/gPHLJkLq0N2c/TtuLrSfRXHwV6VkYmxAJj9YBdF33Et5hg==", + "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", "requires": { "globule": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz" } }, "generate-function": { "version": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha512-X46lB9wLCsgkyagCmX2Dev5od5j6niCr3UeMbXVDBVO4tlpXp3o4OFh+0gPTlkD3ZMixU8PCKxf0IMGQvPo8HQ==" + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=" }, "generate-object-property": { "version": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", "requires": { "is-property": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" } }, "get-caller-file": { "version": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha512-A6srK23btrgde1mUYEzplvRPjdwkZXrHsIRNRZnG5p8ZEJHG+QB8ENw16MtH7NWiyDGiSF2giAlJpcls/y2wxQ==" + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" }, "get-stdin": { "version": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==" + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" }, "getpass": { "version": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" }, "dependencies": { "assert-plus": { "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" } } }, "glob": { "version": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "requires": { "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -15470,7 +13553,7 @@ }, "glob-base": { "version": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz" @@ -15478,18 +13561,18 @@ }, "glob-parent": { "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz" } }, "globals": { "version": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=" }, "globby": { "version": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha512-HJRTIH2EeH44ka+LWig+EqT2ONSYpVlNfx6pyd592/VF1TbfljJ7elwie7oSwcViLGqOdWocSdu2txwBF9bjmQ==", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "requires": { "array-union": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "arrify": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -15501,7 +13584,7 @@ "dependencies": { "glob": { "version": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", "requires": { "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -15513,13 +13596,13 @@ }, "object-assign": { "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" } } }, "globule": { "version": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", - "integrity": "sha512-vKZYpzBvzTaSLsgvRUL2D4fvs3jglHo8ubovdD0y11rHme/7R+BcG3oXKFSZ+kntsO68sIaZvhARCJ50RUoy2g==", + "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", "requires": { "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", @@ -15528,7 +13611,7 @@ "dependencies": { "glob": { "version": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", "requires": { "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -15542,23 +13625,23 @@ }, "google-cdn-data": { "version": "https://registry.npmjs.org/google-cdn-data/-/google-cdn-data-0.1.25.tgz", - "integrity": "sha512-a9cC1UCkJ0Se++Wd1z/iiinYy6yucreu11z3hTMFBaKbFzmukkHg0Y+GMFA6rL+FBjV2A5abBnckPYezWtQTkQ==" + "integrity": "sha1-nDwxSasYp8LV7V8PC07ovEWZK3E=" }, "graceful-fs": { "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha512-9x6DLUuW+ROFdMTII9ec9t/FK8va6kYcC8/LggumssLM8kNv7IdFl3VrNUqgir2tJuBVxBga1QBoRziZacO5Zg==" + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, "graceful-readlink": { "version": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==" + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" }, "har-schema": { "version": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ==" + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=" }, "har-validator": { "version": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw==", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", "requires": { "ajv": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", "har-schema": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz" @@ -15566,33 +13649,33 @@ }, "has": { "version": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", - "integrity": "sha512-8wpov6mGFPJ/SYWGQIFo6t0yuNWoO9MkSq3flX8LhiGmbIUhDETp9knPMcIm0Xig1ybWsw6gq2w0gCz1JHD+Qw==", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "requires": { "function-bind": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz" } }, "has-ansi": { "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" } }, "has-color": { "version": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", - "integrity": "sha512-kaNz5OTAYYmt646Hkqw50/qyxP2vFnTVu5AQ1Zmk22Kk5+4Qx6BpO8+u7IKsML5fOsFk0ZT0AcCJNYwcvaLBvw==" + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=" }, "has-flag": { "version": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==" + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "has-unicode": { "version": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "hawk": { "version": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "requires": { "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", @@ -15602,19 +13685,19 @@ }, "he": { "version": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha512-z/GDPjlRMNOa2XJiB4em8wJpuuBfrFOlYKTZxtpkdr1uPdibHI8rYA3MY0KDObpVyaes0e/aunid/t88ZI2EKA==" + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" }, "hoek": { "version": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==" + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" }, "hoist-non-react-statics": { "version": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", - "integrity": "sha512-r8huvKK+m+VraiRipdZYc+U4XW43j6OFG/oIafe7GfDbRpCduRoX9JI/DRxqgtBSCeL+et6N6ibZoedHS2NyOQ==" + "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" }, "home-or-tmp": { "version": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", @@ -15623,15 +13706,15 @@ }, "hosted-git-info": { "version": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" + "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=" }, "html-comment-regex": { "version": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", - "integrity": "sha512-H4WKUUhflen95AAoBjyj704dL92rfLp7p/No6gqnaPmy89ZyQn5jIF01PBzWWKCTyLz5/zS5EEepiv7qtWndFw==" + "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=" }, "html-minifier": { "version": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.2.tgz", - "integrity": "sha512-CpXODZQ75jOxqF5CR0vqPKV9LuHw96ijVRbEsSPTPFs4gKd5uuMNEUsAvRgz9OSXS/D4fItq0X8362oXMyjZPw==", + "integrity": "sha1-1zvD/0SJQkCIGM5gm/P7DqfvTrc=", "requires": { "camel-case": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", "clean-css": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.7.tgz", @@ -15645,7 +13728,7 @@ "dependencies": { "commander": { "version": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", "requires": { "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" } @@ -15654,7 +13737,7 @@ }, "html-webpack-plugin": { "version": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.29.0.tgz", - "integrity": "sha512-XgOxN8H7nDeLQzD9FQOWWQLVL0GDq5reeREx8jpLZcEZND7kM5j3o/mFhjOcSfZ89HwU3+yBqSQyK7ZvvYFZ/w==", + "integrity": "sha1-6Yf0IYU9O2k4yMTIFxhC5f0XryM=", "requires": { "bluebird": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", "html-minifier": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.2.tgz", @@ -15666,7 +13749,7 @@ }, "htmlparser2": { "version": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", - "integrity": "sha512-Z8i63n7seuPvRe1PQyrjmoVStv7bjMa0skrOl/k6tnT/5WpPNrzWLB1Hg/dJxBXH/M6KZvm25JQGVCiQGxURLQ==", + "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", "requires": { "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", "domhandler": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", @@ -15676,7 +13759,7 @@ "dependencies": { "domutils": { "version": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", - "integrity": "sha512-ZeagMzMKyk9GSFMqV3x3uHgRN36hLpSOF6LIRXmftce0UUqFsAx/azJAJ4Jc+9DYKmwROH5HLOcOu1OPARWwNg==", + "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", "requires": { "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz" } @@ -15685,7 +13768,7 @@ }, "http-errors": { "version": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz", - "integrity": "sha512-O/lLS06486+l1FVAXghMHAJB3tCg2R5jvGnIQ47X4K1FzfsVs51djHpmwPSzkJ77qIihOV8ONelhSBgfHGG0FA==", + "integrity": "sha1-X4uO2YrKVFZWv1cplzh/kEpyIlc=", "requires": { "depd": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -15695,7 +13778,7 @@ }, "http-proxy": { "version": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", - "integrity": "sha512-mVtRyhMoqY5UCrvvqTTIfQPgRO+dDR1qHbuBYk8fjUpA51KUzesT++tRQSdiEhjBBobO4PCnP4ITc/BFsBkm6w==", + "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", "requires": { "eventemitter3": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", "requires-port": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" @@ -15703,7 +13786,7 @@ }, "http-proxy-middleware": { "version": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", - "integrity": "sha512-JtH3UZju4oXDdca28/kknbm/CFmt35vy0YV0PNOMWWWpn3rT9WV95IXN451xwBGSjy9L0Cah1O9TCMytboLdfw==", + "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", "requires": { "http-proxy": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", @@ -15713,11 +13796,11 @@ "dependencies": { "is-extglob": { "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-glob": { "version": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" } @@ -15726,7 +13809,7 @@ }, "http-signature": { "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "requires": { "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", "jsprim": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", @@ -15735,50 +13818,50 @@ }, "https-browserify": { "version": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha512-EjDQFbgJr1vDD/175UJeSX3ncQ3+RUnCL5NkthQGHvF4VNHlzTy8ifJfTqz47qiPRqaFH58+CbuG3x51WuB1XQ==" + "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" }, "iconv-lite": { "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", - "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==" + "integrity": "sha1-I9hlaxaq5nQqwpcy6o8DNqR4nPI=" }, "icss-replace-symbols": { "version": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==" + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" }, "ieee754": { "version": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha512-/aoyv2Nt7mGLnCAWzE0C1WH9Xd8ZsqR0f4Pjwxputi1JNm01+InyAYQotF4N+ulEIjbEsJo22NOHr+U/XEZ1Pw==" + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" }, "ignore": { "version": "https://registry.npmjs.org/ignore/-/ignore-3.3.3.tgz", - "integrity": "sha512-EreSWopcoOuUkFfoYLwnaiDVfyyI4vmaYJN2k9XtwUH0GBRjXcJ6WC9yLrx7+5V1IL9VW+AltFnFG+N9Dp467Q==" + "integrity": "sha1-QyNS5XrM2HqzEQ6C0/6g5HgSFW0=" }, "imurmurhash": { "version": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "in-publish": { "version": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", - "integrity": "sha512-S/Qt3SBbP15k2Yll5xaguu2c5E1LZnhwERvHt/FqUx+Ae/lYHVf2ZE96hUgcXJkcCbXoxkkSRohsG/YXXMNOCQ==" + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=" }, "indent-string": { "version": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "requires": { "repeating": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" } }, "indexes-of": { "version": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==" + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" }, "indexof": { "version": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==" + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" }, "inflight": { "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" @@ -15786,11 +13869,11 @@ }, "inherits": { "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "inquirer": { "version": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", - "integrity": "sha512-bOetEz5+/WpgaW4D1NYOk1aD+JCqRjqu/FwRFgnIfiP7FC/zinsrfyO1vlS3nyH/R7S0IH3BIHBu4DBIDSqiGQ==", + "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", "requires": { "ansi-escapes": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -15809,92 +13892,92 @@ }, "interpret": { "version": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz", - "integrity": "sha512-Vg6X07U0AOZb4HF6CWHa+jnJU8j71buKQ9Pc0C75qBXgvCYbxWBkGo4jnTS3O0MIc9FZtt0mB7h+uclojqdw1Q==" + "integrity": "sha1-/s16GOfOXKar+5U+H4YhOknxYls=" }, "invariant": { "version": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha512-FUiAFCOgp7bBzHfa/fK+Uc/vqywvdN9Wg3CiTprLcE630mrhxjDS5MlBkHzeI6+bC/6bq9VX/hxBt05fPAT5WA==", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", "requires": { "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz" } }, "invert-kv": { "version": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==" + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, "ipaddr.js": { "version": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.3.0.tgz", - "integrity": "sha512-d9mR/MvadaWPcqIpjtiKLgmNlO3587a9a+ZRUcwD4zguIV+zh+OX9U5/+ce5Ouw4DA54f+EMzmwCJDtlYoaR8Q==" + "integrity": "sha1-HgOlL9rYOou7KyXL9JmLTP/NPew=" }, "is-absolute-url": { "version": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==" + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" }, "is-arrayish": { "version": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-binary-path": { "version": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "requires": { "binary-extensions": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz" } }, "is-buffer": { "version": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha512-miqftL8E53hH0dtQqLdN+3JwClyJiITcif3gy+RiUlnLJUhEwdyRC29/gpYbuC9IhazGSnP8TjbvxWw2AZylWQ==" + "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=" }, "is-builtin-module": { "version": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha512-C2wz7Juo5pUZTFQVer9c+9b4qw3I5T/CHQxQyhVu7BJel6C22FmsLIWsdseYyOw6xz9Pqy9eJWSkQ7+3iN1HVw==", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { "builtin-modules": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" } }, "is-dotfile": { "version": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==" + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" }, "is-equal-shallow": { "version": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { "is-primitive": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz" } }, "is-extendable": { "version": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "is-extglob": { "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==" + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" }, "is-finite": { "version": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha512-e+gU0KGrlbqjEcV80SAqg4g7PQYOm3/IrdwAJ+kPwHqGhLKhtuTJGGxGtrsc8RXlHt2A8Vlnv+79Vq2B1GQasg==", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "requires": { "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" } }, "is-fullwidth-code-point": { "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" } }, "is-glob": { "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz" } }, "is-my-json-valid": { "version": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", - "integrity": "sha512-6AFGaggK+pZhYW+jXVPxaDgMuZvq0HbinaSrA9ecxKwg1WVKpchZRs0nRkvMiv+hIOFYeyLQ75RVs6Qs+KFk8Q==", + "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", "requires": { "generate-function": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", "generate-object-property": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", @@ -15904,105 +13987,105 @@ "dependencies": { "xtend": { "version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha512-iTwvhNBRetXWe81+VcIw5YeadVSWyze7uA7nVnpP13ulrpnJ3UfQm5ApGnrkmxDJFdrblRdZs0EvaTCIfei5oQ==" + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" } } }, "is-number": { "version": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" } }, "is-path-cwd": { "version": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw==" + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" }, "is-path-in-cwd": { "version": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha512-XSig+5QTx0ReXCURjvzGsLUFT8V36AjyVkc6axI1r5QT3BMVR0MptnXBNU7iyfn2aQIgm8/vP4h58RVIsL7rEw==", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", "requires": { "is-path-inside": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz" } }, "is-path-inside": { "version": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", - "integrity": "sha512-WdiHWLVPHbn+QOQdJXqJS7TtArj7yXvKb8ZyFZ7AaIuW7KOfLLyR5glFAR+b1Q6PhSOTL8lpQvIoV2klU0nE9g==", + "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", "requires": { "path-is-inside": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" } }, "is-plain-obj": { "version": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" }, "is-posix-bracket": { "version": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==" + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" }, "is-primitive": { "version": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==" + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" }, "is-promise": { "version": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha512-NECAi6wp6CgMesHuVUEK8JwjCvm/tvnn5pCbB42JOHp3mgUizN0nagXu4HEqQZBkieGEQ+jVcMKWqoVd6CDbLQ==" + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" }, "is-property": { "version": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" }, "is-resolvable": { "version": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", - "integrity": "sha512-9FcOmO8DNEuvfwr4zahMkx1NNWBG+r8MUz+1t608iNqHEjflcvwl368niaBjuIUug3njonc6loJ6r8ReIfwYbQ==", + "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", "requires": { "tryit": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz" } }, "is-stream": { "version": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "is-svg": { "version": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", - "integrity": "sha512-Ya1giYJUkcL/94quj0+XGcmts6cETPBW1MiFz1ReJrnDJ680F52qpAEGAEGU0nq96FRGIGPx6Yo1CyPXcOoyGw==", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", "requires": { "html-comment-regex": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz" } }, "is-typedarray": { "version": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-utf8": { "version": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" }, "isarray": { "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" }, "isexe": { "version": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isobject": { "version": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "requires": { "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" }, "dependencies": { "isarray": { "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" } } }, "isomorphic-fetch": { "version": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { "node-fetch": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.1.tgz", "whatwg-fetch": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz" @@ -16010,17 +14093,17 @@ "dependencies": { "whatwg-fetch": { "version": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha512-SA2KdOXATOroD3EBUYvcdugsusXS5YiQFqwskSbsp5b1gK8HpNi/YP0jcy/BDpdllp305HMnrsVf9K7Be9GiEQ==" + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" } } }, "isstream": { "version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "jade": { "version": "https://registry.npmjs.org/jade/-/jade-1.11.0.tgz", - "integrity": "sha512-J76sbGKeLtu7uwW97Ntzb1UvGnpKTDplYa9ROr2gNRhM+SxvlBSG0Ees3TQ8+7ya2UVkzMEeFxhRhEpN68s7Tg==", + "integrity": "sha1-nIDlOMEtP7lcjZu5VZ+gzAQEBf0=", "requires": { "character-parser": "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz", "clean-css": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", @@ -16036,7 +14119,7 @@ "dependencies": { "clean-css": { "version": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", - "integrity": "sha512-aTWyttSdI2mYi07kWqHi24NUU9YlELFKGOAgFzZjDN1064DMAOy2FBuoyGmkKRlXkbpXd0EVHmiVkbKhKoirTw==", + "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", "requires": { "commander": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz" @@ -16044,7 +14127,7 @@ "dependencies": { "commander": { "version": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha512-+pJLBFVk+9ZZdlAOB5WuIElVPPth47hILFkmGym57aq8kwxsowvByvB0DHs1vQAhyMZzdcpTtF0VDKGkSDR4ZQ==", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", "requires": { "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" } @@ -16053,11 +14136,11 @@ }, "commander": { "version": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", - "integrity": "sha512-PhbTMT+ilDXZKqH8xbvuUY2ZEQNef0Q7DKxgoEKb4ccytsdvVVJmYqR0sGbi96nxU6oGrwEIQnclpK2NBZuQlg==" + "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=" }, "uglify-js": { "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "requires": { "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", "uglify-to-browserify": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", @@ -16066,7 +14149,7 @@ "dependencies": { "source-map": { "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==" + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" } } } @@ -16074,21 +14157,21 @@ }, "jade-html-loader": { "version": "https://registry.npmjs.org/jade-html-loader/-/jade-html-loader-0.0.3.tgz", - "integrity": "sha512-Kxp0Pc9Uv2qX9Rj7awHKhcX8JIoEKCaAWm/Q4xMeO8o9LfWwdi8Q6RZDcCBUuoE4PaChYhGPSbz0pxzvxvVaHA==", + "integrity": "sha1-ggSLSG55YiZ5OPWM0er9nMAAPsw=", "requires": { "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" } }, "jade-loader": { "version": "https://registry.npmjs.org/jade-loader/-/jade-loader-0.8.0.tgz", - "integrity": "sha512-Y6+6CVfLj6+kniWIQjk5QPosoG2qz9Hh2OMQnvwYFpaavcnvu1OudSgZHVjMC2ioG9JBWJspT/t/H6g53M2DWw==", + "integrity": "sha1-0bCZcam/kKKymLCvWxrQMA0QnC4=", "requires": { "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" } }, "jade-react-loader": { "version": "https://registry.npmjs.org/jade-react-loader/-/jade-react-loader-1.0.2.tgz", - "integrity": "sha512-HD4/Ri6J/cEKLdsWLKS3/R1rcYYehXrBENs4fBVPKBokAhSXDghsxqlqk5YOsk0n1ugEKb6G5/bZq4jEJd9FIA==", + "integrity": "sha1-MxgiARamZZzJxsMO7qqHLSMKioQ=", "requires": { "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", "react-jade": "https://registry.npmjs.org/react-jade/-/react-jade-2.5.0.tgz" @@ -16096,19 +14179,19 @@ }, "js-base64": { "version": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", - "integrity": "sha512-f+5mYh8iF7FlF7zgmj/yqvvYQUHI0kAxGiLjIfNxZzqJ7RQNc4sjgp8crVJw0Kzv2O6aFGZWgMTnO71I9utHSg==" + "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4=" }, "js-stringify": { "version": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", - "integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==" + "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" }, "js-tokens": { "version": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==" + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha512-eIlkGty7HGmntbV6P/ZlAsoncFLGsNoM27lkTzS+oneY/EiNhj+geqD9ezg/ip+SW6Var0BJU2JtV0vEUZpWVQ==", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", "requires": { "argparse": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz" @@ -16116,82 +14199,82 @@ "dependencies": { "esprima": { "version": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==" + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=" } } }, "jsbn": { "version": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "optional": true }, "jsdelivr-cdn-data": { "version": "https://registry.npmjs.org/jsdelivr-cdn-data/-/jsdelivr-cdn-data-0.1.1.tgz", - "integrity": "sha512-LvHc5bfu/aoSrcwxQzAbZz0rY/3IxRhcwdDTpjSSEAYBa7exvzBqBQ1joVU0DOYneDia8u9J1TKe2jXC0A2ZsA==", + "integrity": "sha1-pFDi3G7O57t7b2pylOUYCsvJwQo=", "requires": { "semver": "https://registry.npmjs.org/semver/-/semver-2.2.1.tgz" }, "dependencies": { "semver": { "version": "https://registry.npmjs.org/semver/-/semver-2.2.1.tgz", - "integrity": "sha512-zM5SE887Z8Ixx9cGaFnu9Wd8xr0RFwixASZcvUh2QGnf/1uxYmyetDzhzkEdDKipmZPq/JTB0gLo1Sg59LXkQQ==" + "integrity": "sha1-eUEYKz/8xYC/8cF5QqzfeVHA0hM=" } } }, "jsesc": { "version": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, "json-fallback": { "version": "https://registry.npmjs.org/json-fallback/-/json-fallback-0.0.1.tgz", - "integrity": "sha512-oTmYo1+EMcq8CC8JVj3uMMblIGNpSACUCfpPpSyuhBqBMAKWvx7L01h8hIo65b1QpzfsqvwJio2opuu1HvEJzQ==" + "integrity": "sha1-6OMIPD/drQ+bXwnTMSB0RCWA14E=" }, "json-loader": { "version": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.4.tgz", - "integrity": "sha512-UR2AoqXOuhwApRPGe9YUuU3ARd2fQ4gfZvCpJjZ2ZrKOrt3+DbLg5QXa1W5rUvdUIuhMHyxniMr+u4bHjWMVYQ==" + "integrity": "sha1-i6oTZaYy9Yo8RtIBdfxgAsluN94=" }, "json-schema": { "version": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha512-a3xHnILGMtk+hDOqNwHzF6e2fNbiMrXZvxKQiEv2MlgQP+pjIOzqAmKYD2mDpXYE/44M7g+n9p2bKkYWDUcXCQ==" + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, "json-stable-stringify": { "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" } }, "json-stringify-safe": { "version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json3": { "version": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha512-I5YLeauH3rIaE99EE++UeH2M2gSYo8/2TqDac7oZEH6D/DSQ4Woa628Qrfj1X9/OY5Mk5VvIDQaKCDchXaKrmA==" + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=" }, "json5": { "version": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==" + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, "jsonify": { "version": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==" + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" }, "jsonp": { "version": "https://registry.npmjs.org/jsonp/-/jsonp-0.0.4.tgz", - "integrity": "sha512-Pyo6SxnTXngwXJbpZkv+936u4Pq3BGZ5tuA77rLLppWQC09KjBsopGsD7uQZmCCaXjLx5C/XqksUh0yGyr4wog==", + "integrity": "sha1-lGZaS3caq+y4qshBNbmVlHVpGL0=", "requires": { "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz" } }, "jsonpointer": { "version": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha512-K7vR/jmvXsP04hvItAziqPeWmGceLWye9tkqbI+zFCvD4aDnL94BbGHggtQTfqRxbsgGWb4ospGQU8Rd7CEzPg==" + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=" }, "jsprim": { "version": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", - "integrity": "sha512-OyKQuabgqUi2RUPauBrfZNoCb0KNoulf1DqQ07rUW2vzauzXAq/uUe7oDstV/2RavaxGn7NfcI/F2hrBk38Fbg==", + "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", "requires": { "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", @@ -16201,13 +14284,13 @@ "dependencies": { "assert-plus": { "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" } } }, "jstransform": { "version": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz", - "integrity": "sha512-LGm87w0A8E92RrcXt94PnNHkFqHmgDy3mKHvNZOG7QepKCTCH/VB6S+IEN+bT4uLN3gVpOT0vvOOVd96osG71g==", + "integrity": "sha1-CaeJk+CuTU70SH9hVakfYZDLQiM=", "requires": { "base62": "https://registry.npmjs.org/base62/-/base62-1.2.0.tgz", "commoner": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", @@ -16218,7 +14301,7 @@ }, "jstransformer": { "version": "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz", - "integrity": "sha512-b7tmf91j1ChMuYhwbPBnNgB62dmHuqiHpOdd6QLKzde8HydZqm+ud3qWreGWecSxPBFFNOf1Ozjx0xo2plFdHA==", + "integrity": "sha1-eq4pqQPRls+glz2IXT5HlH7Ndqs=", "requires": { "is-promise": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "promise": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz" @@ -16226,11 +14309,11 @@ "dependencies": { "asap": { "version": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz", - "integrity": "sha512-Ej9qjcXY+8Tuy1cNqiwNMwFRXOy9UwgTeMA8LxreodygIPV48lx8PU1ecFxb5ZeU1DpMKxiq6vGLTxcitWZPbA==" + "integrity": "sha1-sqRdpf36ILBJb8N2jMJ8EvqRan0=" }, "promise": { "version": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz", - "integrity": "sha512-O+uwGKreKNKkshzZv2P7N64lk6EP17iXBn0PbUnNQhk+Q0AHLstiTrjkx3v5YBd3cxUe7Sq6KyRhl/A0xUjk7Q==", + "integrity": "sha1-LOcp9rlLRcJoka0GAsXJDgTG7vY=", "requires": { "asap": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz" } @@ -16239,25 +14322,25 @@ }, "kind-of": { "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz" } }, "lazy-cache": { "version": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==" + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" }, "lcid": { "version": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { "invert-kv": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" } }, "levn": { "version": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "requires": { "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" @@ -16265,7 +14348,7 @@ }, "load-json-file": { "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "requires": { "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", @@ -16276,7 +14359,7 @@ }, "loader-utils": { "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", "requires": { "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", @@ -16286,21 +14369,21 @@ "dependencies": { "object-assign": { "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" } } }, "lodash": { "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha512-6X37Sq9KCpLSXEh8uM12AKYlviHPNNk4RxiGBn4cmKGJinbXBneWIV7iE/nXkM928O7ytHcHb6+X6Svl0f4hXg==" + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" }, "lodash-es": { "version": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.4.tgz", - "integrity": "sha512-IFCS4mLMmGqejkFwanRvT2DgWWhXlz8qxC6HGQb38brKwxX+o2ic8VFPeOlY8AwCzGY4BjSO5P3UDFCSEy6PVw==" + "integrity": "sha1-3MHXVS4VCgZABzupyzHXDwMpUOc=" }, "lodash._createcompounder": { "version": "https://registry.npmjs.org/lodash._createcompounder/-/lodash._createcompounder-3.0.0.tgz", - "integrity": "sha512-D6HOkfALqHY2Qe/CXda7I1SVo8714LG1Ayo7VP2RQs8oha08eXSbAYnTg/fxtaOI7RX6GVIAJ2Gw3rkr02HXhQ==", + "integrity": "sha1-XdLLVTctbnDg4jkvsjBNZjEJEHU=", "requires": { "lodash.deburr": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-3.2.0.tgz", "lodash.words": "https://registry.npmjs.org/lodash.words/-/lodash.words-3.2.0.tgz" @@ -16308,63 +14391,63 @@ }, "lodash._root": { "version": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", - "integrity": "sha512-O0pWuFSK6x4EXhM1dhZ8gchNtG7JMqBtrHdoUFUWXD7dJnNSUze1GuyQr5sOs0aCvgGeI3o/OJW8f4ca7FDxmQ==" + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" }, "lodash.assign": { "version": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==" + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" }, "lodash.camelcase": { "version": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-3.0.1.tgz", - "integrity": "sha512-9wNcnz9dBpQ4laWW4je9Lqtjaj3n2QrWLK8fVTjSRfQlUcIrqYxbKxsiDtXV80abRfdlnLLvtOGMd6B+brC3AA==", + "integrity": "sha1-kyyLh/ikN3iXxnGXUzKC+Xrqwpg=", "requires": { "lodash._createcompounder": "https://registry.npmjs.org/lodash._createcompounder/-/lodash._createcompounder-3.0.0.tgz" } }, "lodash.clonedeep": { "version": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, "lodash.deburr": { "version": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-3.2.0.tgz", - "integrity": "sha512-MGjyYe8cBGUmPnE+AeeRychzUak8pUIe48Zli95iExeCC3qgRzEf3DiI3A/i5KnSWPPmaB2samsdm6gvACmCTg==", + "integrity": "sha1-baj1QzSjZqfPTEx2742Aqhs2XtU=", "requires": { "lodash._root": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz" } }, "lodash.memoize": { "version": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" }, "lodash.uniq": { "version": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" }, "lodash.words": { "version": "https://registry.npmjs.org/lodash.words/-/lodash.words-3.2.0.tgz", - "integrity": "sha512-ZsfO33BwfQ0Eq3YDX7TJOwRC9/owKfKaCyKm5bWxBePVf8kKhlJBkOSGrj4+NM6XU07Mq2lYnyJGZ8zyeu/m3Q==", + "integrity": "sha1-TiqGSbwIdFsXxpWxo86P7llmI7M=", "requires": { "lodash._root": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz" } }, "lolex": { "version": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz", - "integrity": "sha512-YYp8cqz7/8eruZ15L1mzcPkvLYxipfdsWIDESvNdNmQP9o7TsDitRhNuV2xb7aFu2ofZngao1jiVrVZ842x4BQ==" + "integrity": "sha1-fD2mL/yzDw9agKJWbKJORdigHzE=" }, "longest": { "version": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==" + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" }, "loose-envify": { "version": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha512-iG/U770U9HaHmy0u+fSyxSIclZ3d9WPFtGjV2drWW0SthBnQ1Fa/SCKIaGLAVwYzrBGEPx9gen047er+MCUgnQ==", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "requires": { "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz" } }, "loud-rejection": { "version": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "requires": { "currently-unhandled": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz" @@ -16372,11 +14455,11 @@ }, "lower-case": { "version": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==" + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" }, "lru-cache": { "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", "requires": { "pseudomap": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "yallist": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" @@ -16384,23 +14467,23 @@ }, "macaddress": { "version": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz", - "integrity": "sha512-igFoAz9Ih4sE9MnJLA/3aS+GQeU5OUXKwV0JMIwyQtGqyNPdwJhcVdIDjFIFDeyaw7jdQvK1FxJv5GoNYkl6zA==" + "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=" }, "map-obj": { "version": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==" + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" }, "math-expression-evaluator": { "version": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", - "integrity": "sha512-NE0er6hC8jGXQ8ANbZvtovNS4jQDaZlJZkajBYbCsk+nktzTUfS67dTzrxY92iJ3LCGks4IQeNVdUbjCa8vhHg==" + "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=" }, "media-typer": { "version": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "memory-fs": { "version": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz", - "integrity": "sha512-QTNXnl79X97kZ9jJk/meJrtDuvgvRakX5LU7HZW1L7MsXHuSTwoMIzN9tOLLH3Xfsj/gbsSqX/ovnsqz246zKQ==", + "integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=", "requires": { "errno": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" @@ -16408,11 +14491,11 @@ "dependencies": { "isarray": { "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "readable-stream": { "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", "requires": { "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -16425,7 +14508,7 @@ }, "string_decoder": { "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", "requires": { "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" } @@ -16434,7 +14517,7 @@ }, "meow": { "version": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "requires": { "camelcase-keys": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -16450,25 +14533,25 @@ "dependencies": { "minimist": { "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw==" + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "object-assign": { "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" } } }, "merge-descriptors": { "version": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" }, "methods": { "version": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, "micromatch": { "version": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", @@ -16487,75 +14570,75 @@ }, "mime": { "version": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "integrity": "sha512-sAaYXszED5ALBt665F0wMQCUXpGuZsGdopoqcHPdL39ZYdi7uHoZlhrfZfhv8WzivhBzr/oXwaj+yiK5wY8MXQ==" + "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=" }, "mime-db": { "version": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", - "integrity": "sha512-DNhC90PjVkQJpLVP+ct0lmKPQWAHFy+67X8IBOx+mda/I9vsrdJO/zoyEJdQdLsofi/l8GAG+IsfB0XCPLyLHg==" + "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=" }, "mime-types": { "version": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", - "integrity": "sha512-PjleM8evsL+OvsuE6EXom+8QAcSYALjmw+vYFqH8I+/+wNlewVgbM7/O1wcdCVL/ta8SC6l6BEK7A0/mZywpfg==", + "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", "requires": { "mime-db": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz" } }, "minimatch": { "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "requires": { "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz" } }, "minimist": { "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==" + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "mkdirp": { "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" } }, "moment": { "version": "https://registry.npmjs.org/moment/-/moment-2.10.6.tgz", - "integrity": "sha512-Tqzz/uADMAPuqWA7iE0eMCJHhDqGuRpiwUSokCT3144wCsjeTHwzbgJY62GAvt3ax8bI8tDugD2oaMQXvJ9tBA==" + "integrity": "sha1-bLIZZ8ecunsMpeZmRPFzZis++nc=" }, "ms": { "version": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "mute-stream": { "version": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha512-EbrziT4s8cWPmzr47eYVW3wimS4HsvlnV5ri1xw1aR6JQo/OrJX5rkl32K/QQHdxeabJETtfeaROGhd8W7uBgg==" + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=" }, "nan": { "version": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz", - "integrity": "sha512-K3AyXBwEX6HF3eV46B9YLyyJ66DiBI66v+pTQfz+AyMOdOtg2aH/3WNSDbb3cVDLfPEJmx70aDu60aDTG5x+sw==" + "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=" }, "natives": { "version": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz", - "integrity": "sha512-whLbR2NGC+DPtwMKuzbdmoetsL78T6XggIboCIPeoceHm3nDxf3Gslt1kfDlLxqp9rjjBgDyNZQmo7zbFR5m9g==" + "integrity": "sha1-6f+EFBimsux6SV6TmYT3jxY+bjE=" }, "ncname": { "version": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", - "integrity": "sha512-VLkyYr2kmPzVzrmkER9i13RJIdGbjNr855gfh2VvuboO1eYnb9k+nFS+JygfSVgtbo/HMpLz5pEYLK4Xjy7XGg==", + "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", "requires": { "xml-char-classes": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz" } }, "negotiator": { "version": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha512-qTxkr1RoLw5Pz+1+PTJ/66hWuyi2LEOeOuIDJDlx6JF8x75bmD5C7qXTg2UlX5W9rLfkqKP+r8q6Vy6NWdWrbw==" + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, "ng-onload": { "version": "https://registry.npmjs.org/ng-onload/-/ng-onload-0.2.1.tgz", - "integrity": "sha512-zJ8PyNCho2+J6kMOvJ58bU1IZ+o0xY+Wt1N0T8BQFsNzx9dC/c40UBvqKoy0tQalVNn5+MBGPWQGnPSXexWZdg==" + "integrity": "sha1-ycc0Zi4qJqAqAy4TBwr7vay23g0=" }, "ngreact": { "version": "https://registry.npmjs.org/ngreact/-/ngreact-0.2.0.tgz", - "integrity": "sha512-Rdg6caMs/7yLv7WG6rhAWVRklChH+sNr3NuG1ZUujRlvJcb1b+RNP2V5+w1eisO3JGvwlfckY7c2jr1SmD0VfA==", + "integrity": "sha1-PaQ6SIFYPFTMUDXim7SNnhFnVYc=", "requires": { "angular": "https://registry.npmjs.org/angular/-/angular-1.6.5.tgz", "react": "https://registry.npmjs.org/react/-/react-0.14.9.tgz", @@ -16564,21 +14647,21 @@ }, "no-case": { "version": "https://registry.npmjs.org/no-case/-/no-case-2.3.1.tgz", - "integrity": "sha512-vrocvkI2VAPhpucX5FveFqhANk9Ef5UyJjRLNSlDGdnC/hLD2VVMjk5cQd8RJ1d7MumA244OWRPN5bHu8Wp6dQ==", + "integrity": "sha1-euuhxzpSGEJlVUt9wDuvcg34AIE=", "requires": { "lower-case": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz" } }, "node-bourbon": { "version": "https://registry.npmjs.org/node-bourbon/-/node-bourbon-4.2.8.tgz", - "integrity": "sha512-T00WCJch3/1X74Athq1DGs3n2S0cV8yv28/AN+PTS48CHmGpu0clcsW8bFcGTsavYoILMGmgQlTwSUISgEr2qQ==", + "integrity": "sha1-5ETx8JQ0q3ZQ6jGMKOLhA9P5Qs0=", "requires": { "bourbon": "https://registry.npmjs.org/bourbon/-/bourbon-4.3.4.tgz" } }, "node-fetch": { "version": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.1.tgz", - "integrity": "sha512-j8XsFGCLw79vWXkZtMSmmLaOk9z5SQ9bV/tkbZVCqvgwzrjAGq66igobLofHtF63NvMTp2WjytpsNTGKa+XRIQ==", + "integrity": "sha1-iZyz0KPJL5UsR/G4dvTIrqvUANU=", "requires": { "encoding": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" @@ -16586,7 +14669,7 @@ }, "node-gyp": { "version": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", - "integrity": "sha512-H2jweTVLBshL/W6sWru9f/GmquoMyh9zjyfsznfX00q0S5XKLrrD1M+pyowuXzpwaOclU7eo37pOaQklbFDQBw==", + "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", "requires": { "fstream": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", @@ -16605,7 +14688,7 @@ "dependencies": { "glob": { "version": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", "requires": { "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -16619,7 +14702,7 @@ }, "node-libs-browser": { "version": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz", - "integrity": "sha512-V0EeBff5/nauAta4yGYMdn/CYXpn2KYcE8r6rwU9qJDXG6wMrBhtWVfoKWphSvsnX+mZk6DzaGSO+Yz/MGBAGQ==", + "integrity": "sha1-PicsCBnjCJNeJmdECNevDhSRuDs=", "requires": { "assert": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", "browserify-zlib": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", @@ -16648,11 +14731,11 @@ "dependencies": { "isarray": { "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "readable-stream": { "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", "requires": { "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -16665,7 +14748,7 @@ "dependencies": { "string_decoder": { "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", "requires": { "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" } @@ -16676,7 +14759,7 @@ }, "node-neat": { "version": "https://registry.npmjs.org/node-neat/-/node-neat-1.7.2.tgz", - "integrity": "sha512-lyjB1kBv1iO3hDq3ZicExcR4zKiDr58v1IvcAahq90TD3mE+Lk7LHC7BkJ8lgMxbB2HVZxd/LV1fJqqUv7Xf1A==", + "integrity": "sha1-OEcpELgV4mG4sbmbpRmZRGWhXCE=", "requires": { "bourbon-neat": "https://registry.npmjs.org/bourbon-neat/-/bourbon-neat-1.7.2.tgz", "node-bourbon": "https://registry.npmjs.org/node-bourbon/-/node-bourbon-4.2.8.tgz" @@ -16684,7 +14767,7 @@ }, "node-sass": { "version": "https://registry.npmjs.org/node-sass/-/node-sass-3.13.1.tgz", - "integrity": "sha512-RKe1FM3F8uSIU8ZBRwjUsnV28rysWeWSik156fppyPss0/7B0KfLwJ7Ds5t2wzG0yyON/RbTceHHgMHJP1jvUw==", + "integrity": "sha1-ckD7v/I5YwS0IjUn7TAgWJwAT8I=", "requires": { "async-foreach": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -16706,7 +14789,7 @@ "dependencies": { "glob": { "version": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", "requires": { "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -16720,7 +14803,7 @@ }, "nomnom": { "version": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", - "integrity": "sha512-5s0JxqhDx9/rksG2BTMVN1enjWSvPidpoSgViZU4ZXULyTe+7jxcCRLB6f42Z0l1xYJpleCBtSyY6Lwg3uu5CQ==", + "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", "requires": { "chalk": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", "underscore": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz" @@ -16728,11 +14811,11 @@ "dependencies": { "ansi-styles": { "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", - "integrity": "sha512-3iF4FIKdxaVYT3JqQuY3Wat/T2t7TRbbQ94Fu50ZUCbLy4TFbTzr90NOHQodQkNqmeEGCw8WbeP78WNi6SKYUA==" + "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=" }, "chalk": { "version": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "integrity": "sha512-sQfYDlfv2DGVtjdoQqxS0cEZDroyG8h6TamA6rvxwlrU5BaSLDx9xhatBYl2pxZ7gmpNaPFVwBtdGdu5rQ+tYQ==", + "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "requires": { "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", "has-color": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", @@ -16741,20 +14824,20 @@ }, "strip-ansi": { "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", - "integrity": "sha512-behete+3uqxecWlDAm5lmskaSaISA+ThQ4oNNBDTBJt0x2ppR6IPqfZNuj6BLaLJ/Sji4TPZlcRyOis8wXQTLg==" + "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=" } } }, "nopt": { "version": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "requires": { "abbrev": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz" } }, "normalize-package-data": { "version": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", "requires": { "hosted-git-info": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", "is-builtin-module": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", @@ -16764,18 +14847,18 @@ }, "normalize-path": { "version": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { "remove-trailing-separator": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz" } }, "normalize-range": { "version": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" }, "normalize-url": { "version": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", "requires": { "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "prepend-http": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", @@ -16785,13 +14868,13 @@ "dependencies": { "object-assign": { "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" } } }, "npmlog": { "version": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", "requires": { "are-we-there-yet": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", "console-control-strings": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -16801,38 +14884,38 @@ }, "nth-check": { "version": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", - "integrity": "sha512-lTD1gl0OIJzVFadNdZ1Tc+Z1vqRlYr6syYgCvhtoOxl5T3c8mufKaJ0XEiaJ+HQSYbCaSH/NP5m5p+so/nTOOA==", + "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", "requires": { "boolbase": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" } }, "num2fraction": { "version": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==" + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" }, "number-is-nan": { "version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==" + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "oauth-sign": { "version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==" + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" }, "object-assign": { "version": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==" + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" }, "object-inspect": { "version": "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz", - "integrity": "sha512-8WvkvUZiKAjjsy/63rJjA7jw9uyF0CLVLjBKEfnPHE3Jxvs1LgwqL2OmJN+LliIX1vrzKW+AAu02Cc+xv27ncQ==" + "integrity": "sha1-9RV8EWwUVbJDsG7pdwM5LFrYn+w=" }, "object-keys": { "version": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" }, "object.omit": { "version": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { "for-own": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" @@ -16840,40 +14923,40 @@ }, "on-finished": { "version": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "requires": { "ee-first": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" } }, "on-headers": { "version": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha512-Hmfug855QMIrXA8SCoblfPRTzkGwAOMaSygo5hN2fC5Se2YJLJGPaC0wytTWMAplYipqVY9FZQLKGQjwqoYyqA==" + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" }, "once": { "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" } }, "onetime": { "version": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==" + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" }, "open": { "version": "https://registry.npmjs.org/open/-/open-0.0.5.tgz", - "integrity": "sha512-+X/dJYLapVO1VbC620DhtNZK9U4/kQVaTQp/Gh7cb6UTLYfGZzzU2ZXkWrOA/wBrf4UqAFwtLqXYTxe4tSnWQQ==" + "integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=" }, "optimist": { "version": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", + "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", "requires": { "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" } }, "optionator": { "version": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha512-oCOQ8AIC2ciLy/sE2ehafRBleBgDLvzGhBRRev87sP7ovnbvQfqpc3XFI0DhHey2OfVoNV91W+GPC6B3540/5Q==", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "requires": { "deep-is": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "fast-levenshtein": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", @@ -16885,20 +14968,20 @@ "dependencies": { "wordwrap": { "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" } } }, "original": { "version": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", - "integrity": "sha512-uSGdLwcsvxUcF9GuxWpO3Aji9aWbuvUvVkjOgc1QF5FUxa1dh3uwLW7IyBilw5teR3odBp16PPO2tGKyCsDdfw==", + "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", "requires": { "url-parse": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz" }, "dependencies": { "url-parse": { "version": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", - "integrity": "sha512-NoHik+qrUN108kCFLzM/7M6+GO1BohhYsi1lHV5lkB2VmzIl8fdGTmW6uTy3ivNlO5cu/YLq1JcVc0RKT6SyzQ==", + "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", "requires": { "querystringify": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", "requires-port": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" @@ -16908,26 +14991,26 @@ }, "os-browserify": { "version": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", - "integrity": "sha512-vHbnbzdqWJWvGOm7aOMDXHVUykPG0GdhfLkn5ZDmvbRI+wPj/XoB0/CRAkP9v28eZ7REIPPHJa+8ZEYixsWKmQ==" + "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=" }, "os-homedir": { "version": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==" + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { "version": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { "lcid": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" } }, "os-tmpdir": { "version": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { "version": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha512-W6FhbLxEWdiyX2/fCl2YBZUJOYWaCHJa+jJwUVMX0iFYJmwyd0uzKx4NxFdj3xo9C0pumQ6G/fvd1MbNhsqQbQ==", + "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", "requires": { "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" @@ -16935,18 +15018,18 @@ }, "pako": { "version": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==" + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" }, "param-case": { "version": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", "requires": { "no-case": "https://registry.npmjs.org/no-case/-/no-case-2.3.1.tgz" } }, "parse-glob": { "version": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { "glob-base": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "is-dotfile": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", @@ -16956,45 +15039,45 @@ }, "parse-json": { "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "requires": { "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz" } }, "parseurl": { "version": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", - "integrity": "sha512-jcXcz8qX3IIi+Uf1Ut1TS2aNx2pLbVcFxIWZMcErWNrqFfTE1e+Q1stJkCOnzWBsxCTZJ0xmHtT4P8K0DnQQRA==" + "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=" }, "path-browserify": { "version": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha512-WA3pxi1olUQcsl82W576vkqhUSGp0uBtr/381pxx5WXLp3NC+AB99hUG3aGW7H0Kg9PFr1D8wv1iJeICe+9Mhw==" + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" }, "path-exists": { "version": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "requires": { "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" } }, "path-is-absolute": { "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" }, "path-parse": { "version": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha512-u4e4H/UUeMbJ1UnBnePf6r4cm4fFZs57BMocUSFeea807JTYk2HJnE9GjUpWHaDZk1OQGoArnWW1yEo9nd57ww==" + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" }, "path-to-regexp": { "version": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, "path-type": { "version": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "requires": { "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -17003,45 +15086,45 @@ }, "pbkdf2-compat": { "version": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz", - "integrity": "sha512-JYubxYhymODUUWVq9/Tmo9VQFZ8LyrD/pbXVpwmt1Npr2z29KZwp7+IBT3/PRjr1xpecX4W1EcbjFjp8nE3stQ==" + "integrity": "sha1-tuDI+plJTZTgURV1gCpZpcFC8og=" }, "pend": { "version": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" }, "performance-now": { "version": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==" + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" }, "pify": { "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" }, "pinkie": { "version": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" }, "pinkie-promise": { "version": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "requires": { "pinkie": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" } }, "pkg-dir": { "version": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha512-c6pv3OE78mcZ92ckebVDqg0aWSoKhOTbwCV6qbCWMk546mAL9pZln0+QsN/yQ7fkucd4+yJPLrCBXNt8Ruk+Eg==", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "requires": { "find-up": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" } }, "pluralize": { "version": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", - "integrity": "sha512-TH+BeeL6Ct98C7as35JbZLf8lgsRzlNJb5gklRIGHKaPkGl1esOKBc5ALUMd+q08Sr6tiEKM+Icbsxg5vuhMKQ==" + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=" }, "postcss": { "version": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", - "integrity": "sha512-0n4/a5Exgod60L1TjXAYJYqb8kwohUsXqUxYKOUqpRL8h2xL+vhQEuxxkvnWz8PtQiX1Qon3Xfzkx8yeJBBLLw==", + "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=", "requires": { "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "js-base64": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", @@ -17051,11 +15134,11 @@ "dependencies": { "source-map": { "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==" + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" }, "supports-color": { "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" } @@ -17064,7 +15147,7 @@ }, "postcss-calc": { "version": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", - "integrity": "sha512-iBcptYFq+QUh9gzP7ta2btw50o40s4uLI4UDVgd5yRAZtUDWc5APdl5yQDd2h/TyiZNbJrv0HiYhT102CMgN7Q==", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", "postcss-message-helpers": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", @@ -17073,7 +15156,7 @@ }, "postcss-colormin": { "version": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", - "integrity": "sha512-XXitQe+jNNPf+vxvQXIQ1+pvdQKWKgkx8zlJNltcMEmLma1ypDRDQwlLt+6cP26fBreihNhZxohh1rcgCH2W5w==", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", "requires": { "colormin": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", @@ -17082,7 +15165,7 @@ }, "postcss-convert-values": { "version": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", - "integrity": "sha512-SE7mf25D3ORUEXpu3WUqQqy0nCbMuM5BEny+ULE/FXdS/0UMA58OdzwvzuHJRpIFlk1uojt16JhaEogtP6W2oA==", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz" @@ -17090,35 +15173,35 @@ }, "postcss-discard-comments": { "version": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", - "integrity": "sha512-yGbyBDo5FxsImE90LD8C87vgnNlweQkODMkUZlDVM/CBgLr9C5RasLGJxxh9GjVOBeG8NcCMatoqI1pXg8JNXg==", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz" } }, "postcss-discard-duplicates": { "version": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", - "integrity": "sha512-+lk5W1uqO8qIUTET+UETgj9GWykLC3LOldr7EehmymV0Wu36kyoHimC4cILrAAYpHQ+fr4ypKcWcVNaGzm0reA==", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz" } }, "postcss-discard-empty": { "version": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", - "integrity": "sha512-IBFoyrwk52dhF+5z/ZAbzq5Jy7Wq0aLUsOn69JNS+7YeuyHaNzJwBIYE0QlUH/p5d3L+OON72Fsexyb7OK/3og==", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz" } }, "postcss-discard-overridden": { "version": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", - "integrity": "sha512-IyKoDL8QNObOiUc6eBw8kMxBHCfxUaERYTUe2QF8k7j/xiirayDzzkmlR6lMQjrAM1p1DDRTvWrS7Aa8lp6/uA==", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz" } }, "postcss-discard-unused": { "version": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", - "integrity": "sha512-nCbFNfqYAbKCw9J6PSJubpN9asnrwVLkRDFc4KCwyUEdOtM5XDE/eTW3OpqHrYY1L4fZxgan7LLRAAYYBzwzrg==", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", "uniqs": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz" @@ -17126,7 +15209,7 @@ }, "postcss-filter-plugins": { "version": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", - "integrity": "sha512-tD/LpXw5VuGpLuWVLYd7lGQ4phLOUzJjw1gqRDojgxTACNIAXlD3M9KvdgGSpZ3yfMbyYly0VZmyCVT/c9k0wg==", + "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", "uniqid": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz" @@ -17134,7 +15217,7 @@ }, "postcss-merge-idents": { "version": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", - "integrity": "sha512-9DHmfCZ7/hNHhIKnNkz4CU0ejtGen5BbTRJc13Z2uHfCedeCUsK2WEQoAJRBL+phs68iWK6Qf8Jze71anuysWA==", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", "requires": { "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", @@ -17143,14 +15226,14 @@ }, "postcss-merge-longhand": { "version": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", - "integrity": "sha512-ma7YvxjdLQdifnc1HFsW/AW6fVfubGyR+X4bE3FOSdBVMY9bZjKVdklHT+odknKBB7FSCfKIHC3yHK7RUAqRPg==", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz" } }, "postcss-merge-rules": { "version": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", - "integrity": "sha512-Wgg2FS6W3AYBl+5L9poL6ZUISi5YzL+sDCJfM7zNw/Q1qsyVQXXZ2cbVui6mu2cYJpt1hOKCGj1xA4mq/obz/Q==", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", "requires": { "browserslist": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "caniuse-api": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", @@ -17161,11 +15244,11 @@ }, "postcss-message-helpers": { "version": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha512-tPLZzVAiIJp46TBbpXtrUAKqedXSyW5xDEo1sikrfEfnTs+49SBZR/xDdqCiJvSSbtr615xDsaMF3RrxS2jZlA==" + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=" }, "postcss-minify-font-values": { "version": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", - "integrity": "sha512-vFSPzrJhNe6/8McOLU13XIsERohBJiIFFuC1PolgajOZdRWqRgKITP/A4Z/n4GQhEmtbxmO9NDw3QLaFfE1dFQ==", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", "requires": { "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", @@ -17174,13 +15257,13 @@ "dependencies": { "object-assign": { "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" } } }, "postcss-minify-gradients": { "version": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", - "integrity": "sha512-DZhT0OE+RbVqVyGsTIKx84rU/5cury1jmwPa19bViqYPQu499ZU831yMzzsyC8EhiZVd73+h5Z9xb/DdaBpw7Q==", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz" @@ -17188,7 +15271,7 @@ }, "postcss-minify-params": { "version": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", - "integrity": "sha512-hhJdMVgP8vasrHbkKAk+ab28vEmPYgyuDzRl31V3BEB3QOR3L5TTIVEWLDNnZZ3+fiTi9d6Ker8GM8S1h8p2Ow==", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", "requires": { "alphanum-sort": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", @@ -17198,7 +15281,7 @@ }, "postcss-minify-selectors": { "version": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", - "integrity": "sha512-e13vxPBSo3ZaPne43KVgM+UETkx3Bs4/Qvm6yXI9HQpQp4nyb7HZ0gKpkF+Wn2x+/dbQ+swNpCdZSbMOT7+TIA==", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", "requires": { "alphanum-sort": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", @@ -17208,21 +15291,21 @@ }, "postcss-modules-extract-imports": { "version": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", - "integrity": "sha512-zF9+UIEvtpeqMGxhpeT9XaIevQSrBBCz9fi7SwfkmjVacsSj8DY5eFVgn+wY8I9vvdDDwK5xC8Myq4UkoLFIkA==", + "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz" }, "dependencies": { "ansi-styles": { "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", - "integrity": "sha512-1jXmDD7l38qjk7yqmpFMLvs94InTmzcupUKdP2N4YjuDy5gNRJc1J5zb3Q/ur6FKxep0GW+2vK2qL82GEAwwCQ==", + "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=", "requires": { "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz" } }, "chalk": { "version": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==", + "integrity": "sha1-2+xJQ20q4V9TYRTnbRRlbNvA9E0=", "requires": { "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -17231,11 +15314,11 @@ }, "has-flag": { "version": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" }, "postcss": { "version": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz", - "integrity": "sha512-KkYn44ZVVsqOheFhNxu1XVxmBu6egkdxZdqfxsA1AJGSqpJiCVsC3SWiUq+xn6m/G70V1WDNC/ZH8ccZJTupTQ==", + "integrity": "sha1-u6TVjohPx4yEDRU54Q7dqruPc70=", "requires": { "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", @@ -17244,11 +15327,11 @@ }, "source-map": { "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==" + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" }, "supports-color": { "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz", - "integrity": "sha512-Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==", + "integrity": "sha1-rZhtx+sjFdAJtNd8gWnCIxpoQDc=", "requires": { "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" } @@ -17257,7 +15340,7 @@ }, "postcss-modules-local-by-default": { "version": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha512-X4cquUPIaAd86raVrBwO8fwRfkIdbwFu7CTfEOjiZQHVQwlHRSkTgH5NLDmMm5+1hQO8u6dZ+TOOJDbay1hYpA==", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "requires": { "css-selector-tokenizer": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz" @@ -17265,14 +15348,14 @@ "dependencies": { "ansi-styles": { "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", - "integrity": "sha512-1jXmDD7l38qjk7yqmpFMLvs94InTmzcupUKdP2N4YjuDy5gNRJc1J5zb3Q/ur6FKxep0GW+2vK2qL82GEAwwCQ==", + "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=", "requires": { "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz" } }, "chalk": { "version": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==", + "integrity": "sha1-2+xJQ20q4V9TYRTnbRRlbNvA9E0=", "requires": { "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -17281,7 +15364,7 @@ }, "css-selector-tokenizer": { "version": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", - "integrity": "sha512-hdt7t8U5UYaieb0BcK+1wosGqzyLQTgy8cvfzwIYk9RLZ2SuMMuIC5rXINM2dBE2aF+5S+4oft7hh/2qY0ahKw==", + "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", "requires": { "cssesc": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", "fastparse": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", @@ -17290,11 +15373,11 @@ }, "has-flag": { "version": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" }, "postcss": { "version": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz", - "integrity": "sha512-KkYn44ZVVsqOheFhNxu1XVxmBu6egkdxZdqfxsA1AJGSqpJiCVsC3SWiUq+xn6m/G70V1WDNC/ZH8ccZJTupTQ==", + "integrity": "sha1-u6TVjohPx4yEDRU54Q7dqruPc70=", "requires": { "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", @@ -17303,7 +15386,7 @@ }, "regexpu-core": { "version": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha512-Ci+lDRlvAElKjFp5keqmVUaJLqZiHywekXhshT6wVUyDObGPdymNPhxBmf38ZVsaUGOnZ3Fot9YzxvoI31ymYw==", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "requires": { "regenerate": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz", "regjsgen": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", @@ -17312,11 +15395,11 @@ }, "source-map": { "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==" + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" }, "supports-color": { "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz", - "integrity": "sha512-Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==", + "integrity": "sha1-rZhtx+sjFdAJtNd8gWnCIxpoQDc=", "requires": { "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" } @@ -17325,7 +15408,7 @@ }, "postcss-modules-scope": { "version": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha512-LTYwnA4C1He1BKZXIx1CYiHixdSe9LWYVKadq9lK5aCCMkoOkFyZ7aigt+srfjlRplJY3gIol6KUNefdMQJdlw==", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "requires": { "css-selector-tokenizer": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz" @@ -17333,14 +15416,14 @@ "dependencies": { "ansi-styles": { "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", - "integrity": "sha512-1jXmDD7l38qjk7yqmpFMLvs94InTmzcupUKdP2N4YjuDy5gNRJc1J5zb3Q/ur6FKxep0GW+2vK2qL82GEAwwCQ==", + "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=", "requires": { "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz" } }, "chalk": { "version": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==", + "integrity": "sha1-2+xJQ20q4V9TYRTnbRRlbNvA9E0=", "requires": { "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -17349,7 +15432,7 @@ }, "css-selector-tokenizer": { "version": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", - "integrity": "sha512-hdt7t8U5UYaieb0BcK+1wosGqzyLQTgy8cvfzwIYk9RLZ2SuMMuIC5rXINM2dBE2aF+5S+4oft7hh/2qY0ahKw==", + "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", "requires": { "cssesc": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", "fastparse": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", @@ -17358,11 +15441,11 @@ }, "has-flag": { "version": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" }, "postcss": { "version": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz", - "integrity": "sha512-KkYn44ZVVsqOheFhNxu1XVxmBu6egkdxZdqfxsA1AJGSqpJiCVsC3SWiUq+xn6m/G70V1WDNC/ZH8ccZJTupTQ==", + "integrity": "sha1-u6TVjohPx4yEDRU54Q7dqruPc70=", "requires": { "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", @@ -17371,7 +15454,7 @@ }, "regexpu-core": { "version": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha512-Ci+lDRlvAElKjFp5keqmVUaJLqZiHywekXhshT6wVUyDObGPdymNPhxBmf38ZVsaUGOnZ3Fot9YzxvoI31ymYw==", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "requires": { "regenerate": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz", "regjsgen": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", @@ -17380,11 +15463,11 @@ }, "source-map": { "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==" + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" }, "supports-color": { "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz", - "integrity": "sha512-Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==", + "integrity": "sha1-rZhtx+sjFdAJtNd8gWnCIxpoQDc=", "requires": { "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" } @@ -17393,7 +15476,7 @@ }, "postcss-modules-values": { "version": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha512-i7IFaR9hlQ6/0UgFuqM6YWaCfA1Ej8WMg8A5DggnH1UGKJvTV/ugqq/KaULixzzOi3T/tF6ClBXcHGCzdd5unA==", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", "requires": { "icss-replace-symbols": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz" @@ -17401,14 +15484,14 @@ "dependencies": { "ansi-styles": { "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", - "integrity": "sha512-1jXmDD7l38qjk7yqmpFMLvs94InTmzcupUKdP2N4YjuDy5gNRJc1J5zb3Q/ur6FKxep0GW+2vK2qL82GEAwwCQ==", + "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=", "requires": { "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz" } }, "chalk": { "version": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==", + "integrity": "sha1-2+xJQ20q4V9TYRTnbRRlbNvA9E0=", "requires": { "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -17417,11 +15500,11 @@ }, "has-flag": { "version": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" }, "postcss": { "version": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz", - "integrity": "sha512-KkYn44ZVVsqOheFhNxu1XVxmBu6egkdxZdqfxsA1AJGSqpJiCVsC3SWiUq+xn6m/G70V1WDNC/ZH8ccZJTupTQ==", + "integrity": "sha1-u6TVjohPx4yEDRU54Q7dqruPc70=", "requires": { "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", @@ -17430,11 +15513,11 @@ }, "source-map": { "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==" + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" }, "supports-color": { "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz", - "integrity": "sha512-Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==", + "integrity": "sha1-rZhtx+sjFdAJtNd8gWnCIxpoQDc=", "requires": { "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" } @@ -17443,14 +15526,14 @@ }, "postcss-normalize-charset": { "version": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", - "integrity": "sha512-RKgjEks83l8w4yEhztOwNZ+nLSrJ+NvPNhpS+mVDzoaiRHZQVoG7NF2TP5qjwnaN9YswUhj6m1E0S0Z+WDCgEQ==", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz" } }, "postcss-normalize-url": { "version": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", - "integrity": "sha512-WqtWG6GV2nELsQEFES0RzfL2ebVwmGl/M8VmMbshKto/UClBo+mznX8Zi4/hkThdqx7ijwv+O8HWPdpK7nH/Ig==", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", "requires": { "is-absolute-url": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", "normalize-url": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", @@ -17460,7 +15543,7 @@ }, "postcss-ordered-values": { "version": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", - "integrity": "sha512-5RB1IUZhkxDCfa5fx/ogp/A82mtq+r7USqS+7zt0e428HJ7+BHCxyeY39ClmkkUtxdOd3mk8gD6d9bjH2BECMg==", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz" @@ -17468,7 +15551,7 @@ }, "postcss-reduce-idents": { "version": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", - "integrity": "sha512-0+Ow9e8JLtffjumJJFPqvN4qAvokVbdQPnijUDSOX8tfTwrILLP4ETvrZcXZxAtpFLh/U0c+q8oRMJLr1Kiu4w==", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz" @@ -17476,14 +15559,14 @@ }, "postcss-reduce-initial": { "version": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", - "integrity": "sha512-jJFrV1vWOPCQsIVitawGesRgMgunbclERQ/IRGW7r93uHrVzNQQmHQ7znsOIjJPZ4yWMzs5A8NFhp3AkPHPbDA==", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", "requires": { "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz" } }, "postcss-reduce-transforms": { "version": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", - "integrity": "sha512-lGgRqnSuAR5i5uUg1TA33r9UngfTadWxOyL2qx1KuPoCQzfmtaHjp9PuwX7yVyRxG3BWBzeFUaS5uV9eVgnEgQ==", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", "requires": { "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", @@ -17492,7 +15575,7 @@ }, "postcss-selector-parser": { "version": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha512-3pqyakeGhrO0BQ5+/tGTfvi5IAUAhHRayGK8WFSu06aEv2BmHoXw/Mhb+w7VY5HERIuC+QoUI7wgrCcq2hqCVA==", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", "requires": { "flatten": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", "indexes-of": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", @@ -17501,7 +15584,7 @@ }, "postcss-svgo": { "version": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", - "integrity": "sha512-y5AdQdgBoF4rbpdbeWAJuxE953g/ylRfVNp6mvAi61VCN/Y25Tu9p5mh3CyI42WbTRIiwR9a1GdFtmDnNPeskQ==", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", "requires": { "is-svg": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", @@ -17511,7 +15594,7 @@ }, "postcss-unique-selectors": { "version": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", - "integrity": "sha512-WZX8r1M0+IyljoJOJleg3kYm10hxNYF9scqAT7v/xeSX1IdehutOM85SNO0gP9K+bgs86XERr7Ud5u3ch4+D8g==", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", "requires": { "alphanum-sort": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", @@ -17520,11 +15603,11 @@ }, "postcss-value-parser": { "version": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha512-3gxd4RJ4x8StdKO7ETg4JrS6jsgWNFV83jZeievoisuPMBT8oCjZGCtFnoZpve9NCS27r+UtCYEDn4QVbhPHrg==" + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=" }, "postcss-zindex": { "version": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", - "integrity": "sha512-uhRZ2hRgj0lorxm9cr62B01YzpUe63h0RXMXQ4gWW3oa2rpJh+FJAiEAytaFCPU/VgaBS+uW2SJ1XKyDNz1h4w==", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", "requires": { "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "postcss": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", @@ -17533,19 +15616,19 @@ }, "prelude-ls": { "version": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, "prepend-http": { "version": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==" + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" }, "preserve": { "version": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==" + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" }, "pretty-error": { "version": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha512-FjthfAXdfqTrBLus270RxrQIdxGOY9qYO/MMTg3T1stG56EGWbNc9cUT4J3ov6aYSn5XwdRjBBvVKPmnUGl2Cg==", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", "requires": { "renderkid": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", "utila": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" @@ -17553,30 +15636,30 @@ }, "private": { "version": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", - "integrity": "sha512-YmFOCNzqPkis1UxGH6pr8zN4DLoFNcJPvrD+ZLr7aThaOpaHufbWy+UhCa6PM0XszYIWkcJZUg40eKHR5+w+8w==" + "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=" }, "process": { "version": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "process-nextick-args": { "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==" + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" }, "progress": { "version": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha512-UdA8mJ4weIkUBO224tIarHzuHs4HuYiJvsuGT7j/SPQiUJVjYvNDBIPa0hAorduOfjGohB/qHWRa/lrrWX/mXw==" + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=" }, "promise": { "version": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", "requires": { "asap": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" } }, "prop-types": { "version": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", - "integrity": "sha512-vCFzoUFaZkVNeFkhK1KbSq4cn97GDrpfBt9K2qLkGnPAEFhEv3M61Lk5t+B7c0QfMLWo0fPkowk/4SuXerh26Q==", + "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=", "requires": { "fbjs": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz" @@ -17584,7 +15667,7 @@ "dependencies": { "fbjs": { "version": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", - "integrity": "sha512-SBiP6XPiWIlX1tE5mvU/UeUFoqzJgbf+ezkl0M8D2xk4urDb+2uyjjGB10HAPluLboUqqVHtgUwwyuWakUfMgQ==", + "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=", "requires": { "core-js": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", "isomorphic-fetch": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", @@ -17597,13 +15680,13 @@ }, "object-assign": { "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" } } }, "proxy-addr": { "version": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.4.tgz", - "integrity": "sha512-G/noElq/twFBfS4WnyIyGwJgBeUTmsiMnpy1H8jRsBBcP0vn9ncxIZKA2PkK5guEUbb+98BduZnrupe1AN3ziw==", + "integrity": "sha1-J+VF9pYKRKYn2bREZ+NcG2tM4vM=", "requires": { "forwarded": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz", "ipaddr.js": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.3.0.tgz" @@ -17611,23 +15694,23 @@ }, "prr": { "version": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", - "integrity": "sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ==" + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=" }, "pseudomap": { "version": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "punycode": { "version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "q": { "version": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", - "integrity": "sha512-VVMcd+HnuWZalHPycK7CsbVJ+sSrrrnCvHcW38YJVK9Tywnb5DUWJjONi81bLUj7aqDjIXnePxBl5t1r/F/ncg==" + "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=" }, "query-string": { "version": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", "requires": { "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "strict-uri-encode": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" @@ -17635,25 +15718,25 @@ "dependencies": { "object-assign": { "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" } } }, "querystring": { "version": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, "querystring-es3": { "version": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==" + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, "querystringify": { "version": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", - "integrity": "sha512-uSBVdZ68zn9oM4lnS1/7kxuh5+20iSaJiYq/+h75/u+dHapT2jhgGiSr11ewBr9cBjrdqlLLZw6BB2LJr9ritw==" + "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=" }, "quote-stream": { "version": "https://registry.npmjs.org/quote-stream/-/quote-stream-0.0.0.tgz", - "integrity": "sha512-m4VtvjAMx00wgAS6eOy50ZDat1EBQeFKBIrtF/oxUt0MenEI33y7runJcRiOihc+JBBIt2aFFJhILIh4e9shJA==", + "integrity": "sha1-zeKelMQJsW4Z3HCYuJtmWPlyHTs=", "requires": { "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "through2": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz" @@ -17661,7 +15744,7 @@ }, "randomatic": { "version": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", "requires": { "is-number": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" @@ -17669,14 +15752,14 @@ "dependencies": { "is-number": { "version": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" }, "dependencies": { "kind-of": { "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz" } @@ -17685,7 +15768,7 @@ }, "kind-of": { "version": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz" } @@ -17694,11 +15777,11 @@ }, "range-parser": { "version": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==" + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" }, "react": { "version": "https://registry.npmjs.org/react/-/react-0.14.9.tgz", - "integrity": "sha512-X4U9NShyynSMSS345m3e+fWAWfMjt+FvBJq6qfcwj1uq7oPFukmIHninQ7LVyUV25P/9PRCtnzWt2/bJKytabw==", + "integrity": "sha1-kRCmSXxJ1EuhwO3TF67CnC4NkdE=", "requires": { "envify": "https://registry.npmjs.org/envify/-/envify-3.4.1.tgz", "fbjs": "https://registry.npmjs.org/fbjs/-/fbjs-0.6.1.tgz" @@ -17706,15 +15789,15 @@ }, "react-dom": { "version": "https://registry.npmjs.org/react-dom/-/react-dom-0.14.9.tgz", - "integrity": "sha512-/RICyeMecwC6tO6cx5OT7P7v8nTXWRjFF0nGtSgLbJ4sX7cICTPAO1bnCCQsT37MxLG7x/7KKuXKFAyiS8fr7Q==" + "integrity": "sha1-BQZKPc8PsYgKOyv8nVjFXY2fYpM=" }, "react-input-autosize": { "version": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-0.6.13.tgz", - "integrity": "sha512-2A1kyiYoJfXoPg7dO+zITcV5ooSyOIgZBbZSs/aqlIT6r5n+Yf6qq5K6upEByXCHekD3TQ7JXLEA6Es6l8a7OA==" + "integrity": "sha1-OG/3qdLD3AFsJlvy5Z05cFD2Wvc=" }, "react-jade": { "version": "https://registry.npmjs.org/react-jade/-/react-jade-2.5.0.tgz", - "integrity": "sha512-gfRkF00pfutaCcsSCLSlKEMRIqViQIE0aoe3DZpwPbXlFZTc/ci+cg759GL7je3tLdYwP+tKEPYEBRrIrPSpmA==", + "integrity": "sha1-w02dLdPuoB9S/UnMKIpcGmh8lIw=", "requires": { "acorn": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz", "constantinople": "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz", @@ -17729,15 +15812,15 @@ "dependencies": { "acorn": { "version": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz", - "integrity": "sha512-FsqWmApWGMGLKKNpHt12PMc5AK7BaZee0WRh04fCysmTzHe+rrKOa2MKjORhnzfpe4r0JnfdqHn02iDA9Dqj2A==" + "integrity": "sha1-yM4n3grMdtiW0rH6099YjZ6C8BQ=" }, "commander": { "version": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", - "integrity": "sha512-PhbTMT+ilDXZKqH8xbvuUY2ZEQNef0Q7DKxgoEKb4ccytsdvVVJmYqR0sGbi96nxU6oGrwEIQnclpK2NBZuQlg==" + "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=" }, "jade": { "version": "https://registry.npmjs.org/jade/-/jade-1.9.2.tgz", - "integrity": "sha512-MhDlh3ZW0a06RiI2T/sDEYPUXTnfOkSIECRsPLiZtebz+Fi2ZaB0IVdJxSGDt6lWg4jHMEiHuq/0cPpppt1kqQ==", + "integrity": "sha1-C4n5xg1OrSc46Ca6eyzKyaVwKr4=", "requires": { "character-parser": "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz", "commander": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", @@ -17750,7 +15833,7 @@ "dependencies": { "with": { "version": "https://registry.npmjs.org/with/-/with-4.0.3.tgz", - "integrity": "sha512-mJZFpyEc1JTAdxhi/vhVeAM2S7vsltEKDiexDDo1HuAzlYKhcVUU6cwY8cHrFYdt82ZNkfKCeyhA3IYFegI0Kg==", + "integrity": "sha1-7v0VTp550sjTQXtkeo8U2f7M4U4=", "requires": { "acorn": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz", "acorn-globals": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz" @@ -17760,11 +15843,11 @@ }, "source-map": { "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==" + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" }, "uglify-js": { "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "requires": { "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", "uglify-to-browserify": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", @@ -17773,7 +15856,7 @@ }, "with": { "version": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", - "integrity": "sha512-uAnSsFGfSpF6DNhBXStvlZILfHJfJu4eUkfbRGk94kGO1Ta7bg6FwfvoOhhyHAJuFbCw+0xk4uJ3u57jLvlCJg==", + "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=", "requires": { "acorn": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "acorn-globals": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz" @@ -17781,18 +15864,18 @@ "dependencies": { "acorn": { "version": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==" + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" }, "acorn-globals": { "version": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", - "integrity": "sha512-uWttZCk96+7itPxK8xCzY86PnxKTMrReKDqrHzv42VQY0K30PUO8WY13WMOuI+cOdX4EIdzdvQ8k6jkuGRFMYw==", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", "requires": { "acorn": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz" }, "dependencies": { "acorn": { "version": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha512-fu2ygVGuMmlzG8ZeRJ0bvR41nsAkxxhbyk8bZ1SS521Z7vmgJFTQQlfz/Mp/nJexGBz+v8sC9bM6+lNgskt4Ug==" + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" } } } @@ -17802,7 +15885,7 @@ }, "react-redux": { "version": "https://registry.npmjs.org/react-redux/-/react-redux-4.4.8.tgz", - "integrity": "sha512-VRWfz+wSPQmnTaWXL+Y9GNA3mc7Pjb9b9IKp2kDMZNmcwigebgqdU4q2dn7wmE08iXr9hirwXGV4ONsBUKY6Dw==", + "integrity": "sha1-57wd0QDotk6WrIIS2xEyObni4I8=", "requires": { "create-react-class": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.0.tgz", "hoist-non-react-statics": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", @@ -17814,7 +15897,7 @@ }, "react-select": { "version": "https://registry.npmjs.org/react-select/-/react-select-0.9.1.tgz", - "integrity": "sha512-fvYdkfxbaf3G9H4WFCJCm8rwq37TzEW+UPIMI8Xs8NMvW2obQN7qr97zBuHK9Lplhh9SxkfturaIM9FgTtLB7g==", + "integrity": "sha1-4yKi0KBjlqSCBrBVPfXsR9Fgg7o=", "requires": { "classnames": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", "react-input-autosize": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-0.6.13.tgz" @@ -17822,7 +15905,7 @@ }, "read-pkg": { "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "requires": { "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -17831,7 +15914,7 @@ }, "read-pkg-up": { "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "requires": { "find-up": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" @@ -17839,7 +15922,7 @@ }, "readable-stream": { "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -17849,7 +15932,7 @@ }, "readdirp": { "version": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha512-LgQ8mdp6hbxJUZz27qxVl7gmFM/0DfHRO52c5RUbKAgMvr81tour7YYWW1JYNmrXyD/o0Myy9/DC3fUYkqnyzg==", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "requires": { "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -17859,11 +15942,11 @@ "dependencies": { "isarray": { "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "readable-stream": { "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", "requires": { "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -17876,7 +15959,7 @@ }, "string_decoder": { "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", "requires": { "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" } @@ -17885,7 +15968,7 @@ }, "readline2": { "version": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", - "integrity": "sha512-8/td4MmwUB6PkZUbV25uKz7dfrmjYWxsW8DVfibWdlHRk/l/DfHKn4pU+dfcoGLFgWOdyGCzINRQD7jn+Bv+/g==", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", "requires": { "code-point-at": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", @@ -17894,7 +15977,7 @@ }, "recast": { "version": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", - "integrity": "sha512-+nixG+3NugceyR8O1bLU45qs84JgI3+8EauyRZafLgC9XbdAOIVgwV1Pe2da0YzGo62KzWoZwUpVEQf6qNAXWA==", + "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", "requires": { "ast-types": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", "esprima": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", @@ -17904,17 +15987,17 @@ "dependencies": { "esprima": { "version": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg==" + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" }, "source-map": { "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==" + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" } } }, "redent": { "version": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "requires": { "indent-string": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", "strip-indent": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" @@ -17922,7 +16005,7 @@ }, "reduce-css-calc": { "version": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", - "integrity": "sha512-0dVfwYVOlf/LBA2ec4OwQ6p3X9mYxn/wOl2xTcLwjnPYrkgEfPx3VI4eGCH3rQLlPISG5v9I9bkZosKsNRTRKA==", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", "requires": { "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", "math-expression-evaluator": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", @@ -17931,26 +16014,26 @@ "dependencies": { "balanced-match": { "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha512-STw03mQKnGUYtoNjmowo4F2cRmIIxYEGiMsjjwla/u5P1lxadj/05WkNaFjNiKTgJkj8KiXbgAiRTmcQRwQNtg==" + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" } } }, "reduce-function-call": { "version": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", - "integrity": "sha512-oDG9BTdyqrUcOeUafoT4LoUP13n6vDx2I6jx+yumkTlQQhvoxysJINKmmjZHGaV9cYg4zZdk2xXTnfBTBq+dKg==", + "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", "requires": { "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" }, "dependencies": { "balanced-match": { "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha512-STw03mQKnGUYtoNjmowo4F2cRmIIxYEGiMsjjwla/u5P1lxadj/05WkNaFjNiKTgJkj8KiXbgAiRTmcQRwQNtg==" + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" } } }, "redux": { "version": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", + "integrity": "sha1-BrcxIyFZAdJdBlvjQusCa8HIU3s=", "requires": { "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", "lodash-es": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.4.tgz", @@ -17960,15 +16043,15 @@ }, "regenerate": { "version": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz", - "integrity": "sha512-ZjGdBdKBADWnb6oF2uE/OjY3k8Nm4yY4nXhY+cq7NqheN7x23bcm/obALbqev4Kd3bOvWIvYLmUacnc8CI07oA==" + "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=" }, "regenerator-runtime": { "version": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==" + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" }, "regenerator-transform": { "version": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.11.tgz", - "integrity": "sha512-mBYWw6lTiHC5EVHo5yBiBgOUU6kgi7QGb3kQVyRw3of/REGxoELtLDSEQQ96ZFo084w7pOFw1nv85Jvo36ZP9A==", + "integrity": "sha1-On0GdSDLe3F2dp61/4aGkb7+EoM=", "requires": { "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", @@ -17977,7 +16060,7 @@ }, "regex-cache": { "version": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", - "integrity": "sha512-mD03Qv3Lb7ncwijS5zPvJUIrIXA1XBrxIuB6/XoesvWlyJBNCk7WZa9fCnIOpTKzd6C1L+rpaxrr6t0CYFDQ+Q==", + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", "requires": { "is-equal-shallow": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "is-primitive": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz" @@ -17985,7 +16068,7 @@ }, "regexpu-core": { "version": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "requires": { "regenerate": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz", "regjsgen": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", @@ -17994,32 +16077,32 @@ }, "regjsgen": { "version": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==" + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" }, "regjsparser": { "version": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "requires": { "jsesc": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" }, "dependencies": { "jsesc": { "version": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } }, "relateurl": { "version": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" }, "remove-trailing-separator": { "version": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz", - "integrity": "sha512-3+lgCOlL3GmoNSlALFpKkknUBambWkem5pc98c/vFCrjj2kZKgMNGP+/hedBQB/MjDvL6cIpWMwI4bRrZWa6Ig==" + "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=" }, "renderkid": { "version": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", - "integrity": "sha512-vEQAYVNYfvhfTKtGP5RfYgtZ3wi2CAZg3snP/ythLWNFeA8//lgwqbN4yo6/sSvimM/lzyd7Cer5tbg8l0HorA==", + "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", "requires": { "css-select": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "dom-converter": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", @@ -18030,28 +16113,28 @@ "dependencies": { "utila": { "version": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", - "integrity": "sha512-GuhEdYpNPM2Hn9fC78j9urwuXpPuUbBsB4Gw19Jd/RA/Q4x7kHmlY3xLwhzF9GxK6aIX5vojQmlfC7+5pthD9g==" + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=" } } }, "repeat-element": { "version": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha512-PJn5P/wQgXwp0Bpmzv9JU693QYky9P5bwntpuw8SsMXgUZHlcEyr9Vajgp/zhGSFX56/lv9Bz2k9mKrkpxLI4A==" + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" }, "repeat-string": { "version": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "repeating": { "version": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "requires": { "is-finite": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz" } }, "request": { "version": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw==", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", "requires": { "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", @@ -18079,21 +16162,21 @@ "dependencies": { "qs": { "version": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha512-Qs6dfgR5OksK/PSxl1kGxiZgEQe8RqJMB9wZqVlKQfU+zzV+HY77pWJnoJENACKDQByWdpr8ZPIh1TBi4lpiSQ==" + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=" } } }, "require-directory": { "version": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-main-filename": { "version": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==" + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "require-uncached": { "version": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha512-Xct+41K3twrbBHdxAgMoOS+cNcoqIjfM2/VxBF4LL2hVph7YsF8VSKyQ3BDFZwEVbok9yeDl2le/qo0S77WG2w==", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "requires": { "caller-path": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", "resolve-from": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz" @@ -18101,26 +16184,26 @@ }, "requires-port": { "version": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, "reqwest": { "version": "https://registry.npmjs.org/reqwest/-/reqwest-1.1.6.tgz", - "integrity": "sha512-qlGmF5fXuDoKhJrzEE4MAZk/knGVnJo095vFNHMVe9FnTUZI5prv9+xiVOjY72C7LGIDapUnG62wLNSRfpY4Cg==" + "integrity": "sha1-S2iU0pWWv46CSiXzSXXfFVYu6BM=" }, "resolve": { "version": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz", - "integrity": "sha512-1p/C+O7k1Gt16zZRRp8wWxNr8N/7hBP25g3OcUxgYB18hUx0k1vHaIvI9wtVfCNYogxKAYLdpLF8MMB5eh4IGA==", + "integrity": "sha1-ZVkHw0aahoDcLeOidaj91paR8OU=", "requires": { "path-parse": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz" } }, "resolve-from": { "version": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg==" + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=" }, "restore-cursor": { "version": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", "requires": { "exit-hook": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", "onetime": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" @@ -18128,21 +16211,21 @@ }, "right-align": { "version": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "requires": { "align-text": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz" } }, "rimraf": { "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha512-5QIcndZ8am2WyseL6lln/utl51SwRBQs/at+zi1UnhsnPyZcAID+g0PZrKdb+kJn2fo/CwgyJweR8sP36Jer5g==", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", "requires": { "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz" }, "dependencies": { "glob": { "version": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", "requires": { "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -18156,22 +16239,22 @@ }, "ripemd160": { "version": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz", - "integrity": "sha512-JJsJ74Mw4sUDDisXGDnNNyN9xWmt5HcH6Kwvb/0m/IvTKjnLAtZfzeoLdpxk44AxQZki54oCCd+Kt0nPQ2AF2g==" + "integrity": "sha1-K/GYveFnys+lHAqSjoS2i74XH84=" }, "run-async": { "version": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha512-qOX+w+IxFgpUpJfkv2oGN0+ExPs68F4sZHfaRRx4dDexAQkG83atugKVEylyT5ARees3HBbfmuvnjbrd8j9Wjw==", + "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", "requires": { "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz" } }, "rx-lite": { "version": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", - "integrity": "sha512-1I1+G2gteLB8Tkt8YI1sJvSIfa0lWuRtC8GjvtyPBcLSF5jBCCJJqKrpER5JU5r6Bhe+i9/pK3VMuUcXu0kdwQ==" + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=" }, "s3": { "version": "https://registry.npmjs.org/s3/-/s3-4.4.0.tgz", - "integrity": "sha512-6dF5TENLScyHkqu6O5AH5wuZX1kzcEUoQXFfmzb/gyV+rh+aPkNwl4uGoy+GvD984q0DumfE+TX93airqyUfWw==", + "integrity": "sha1-VqT3dVFae2ucjlxrGrUfkDdmnx8=", "requires": { "aws-sdk": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.31.tgz", "fd-slicer": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", @@ -18186,32 +16269,32 @@ "dependencies": { "graceful-fs": { "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", - "integrity": "sha512-TUMHqvtdbiU5R8XmiHolgo/9mrFPzGlPSDgw9inIIGpCkOPcG3BmRmPdnVuzbBvWIgmVsJQ8ig2cwIpbtr6+ZA==", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", "requires": { "natives": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz" } }, "mime": { "version": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "integrity": "sha512-Ysa2F/nqTNGHhhm9MV8ure4+Hc+Y8AWiqUdHxsO7xu8zc92ND9f3kpALHjaP026Ft17UfxrMt95c50PLUeynBw==" + "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=" }, "rimraf": { "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==" + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=" } } }, "safe-buffer": { "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" }, "samsam": { "version": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz", - "integrity": "sha512-iVL7LibpM3tl4rQPweOXXrmjGegxx27flTOjQEZD3PXe4oZNFzuz6Si4mgleK/JWU/hyCvtV01RUovjvBEpDmw==" + "integrity": "sha1-vsEf3IOp/aBjQBIQ5AF2wwJNFWc=" }, "sass-graph": { "version": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", - "integrity": "sha512-XNoU0z8bcokFaCU8WjiIQmI0Bgoe4AsdP3FxnBnCxI7GtmQVvig8h9ksTtjuGiE3c0P++kiUuqH9yk917jgslg==", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", "requires": { "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", @@ -18221,11 +16304,11 @@ "dependencies": { "camelcase": { "version": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==" + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" }, "cliui": { "version": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -18234,7 +16317,7 @@ }, "glob": { "version": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", "requires": { "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -18246,7 +16329,7 @@ }, "yargs": { "version": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha512-JHLTJJ5uqdt0peYp5mHzmSNV4uHXWphgSlKk5jg3sY5XYPTBw0hzw0SDNnYISn7pAXeAv5pKT4CNY+EcCTptBg==", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "requires": { "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", "cliui": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", @@ -18267,7 +16350,7 @@ }, "sass-loader": { "version": "https://registry.npmjs.org/sass-loader/-/sass-loader-3.2.3.tgz", - "integrity": "sha512-D3V3fwheYiVuwE5yy4ljXRRfGAo04qSsx3XapCvrRjEDGa9zeE7W7pPgiU9C9KWKzIyYBPYbSWX4WxUPbhbGXA==", + "integrity": "sha1-dC6B/YFwqHcal54YYiUBZ0qI41U=", "requires": { "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", @@ -18276,21 +16359,21 @@ "dependencies": { "async": { "version": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" }, "object-assign": { "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" } } }, "sax": { "version": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" }, "scss-tokenizer": { "version": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha512-dYE8LhncfBUar6POCxMTm0Ln+erjeczqEvCJib5/7XNkdw1FkUGgwMPY360FY0FgPWQxHWCx29Jl3oejyGLM9Q==", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", "requires": { "js-base64": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz" @@ -18298,11 +16381,11 @@ }, "semver": { "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha512-mfmm3/H9+67MCVix1h+IXTpDwL6710LyHuk7+cWC9T1mE0qz4iHhh6r4hU2wrIT9iTsAAC2XQRvfblL028cpLw==" + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" }, "send": { "version": "https://registry.npmjs.org/send/-/send-0.15.3.tgz", - "integrity": "sha512-w21BXI1HgOfW8PQmKAU7yQJJmTPaXN3zwsAnRXkawmSC+W+pUeAE0rgt3dO5bM+ia3Gy8CDekD1FE/ZZMtlewQ==", + "integrity": "sha1-UBP5+ZAj31DRvZiSwZ4979HVMwk=", "requires": { "debug": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", "depd": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", @@ -18321,7 +16404,7 @@ "dependencies": { "debug": { "version": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", - "integrity": "sha512-7YoSmTDGnXYkFJOvaYXfxcvNE25Y11uZ0X8Mo+pSXjHz/9WUlbCS4O6q+wj7lhubdNQQXxxsSOnlqlDG8SenXQ==", + "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=", "requires": { "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" } @@ -18330,7 +16413,7 @@ }, "serve-index": { "version": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.0.tgz", - "integrity": "sha512-btXPFKITJiodQ9CaH6RrvVFMNAT8TcYz5DHpXdtY/7rpG5EXUV5Bw8Pu8GVUzCHlkEXOhEOLntXLzMhirMsBXw==", + "integrity": "sha1-0rKA/FYNYW7oG0i/D6gqvtJIXOc=", "requires": { "accepts": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", "batch": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -18343,7 +16426,7 @@ }, "serve-static": { "version": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz", - "integrity": "sha512-M83Sy74z4RJdcXeZUvNjuv/AtjE/38BNYR8h8mgCC8w32QA6hcQx9Efr/YIlmqIDnxNkS1/fcxNJJtK+g9O+QQ==", + "integrity": "sha1-n0uhni8wMMVH+K+ZEHg47DjVseI=", "requires": { "encodeurl": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", "escape-html": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -18353,39 +16436,39 @@ }, "set-blocking": { "version": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-immediate-shim": { "version": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ==" + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" }, "setimmediate": { "version": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "setprototypeof": { "version": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha512-9jphSf3UbIgpOX/RKvX02iw/rN2TKdusnsPpGfO/rkcsrd+IRqgHZb4VGnmL0Cynps8Nj2hN45wsi30BzrHDIw==" + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" }, "sha.js": { "version": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz", - "integrity": "sha512-GC+qN4sf/O6bDwz6CHaz8HVQfLbbNyIsXpTZLiD5c1badnWA63WVAH1msoCq+fXcV0dZ50jxTqKA8seu40845A==" + "integrity": "sha1-F93t3F9yL7ZlAWWIlUYZd4ZzFbo=" }, "shallow-copy": { "version": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", - "integrity": "sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==" + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" }, "shelljs": { "version": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz", - "integrity": "sha512-B1vvzXQlJ77SURr3SIUQ/afh+LwecDKAVKE1wqkBlr2PCHoZDaF6MFD+YX1u9ddQjR4z2CKx1tdqvS2Xfs5h1A==" + "integrity": "sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=" }, "signal-exit": { "version": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha512-meQNNykwecVxdu1RlYMKpQx4+wefIYpmxi6gexo/KAbwquJrBUrBmKYJrE8KFkVQAAVWEnwNdu21PgrD77J3xA==" + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "sinon": { "version": "https://registry.npmjs.org/sinon/-/sinon-2.0.0-pre.tgz", - "integrity": "sha512-A+ucP4z3n03WyZD7qbzJI/BAl1pPXY7EvEnUs7mLczlOYA8+q438dGi/uIJeC9032xscG2Sp4wg+me6VORE8eQ==", + "integrity": "sha1-GCk7APsvFVyZ6OW0bjH36t4ygV0=", "requires": { "formatio": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz", "lolex": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz", @@ -18396,23 +16479,23 @@ }, "slash": { "version": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, "slice-ansi": { "version": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==" + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=" }, "sntp": { "version": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A==", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "requires": { "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" } }, "sockjs": { "version": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.18.tgz", - "integrity": "sha512-TYOxY9QjCiFd+9/Yj0QPMbl2xoO7wSggt0QQDff/5kcXf5ROXZo2tEsjHtRI0biEUJ2viLxI9JjCyTyr8q6h0A==", + "integrity": "sha1-2bKJMWyn33dZXvKZ4HXw+TfrQgc=", "requires": { "faye-websocket": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", "uuid": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz" @@ -18420,13 +16503,13 @@ "dependencies": { "uuid": { "version": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha512-FULf7fayPdpASncVy4DLh3xydlXEJJpvIELjYjNeQWYUZ9pclcpvCZSr2gkmN2FrrGcI7G/cJsIEwk5/8vfXpg==" + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" } } }, "sockjs-client": { "version": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", - "integrity": "sha512-hkDiI0wOmGmoUG3TSIrbDt8AhyzhePuNT3nogc5+c0amyUHu091y+jRK2h/e36olKRG+tSbhlQYHWqdsuW0CtQ==", + "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", "requires": { "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", "eventsource": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", @@ -18438,7 +16521,7 @@ "dependencies": { "faye-websocket": { "version": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha512-UfAKYOloAKPtWgu0YZtyRR0y1XQmZq2vZ0piJVMnJLfDctlqx2oIX4qoZDsiP7phmVpZ7gpqIwh1k2vfbbZBsg==", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", "requires": { "websocket-driver": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz" } @@ -18447,25 +16530,25 @@ }, "sort-keys": { "version": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", "requires": { "is-plain-obj": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" } }, "source-list-map": { "version": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", - "integrity": "sha512-cabwdhnSNf/tTDMh/DXZXlkeQLvdYT5xfGYBohqHG7wb3bBQrQlHQNWM9NWSOboXXK1zgwz6JzS5e4hZq9vxMw==" + "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=" }, "source-map": { "version": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "requires": { "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz" } }, "source-map-support": { "version": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz", - "integrity": "sha512-oRP/tYo0d1l3D4f/bRWkWeLg80AxAqE225Vf1tbkuHZxANSgSQwfDHzDuhpS7U0ocKfwggp4PSAnMoRKsAgIZg==", + "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=", "dev": true, "requires": { "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" @@ -18473,33 +16556,33 @@ "dependencies": { "source-map": { "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", "dev": true } } }, "spdx-correct": { "version": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha512-A6UuuDdsSvKK2bqmUetv33zJVv0iczyaQZ536YL9+GAvbC4HceGKvXDtptnU9YZ/zGgryaFFsR4YaUCq+N/53g==", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "requires": { "spdx-license-ids": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz" } }, "spdx-expression-parse": { "version": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha512-xMXXC4eLKaIskvZm89nZi/MstVv1UtGk3nJz9BBKjreMVyoWisWFKfboH+kJS97+wUyBLpO/8ghV9M5VvrwwrA==" + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" }, "spdx-license-ids": { "version": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha512-qIBFhkh6ILCWNeWEe3ODFPKDYhPJrZpqdNCI2Z+w9lNdH5hoVEkfRLLbRfoIi8fb4xRYmpEOaaMH4G2pwYp/iQ==" + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" }, "sprintf-js": { "version": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sshpk": { "version": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha512-oKPL4k+ld5d737ZPB4VM99bqNb3JH+ZkxwWXR1iSPtqYbZv81hkLD7v8gmclrgR7aA8uh8ar+q0IF7gHFHg7PQ==", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "requires": { "asn1": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", @@ -18513,20 +16596,20 @@ "dependencies": { "assert-plus": { "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" } } }, "static-eval": { "version": "https://registry.npmjs.org/static-eval/-/static-eval-0.2.4.tgz", - "integrity": "sha512-6dWWPfa/0+1zULdQi7ssT5EQZHsGK8LygBzhE/HdafNCo4e/Ibt7vLPfxBw9VcdVV+t0ARtN4ZAJKtApVc0A5Q==", + "integrity": "sha1-t9NNg4k3uWn5ZBygfUj47eJj6ns=", "requires": { "escodegen": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz" }, "dependencies": { "escodegen": { "version": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz", - "integrity": "sha512-6ioQhg16lFs5c7XJlJFXIDxBjO4yRvXC9yK6dLNNGuhI3a/fJukHanPF6qtpjGDgAFzI8Wuq3PSIarWmaOq/5A==", + "integrity": "sha1-Dk/xcV8yh3XWyrUaxEpAbNer/9M=", "requires": { "esprima": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz", @@ -18535,17 +16618,17 @@ }, "esprima": { "version": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==" + "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=" }, "estraverse": { "version": "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz", - "integrity": "sha512-OkbCPVUu8D9tbsLcUR+CKFRBbhZlogmkbWaP3BPERlkqzWL5Q6IdTz6eUk+b5cid2MTaCqJb2nNRGoJ8TpfPrg==" + "integrity": "sha1-N8K4k+8T1yPydth41g2FNRUqbEI=" } } }, "static-module": { "version": "https://registry.npmjs.org/static-module/-/static-module-1.4.0.tgz", - "integrity": "sha512-vsYLDQksG5xil7dVs5/mF0tS0ogwz0qWIACxRwve9z9lmJm9TOOli28h7lbjw1AOEBBz4TJNnbeuXfm5uhS9YQ==", + "integrity": "sha1-vvDZtviVhfbyNZuBYb7qsGBV29I=", "requires": { "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", @@ -18562,11 +16645,11 @@ }, "statuses": { "version": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg==" + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" }, "stream-browserify": { "version": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha512-nmQnY9D9TlnfQIkYJCCWxvCcQODilFRZIw14gCMYQVXOiY4E1Ze1VMxB+6y3qdXHpTordULo2qWloHmNcNAQYw==", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "requires": { "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" @@ -18574,11 +16657,11 @@ "dependencies": { "isarray": { "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "readable-stream": { "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", "requires": { "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -18591,7 +16674,7 @@ }, "string_decoder": { "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", "requires": { "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" } @@ -18600,11 +16683,11 @@ }, "stream-cache": { "version": "https://registry.npmjs.org/stream-cache/-/stream-cache-0.0.2.tgz", - "integrity": "sha512-FsMTiRi4aXOcbL3M2lh7yAOWqM7kfVWQfkJ6kelrhdKNpJJVm0IebICQ2LURsbC5w9XfPSRwd9DkfqDHR9OP3g==" + "integrity": "sha1-GsWtaDJCjKVWZ9ve45Xa1ObbEY8=" }, "stream-http": { "version": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", - "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", + "integrity": "sha1-QKBQ7I3DtTsz2ZCUFcAsC/Gr+60=", "requires": { "builtin-status-codes": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -18615,11 +16698,11 @@ "dependencies": { "isarray": { "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "readable-stream": { "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", "requires": { "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -18632,28 +16715,28 @@ }, "string_decoder": { "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", "requires": { "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" } }, "xtend": { "version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha512-iTwvhNBRetXWe81+VcIw5YeadVSWyze7uA7nVnpP13ulrpnJ3UfQm5ApGnrkmxDJFdrblRdZs0EvaTCIfei5oQ==" + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" } } }, "streamsink": { "version": "https://registry.npmjs.org/streamsink/-/streamsink-1.2.0.tgz", - "integrity": "sha512-MJ440L2+j2vmc1v8Z/BkMx3X+HsJ++V7mgDROboQKxqCLZdNbu+AeSwQbayXw3LPHVAMxw+h7ZJUnyFYl/zp2g==" + "integrity": "sha1-76/unx4i01ke1949yqlcP1559zw=" }, "strict-uri-encode": { "version": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==" + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, "string-width": { "version": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", @@ -18662,47 +16745,47 @@ }, "string_decoder": { "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" }, "stringstream": { "version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha512-QUQ1kThMjLRt4jA8lsn9lyIkE9bKafE7LDOL/nBBUY9Tfv2i3x1NAsVHG0uMCusFOWeeI6COhY/F20+avxRWSw==" + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" }, "strip-ansi": { "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" } }, "strip-bom": { "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "requires": { "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" } }, "strip-indent": { "version": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "requires": { "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" } }, "strip-json-comments": { "version": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==" + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=" }, "style-loader": { "version": "https://registry.npmjs.org/style-loader/-/style-loader-0.13.2.tgz", - "integrity": "sha512-0lN0o7DS1G/HRoYJQMEO3yP+tNCuAnNuX1mt/2Yw4edSok45vebtyJoHUyBREasuPYBtZpC3d8wvgY/WD68ZJg==", + "integrity": "sha1-dFMzhM9pjHEEx5URULSXF63C87s=", "requires": { "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz" }, "dependencies": { "loader-utils": { "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha512-gkD9aSEG9UGglyPcDJqY9YBTUtCLKaBK6ihD2VP1d1X60lTfFspNZNulGBBbUZLkPygy4LySYHyxBpq+VhjObQ==", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "requires": { "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", @@ -18713,11 +16796,11 @@ }, "supports-color": { "version": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, "svgo": { "version": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha512-jT/g9FFMoe9lu2IT6HtAxTA7RR2XOrmcrmCtGnyB/+GQnV6ZjNn+KOHZbZ35yL81+1F/aB6OeEsJztzBQ2EEwA==", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", "requires": { "coa": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", "colors": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", @@ -18730,11 +16813,11 @@ }, "symbol-observable": { "version": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", - "integrity": "sha512-+zhuFJT/l/6NEDL3gkjQ1flyil069glapYzByUjrUdPcn9Z3uFDHbz9TBrPhMz5xFEPyrI3NmDRlJ/lKxnIkIA==" + "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" }, "table": { "version": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", - "integrity": "sha512-RZuzIOtzFbprLCE0AXhkI0Xi42ZJLZhCC+qkwuMLf/Vjz3maWpA8gz1qMdbmNoI9cOROT2Am/DxeRyXenrL11g==", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", "requires": { "ajv": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", "ajv-keywords": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", @@ -18746,15 +16829,15 @@ "dependencies": { "ansi-regex": { "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha512-wFUFA5bg5dviipbQQ32yOQhl6gcJaJXiHE7dvR8VYPG97+J/GNC5FKGepKdEDUFeXRzDxPF1X/Btc8L+v7oqIQ==" + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, "is-fullwidth-code-point": { "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, "string-width": { "version": "https://registry.npmjs.org/string-width/-/string-width-2.1.0.tgz", - "integrity": "sha512-+kN/kDJ6eIiJHUx7CjQFo1Nlj019tKM3GNhx4uKXpVGfQiRh8hNmaZNOJpy6YhSdcBm+vmOGOkfJdNddNAcdrA==", + "integrity": "sha1-AwZkVh/BRslCPsfZeP4kV0N/5tA=", "requires": { "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" @@ -18762,7 +16845,7 @@ }, "strip-ansi": { "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" } @@ -18771,11 +16854,11 @@ }, "tapable": { "version": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", - "integrity": "sha512-jX8Et4hHg57mug1/079yitEKWGB3LCwoxByLsNim89LABq8NqgiX+6iYVOsq0vX8uJHkU+DZ5fnq95f800bEsQ==" + "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=" }, "tar": { "version": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha512-2Tw2uNtZqQTSHTIMbKHKFeAPmKcljrNKqKiIN7pu3V/CxYqRgS8DLXvMkFRrbtXlg6mTOQcuTX7DMj18Xi0dtg==", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "requires": { "block-stream": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "fstream": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", @@ -18784,19 +16867,19 @@ }, "text-encoding": { "version": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.5.2.tgz", - "integrity": "sha512-TqqmSALAT9ClNV361nAUnizZw3CXYOzwkKdS8/azilCJSZT8n5loezI9dKy72tQ/P0T3D4iHAXoZG2/ZUn7bcQ==" + "integrity": "sha1-hbRmCBnwiHd2CUZVUWkP6hN9gko=" }, "text-table": { "version": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, "through": { "version": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "through2": { "version": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", - "integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", "requires": { "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "xtend": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz" @@ -18804,40 +16887,40 @@ }, "timers-browserify": { "version": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.2.tgz", - "integrity": "sha512-O7UB405+hxP2OWqlBdlUMxZVEdsi8NOWL2c730Cs6zeO1l1AkxygvTm6yC4nTw84iGbFcqxbIkkrdNKzq/3Fvg==", + "integrity": "sha1-q0iDz1l9zVCvIRNJoA+8pWrIa4Y=", "requires": { "setimmediate": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" } }, "to-arraybuffer": { "version": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==" + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" }, "to-fast-properties": { "version": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==" + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" }, "toposort": { "version": "https://registry.npmjs.org/toposort/-/toposort-1.0.3.tgz", - "integrity": "sha512-RVYEVQPNqgCmNESPhfOiH9TCPPOPTWg5f3fod+qefSkhxJ3o5wsn71zfgBy1ENwvppKoDgN82SNj6BRph4Hoxw==" + "integrity": "sha1-8CzYp0vYvi/A6YYRw7rLlaFxhpw=" }, "tough-cookie": { "version": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha512-42UXjmzk88F7URyg9wDV/dlQ7hXtl/SDV6xIMVdDq82cnDGQDyg8mI8xGBPOwpEfbhvrja6cJ8H1wr0xxykBKA==", + "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", "requires": { "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" } }, "transform-loader": { "version": "https://registry.npmjs.org/transform-loader/-/transform-loader-0.2.4.tgz", - "integrity": "sha512-zdeb90cBkXoAwGvMRMYqS8lNNdZ9dYnEKxtXCi0ZmQ8OL1XF1b4BvuqjcVcm8ZJRsXSQCrSnGgd5gfaKTlGpcw==", + "integrity": "sha1-5ch4d7qW1R0/IlNoWHtG4ibRzsk=", "requires": { "loader-utils": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz" }, "dependencies": { "loader-utils": { "version": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha512-gkD9aSEG9UGglyPcDJqY9YBTUtCLKaBK6ihD2VP1d1X60lTfFspNZNulGBBbUZLkPygy4LySYHyxBpq+VhjObQ==", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "requires": { "big.js": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", "emojis-list": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", @@ -18848,7 +16931,7 @@ }, "transformers": { "version": "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz", - "integrity": "sha512-zJf5m2EIOngmBbDe2fhTPpCjzM2qkZVqrFJZc2jaln+KBeEaYKhS2QMOIkfVrNUyoOwqgbTwOHATzr3jZRQDyg==", + "integrity": "sha1-XSPLNVYd2F3Gf7hIIwm0fVPM6ac=", "requires": { "css": "https://registry.npmjs.org/css/-/css-1.0.8.tgz", "promise": "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz", @@ -18857,25 +16940,25 @@ "dependencies": { "is-promise": { "version": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" + "integrity": "sha1-MVc3YcBX4zwukaq56W2gjO++duU=" }, "promise": { "version": "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz", - "integrity": "sha512-OgMc+sxI3zWF8D5BJGtA0z7/IsrDy1/0cPaDv6HPpqa2fSTo7AdON5U10NbZCUeF+zCAj3PtfPE50Hf02386aA==", + "integrity": "sha1-RmSKqdYFr10ucMMCS/WUNtoCuA4=", "requires": { "is-promise": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz" } }, "source-map": { "version": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "requires": { "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz" } }, "uglify-js": { "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz", - "integrity": "sha512-viLk+/8G0zm2aKt1JJAVcz5J/5ytdiNaIsKgrre3yvSUjwVG6ZUujGH7E2TiPigZUwLYCe7eaIUEP2Zka2VJPA==", + "integrity": "sha1-puAqcNg5eSuXgEiLe4sYTAlcmcc=", "requires": { "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz" @@ -18885,47 +16968,47 @@ }, "trim": { "version": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==" + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" }, "trim-newlines": { "version": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==" + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" }, "trim-right": { "version": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, "tryit": { "version": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", - "integrity": "sha512-6C5h3CE+0qjGp+YKYTs74xR0k/Nw/ePtl/Lp6CCf44hqBQ66qnH1sDFR5mV/Gc48EsrHLB53lCFSffQCkka3kg==" + "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=" }, "tty-browserify": { "version": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" }, "tunnel-agent": { "version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" } }, "tweetnacl": { "version": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "optional": true }, "type-check": { "version": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "requires": { "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" } }, "type-is": { "version": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha512-0uqZYZDiBICTVXEsNcDLueZLPgZ8FgGe8lmVDQ0FcVFUeaxsPbFWiz60ZChVw8VELIt7iGuCehOrZSYjYteWKQ==", + "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", "requires": { "media-typer": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz" @@ -18933,15 +17016,15 @@ }, "typedarray": { "version": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "ua-parser-js": { "version": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.13.tgz", - "integrity": "sha512-B/VKhEqutx82qFz9+2h0nHqV9EpFktf1R2kuxjLy6FS80fRBCa96YxJcOX04abmu1Twa5GZZWlHyb7qH8Hk8Og==" + "integrity": "sha1-zZ3S+GSTs/RNvu7zeA/adMXuFL4=" }, "uglify-js": { "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.0.25.tgz", - "integrity": "sha512-JO1XE0WZ9m6UpDkN7WCyPNAWI6EN3K0g40ekcoJKejViYmryJ0BaLxXjvra1IsAeIlJfq72scTbhl0jknsT2GA==", + "integrity": "sha1-PcGQsO5DdJfkSbxveFZlsGr74FI=", "requires": { "commander": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" @@ -18949,51 +17032,51 @@ "dependencies": { "commander": { "version": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", "requires": { "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" } }, "source-map": { "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==" + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" } } }, "uglify-to-browserify": { "version": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==" + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=" }, "underscore": { "version": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha512-z4o1fvKUojIWh9XuaVLUDdf86RQiq13AC1dmHbTpoyuu+bquHms76v16CjycCbec87J7z0k//SiQVk0sMdFmpQ==" + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=" }, "uniq": { "version": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==" + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" }, "uniqid": { "version": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", - "integrity": "sha512-jdaD46X0I0Q3NOlPEnZ+dfsiAE4L8mBg7UB7mpzc6JN2ERQd4TtpXXsTOO2RqwTFwPifyYv6zTMl/sODGfdcxA==", + "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", "requires": { "macaddress": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz" } }, "uniqs": { "version": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==" + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" }, "unpipe": { "version": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "upper-case": { "version": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==" + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" }, "url": { "version": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "requires": { "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", "querystring": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" @@ -19001,13 +17084,13 @@ "dependencies": { "punycode": { "version": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" } } }, "url-parse": { "version": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz", - "integrity": "sha512-gBwhoU2/umBG1wPK3MgGwLlaifJxzISumU7imrW9OV2hU7MMkmSfGQdN8AFnhBm1P/zamF7xt58Xq35/+pPrEg==", + "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=", "requires": { "querystringify": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", "requires-port": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" @@ -19015,49 +17098,49 @@ "dependencies": { "querystringify": { "version": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", - "integrity": "sha512-+WIW046/nhIni/mtczBDTctF309Ue0XfKIeF83eilLr4ollrimEqxzIG2DC0MUgvi40F4Rji4m6UhKENNsErtA==" + "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=" } } }, "user-home": { "version": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", "requires": { "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" } }, "util": { "version": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "requires": { "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" }, "dependencies": { "inherits": { "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==" + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" } } }, "util-deprecate": { "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "utila": { "version": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" }, "utils-merge": { "version": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "integrity": "sha512-HwU9SLQEtyo+0uoKXd1nkLqigUWLB+QuNQR4OcmB73eWqksM5ovuqcycks2x043W8XVb75rG1HQ0h93TMXkzQQ==" + "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=" }, "uuid": { "version": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=" }, "validate-npm-package-license": { "version": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha512-VD0zBfAttoSxzPa+I+rF6ckOEEPSbifYNTSgRW5BsyfaD7gSE/uge00r2Xqa0d/yhF1MyHnMPHqLUdQRNimR2A==", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "requires": { "spdx-correct": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", "spdx-expression-parse": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz" @@ -19065,33 +17148,33 @@ }, "vary": { "version": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz", - "integrity": "sha512-kCupYIvF6ltl975bvRTPK/Ml8aAZ32u1JgZ4QpuL20w3lWEJYlD90NQmXIcnAliEDN62MA4V96A2uq5cBsHSJA==" + "integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc=" }, "vendors": { "version": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz", - "integrity": "sha512-/MeGQ4SGlqiDnSZkgkzo+gGuC8/cNrwwk45qRlC6GEWlcwxjQGFHL0HfZjiC1pvpg4AoxhN5QhllW26dl/V2Ig==" + "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=" }, "verror": { "version": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha512-i8GFYwImt5D5B8CPpi2jrDTy/faq4OEW+NkOTLSKcIdPfdYJvWv3VZddDKl0ByvBe6cJ2s5Mm2XDtv5c2pj/Eg==", + "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", "requires": { "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" } }, "vm-browserify": { "version": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha512-NyZNR3WDah+NPkjh/YmhuWSsT4a0mF0BJYgUmvrJ70zxjTXh5Y2Asobxlh0Nfs0PCFB5FVpRJft7NozAWFMwLQ==", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", "requires": { "indexof": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz" } }, "void-elements": { "version": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==" + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" }, "watchpack": { "version": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz", - "integrity": "sha512-hmLWdxNfe0Ou1xaRj+ublbOYUaZJfVz1VuHQfERLVlUrLS21gUaGa2gWRl8L5Ej1aUS3KxFN+1qoWK4kZLMvKw==", + "integrity": "sha1-Yuqkq15bo1/fwBgnVibjwPXj+ws=", "requires": { "async": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", "chokidar": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", @@ -19100,13 +17183,13 @@ "dependencies": { "async": { "version": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha512-l6ToIJIotphWahxxHyzK9bnLR6kM4jJIIgLShZeqLY7iboHoGkdgFl7W2/Ivi4SkMJYGKqW8vSuk0uKUj6qsSw==" + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" } } }, "webpack": { "version": "https://registry.npmjs.org/webpack/-/webpack-1.15.0.tgz", - "integrity": "sha512-+8bxNSHMZCWBa6hi++2A2pw9GmLUWY6lII+aIXlgUPpB+ClNrUKgP8hx0w+hxjWhX81hclUYPGFg+7NxgLTUYQ==", + "integrity": "sha1-T/MfU9sDM55VFkqdRo7gMklo/pg=", "requires": { "acorn": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", @@ -19127,15 +17210,15 @@ "dependencies": { "acorn": { "version": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==" + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" }, "async": { "version": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" }, "optimist": { "version": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" @@ -19143,18 +17226,18 @@ }, "source-map": { "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==" + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" }, "supports-color": { "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" } }, "uglify-js": { "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz", - "integrity": "sha512-RvbIYn4DIadCg1MV7YP7OrpxnVrtEieZzbK0KSQvwWGAHojqWJxInkQhmtYGRo9PTwwkJkljIgzMyA1VitEc4Q==", + "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=", "requires": { "async": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", @@ -19164,7 +17247,7 @@ "dependencies": { "async": { "version": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ==" + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" } } } @@ -19172,7 +17255,7 @@ }, "webpack-core": { "version": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz", - "integrity": "sha512-P6ZUGXn5buTEZyTStCHHLwtWGKSm/jA629Zgp4pcHSsy60CCsT9MaHDxNIPL+GGJ2KwOgI6ORwQtHcrYHAt2UQ==", + "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=", "requires": { "source-list-map": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz" @@ -19180,7 +17263,7 @@ }, "webpack-dev-middleware": { "version": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.11.0.tgz", - "integrity": "sha512-51YARPK2lHMRml5qcfNukC01RF4Dqi/ajM3DsqHK77pC0icIg2A922ZxpgP//Ks2QcLmnbabz2cj/qK/28v0/Q==", + "integrity": "sha1-CWkdCXOjCtH4Ksc6EuIIfwpHVPk=", "requires": { "memory-fs": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "mime": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", @@ -19190,11 +17273,11 @@ "dependencies": { "isarray": { "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "memory-fs": { "version": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "requires": { "errno": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" @@ -19202,7 +17285,7 @@ }, "readable-stream": { "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", "requires": { "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -19215,7 +17298,7 @@ }, "string_decoder": { "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", "requires": { "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" } @@ -19224,7 +17307,7 @@ }, "webpack-dev-server": { "version": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-1.16.5.tgz", - "integrity": "sha512-on9j8SBuJXa2lzyIAv0DasJT8SteshUrEjjKc/mc8D68U7RN0mIBZksAcjnPW72RSJa9scWZ+C+Dme76LDH+lA==", + "integrity": "sha1-DL1fLSrI1OWTqs1clwLnu9XlmJI=", "requires": { "compression": "https://registry.npmjs.org/compression/-/compression-1.7.0.tgz", "connect-history-api-fallback": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz", @@ -19243,7 +17326,7 @@ "dependencies": { "optimist": { "version": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" @@ -19251,7 +17334,7 @@ }, "supports-color": { "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" } @@ -19260,52 +17343,52 @@ }, "websocket-driver": { "version": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha512-oBx6ZM1Gs5q2jwZuSN/Qxyy/fbgomV8+vqsmipaPKB/74hjHlKuM07jNmRhn4qa2AdUwsgxrltq+gaPsHgcl0Q==", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", "requires": { "websocket-extensions": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz" } }, "websocket-extensions": { "version": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz", - "integrity": "sha512-j3+ycRZsSqNQZdpj5r+UZJHNlYKR3EGpL9cbVHf60+K9BuLJdNebVXrVzmDlLzN+im56Ll9BssyG8BwRmDlEQw==" + "integrity": "sha1-domUmcGEtu91Q3fC27DNbLVdKec=" }, "whatwg-fetch": { "version": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-0.9.0.tgz", - "integrity": "sha512-DIuh7/cloHxHYwS/oRXGgkALYAntijL63nsgMQsNSnBj825AysosAqA2ZbYXGRqpPRiNH7335dTqV364euRpZw==" + "integrity": "sha1-DjaExsuZlbQ+/J3wPkw2XZX9nMA=" }, "whet.extend": { "version": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha512-mmIPAft2vTgEILgPeZFqE/wWh24SEsR/k+N9fJ3Jxrz44iDFy9aemCxdksfURSHYFCLmvs/d/7Iso5XjPpNfrA==" + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=" }, "which": { "version": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", - "integrity": "sha512-16uPglFkRPzgiUXYMi1Jf8Z5EzN1iB4V0ZtMXcHZnwsBtQhhHeCqoWw7tsUY42hJGNDWtUsVLTjakIa5BgAxCw==", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", "requires": { "isexe": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" } }, "which-module": { "version": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==" + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, "wide-align": { "version": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "integrity": "sha1-Vx4PGwYEY268DfwhsDObvjE0FxA=", "requires": { "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" } }, "winchan": { "version": "https://registry.npmjs.org/winchan/-/winchan-0.1.4.tgz", - "integrity": "sha512-tnMl6qArGwirq6URmn7gEktjrh+2hoSu+AWnVihyrymSrLGIrFNt40mPECsBg9mH+a+WKbsywxwBqBPMoImhtw==" + "integrity": "sha1-iPoSQRzVQutiYBjDihlry7F5k7s=" }, "window-size": { "version": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==" + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" }, "with": { "version": "https://registry.npmjs.org/with/-/with-4.0.3.tgz", - "integrity": "sha512-mJZFpyEc1JTAdxhi/vhVeAM2S7vsltEKDiexDDo1HuAzlYKhcVUU6cwY8cHrFYdt82ZNkfKCeyhA3IYFegI0Kg==", + "integrity": "sha1-7v0VTp550sjTQXtkeo8U2f7M4U4=", "requires": { "acorn": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz", "acorn-globals": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz" @@ -19313,17 +17396,17 @@ "dependencies": { "acorn": { "version": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz", - "integrity": "sha512-FsqWmApWGMGLKKNpHt12PMc5AK7BaZee0WRh04fCysmTzHe+rrKOa2MKjORhnzfpe4r0JnfdqHn02iDA9Dqj2A==" + "integrity": "sha1-yM4n3grMdtiW0rH6099YjZ6C8BQ=" } } }, "wordwrap": { "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==" + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" }, "wrap-ansi": { "version": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" @@ -19331,54 +17414,54 @@ }, "wrappy": { "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write": { "version": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha512-CJ17OoULEKXpA5pef3qLj5AxTJ6mSt7g84he2WIskKwqFO4T97d5V7Tadl0DYDk7qyUOQD5WlUlOMChaYrhxeA==", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "requires": { "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" } }, "xml-char-classes": { "version": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", - "integrity": "sha512-dTaaRwm4ccF8UF15/PLT3pNNlZP04qko/FUcr0QBppYLk8+J7xA9gg2vI2X4Kr1PcJAVxwI9NdADex29FX2QVQ==" + "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=" }, "xml2js": { "version": "https://registry.npmjs.org/xml2js/-/xml2js-0.2.6.tgz", - "integrity": "sha512-h+Nzgo0eLwideldZGqSquNtrsuX5zcDREImBa1GSNw9QljlXiFcM3E1kWjLprRjJe2jRuvnVk0j3WgQo9Deoog==", + "integrity": "sha1-0gnE5N2h/JxFIUHvQcB39a399sQ=", "requires": { "sax": "https://registry.npmjs.org/sax/-/sax-0.4.2.tgz" }, "dependencies": { "sax": { "version": "https://registry.npmjs.org/sax/-/sax-0.4.2.tgz", - "integrity": "sha512-6Zsl4gnHjiTQfrOzsWdc0bHJepF5KJAVuM5fcyEJrqGyszkx2c55IclWP4D692rJrl1w0tExhbvYKjKNZl5wHg==" + "integrity": "sha1-OfO2AXM9a+yXEFskKipA/Wl4rDw=" } } }, "xmlbuilder": { "version": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz", - "integrity": "sha512-h/+ncQQSU/iYycmI2wTN25t7RYN7O2oq9uvI+2+UObi4KcmQh/jUS4N31g5vJttQt7MODsnmBtbcll3YbNyvfw==" + "integrity": "sha1-F3bWXz/brUcKCNhgTN6xxOVA/4M=" }, "xtend": { "version": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", "requires": { "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz" } }, "y18n": { "version": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha512-Vd1yWKYGMtzFB6bAuTI7/POwJnwQStQXOe1PW1GmjUZgkaKYGc6/Pl3IDGFgplEklF65niuwBHeS5yve4+U01Q==" + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" }, "yallist": { "version": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, "yargs": { "version": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "requires": { "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", "cliui": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", @@ -19388,25 +17471,25 @@ }, "yargs-parser": { "version": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha512-YQY9oiTXNdi9y+RJMjqIwQklfEc4flSuVCuXZS6bRTEAY76eL3bKsZbs6KTsWxHsGXJdSgp1Jj/8AmLpGStEnQ==", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "requires": { "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz" }, "dependencies": { "camelcase": { "version": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==" + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" } } }, "zepto": { "version": "https://registry.npmjs.org/zepto/-/zepto-0.0.4.tgz", - "integrity": "sha512-4y1bL/d2Mdzuyl/Qt+5hEZMYeor+IcK3b4JPXZTs4RLSRcl9NYWm4S17e0+vqf7pYgXSdc7Xk9AUZTns9lfjhA==" + "integrity": "sha1-m7++DxwvVzvvqqz/6fVSzLP6J9I=" } } }, "tc-ui": { - "version": "git+https://github.com/appirio-tech/tc-ui.git#2ccc921fadfb97e932928645a38d1873e72babf0", + "version": "git+https://github.com/appirio-tech/tc-ui.git#6b398671e48193a7cbf8ed616c1f82922f991faf", "requires": { "classnames": "2.2.5", "lodash": "4.17.4", @@ -19492,7 +17575,7 @@ "timers-browserify": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz", - "integrity": "sha1-lspT9LeUpefA4b18yIo3Ipj6AeY=", + "integrity": "sha512-uZYhyU3EX8O7HQP+J9fTVYwsq90Vr68xPEFo7yrVImIxYvHgukBEgOB/SgGoorWVTzGM/3Z+wUNnboA4M8jWrg==", "dev": true, "requires": { "setimmediate": "1.0.5" @@ -19515,7 +17598,7 @@ "tlds": { "version": "1.196.0", "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.196.0.tgz", - "integrity": "sha1-SddN29H53zAjizv+9N+Chitbu0g=" + "integrity": "sha512-nOB26YOmIWTyVs+tztlpLHYwkFQUZPuR+HULU0K+M+Ht1lGGGgbqoNBbhNLIIVEdI+Hhy/Ngih9KN1GS/a7x6A==" }, "to-arraybuffer": { "version": "1.0.1", @@ -19879,7 +17962,7 @@ "uuid": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", "dev": true }, "validate-npm-package-license": { @@ -19895,7 +17978,7 @@ "value-equal": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-0.4.0.tgz", - "integrity": "sha1-xb3S9U7gk8BIOdcc4uR1imiQq8c=" + "integrity": "sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw==" }, "vary": { "version": "1.1.2", @@ -20005,7 +18088,7 @@ "webpack": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.6.0.tgz", - "integrity": "sha1-qJqSn77iBdNaT6LMSHvpy+yImLw=", + "integrity": "sha512-OsHT3D0W0KmPPh60tC7asNnOmST6bKTiR90UyEdT9QYoaJ4OYN4Gg7WK1k3VxHK07ZoiYWPsKvlS/gAjwL/vRA==", "dev": true, "requires": { "acorn": "5.1.2", @@ -20035,7 +18118,7 @@ "acorn": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", - "integrity": "sha1-kRy1PgNoB88Pp3jcXTcPvYZCRtc=", + "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", "dev": true }, "ajv": { @@ -20095,7 +18178,7 @@ "crypto-browserify": { "version": "3.11.1", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", - "integrity": "sha1-lIlF78Z1ekANbl5a9HGU0QBkJ58=", + "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", "dev": true, "requires": { "browserify-cipher": "1.0.0", @@ -20207,7 +18290,7 @@ "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { "execa": "0.7.0", @@ -20254,7 +18337,7 @@ "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", @@ -20287,7 +18370,7 @@ "supports-color": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha1-iD992rwWUUKyphQn8zUt7RldGj4=", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { "has-flag": "2.0.0" @@ -20394,7 +18477,7 @@ "webpack-dev-server": { "version": "2.9.1", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.9.1.tgz", - "integrity": "sha1-eskyC2GwDrZbIQnxXIJ0f8W5NYU=", + "integrity": "sha512-qFKs4Wg6JI6FkAQ6WFqeDCCxXEBLsDHkqJB3f9tmlqx8C68Y9vQWwcaMT4Q9H8WF32Q6QUNmgK4qQkdHfXvj/g==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -20457,7 +18540,7 @@ "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -20510,7 +18593,7 @@ "supports-color": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha1-iD992rwWUUKyphQn8zUt7RldGj4=", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { "has-flag": "2.0.0" @@ -20560,7 +18643,7 @@ "webpack-sources": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz", - "integrity": "sha1-xzVkNqTRMSO+LiQmoF0drZy+Zc8=", + "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==", "dev": true, "requires": { "source-list-map": "2.0.0", @@ -20615,7 +18698,7 @@ "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { "isexe": "2.0.0" @@ -20630,7 +18713,7 @@ "wide-align": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha1-Vx4PGwYEY268DfwhsDObvjE0FxA=", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "requires": { "string-width": "1.0.2" @@ -20712,7 +18795,7 @@ "xml2js": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha1-aGwg8hMgnpSr8NG88e+qKRx4J6c=", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", "dev": true, "requires": { "sax": "1.2.4", diff --git a/package.json b/package.json index 4a306acec..58e3b1d6d 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.1.0", "description": "Customer pages in React and Redux", "scripts": { - "start": "webpack-dev-server --history-api-fallback --env=development --hot --inline --progress --port 3000 --host 0.0.0.0", + "start": "webpack-dev-server --history-api-fallback --env=development --hot --inline --progress --port 3000 --host 0.0.0.0 --public local.topcoder-dev.com", "build": "npm rebuild node-sass; ./node_modules/.bin/webpack --bail --progress --colors --env=production", "lint": "eslint --format table --ext .js,.jsx .", "lint:fix": "eslint --fix --format table --ext .js,.jsx .", diff --git a/src/actions/loadUser.js b/src/actions/loadUser.js index 23f3e1991..2194920ac 100644 --- a/src/actions/loadUser.js +++ b/src/actions/loadUser.js @@ -1,5 +1,14 @@ import _ from 'lodash' -import { ACCOUNTS_APP_CONNECTOR_URL, LOAD_USER_SUCCESS, LOAD_USER_FAILURE, ROLE_ADMINISTRATOR, ROLE_CONNECT_COPILOT, ROLE_TOPCODER_USER, ROLE_CONNECT_MANAGER } from '../config/constants' +import { + ACCOUNTS_APP_CONNECTOR_URL, + LOAD_USER_SUCCESS, + LOAD_USER_FAILURE, + ROLE_ADMINISTRATOR, + ROLE_CONNECT_COPILOT, + ROLE_TOPCODER_USER, + ROLE_CONNECT_MANAGER, + ROLE_CONNECT_ADMIN +} from '../config/constants' import { getFreshToken, configureConnector, decodeToken } from 'tc-accounts' import { getUserProfile } from '../api/users' import { EventTypes } from 'redux-segment' @@ -46,6 +55,8 @@ export function loadUserSuccess(dispatch, token) { let userRole if (_.indexOf(currentUser.roles, ROLE_ADMINISTRATOR) > -1) { userRole = ROLE_ADMINISTRATOR + } else if (_.indexOf(currentUser.roles, ROLE_CONNECT_ADMIN) > -1) { + userRole = ROLE_CONNECT_ADMIN } else if (_.indexOf(currentUser.roles, ROLE_CONNECT_MANAGER) > -1) { userRole = ROLE_CONNECT_MANAGER } else if (_.indexOf(currentUser.roles, ROLE_CONNECT_COPILOT) > -1) { diff --git a/src/api/projectAttachments.js b/src/api/projectAttachments.js index 0a50c7ac7..3e0f313a8 100644 --- a/src/api/projectAttachments.js +++ b/src/api/projectAttachments.js @@ -1,11 +1,11 @@ import _ from 'lodash' import { axiosInstance as axios } from './requestInterceptor' -import { TC_API_URL, FILE_PICKER_SUBMISSION_CONTAINER_NAME } from '../config/constants' +import { PROJECTS_API_URL, FILE_PICKER_SUBMISSION_CONTAINER_NAME } from '../config/constants' export function addProjectAttachment(projectId, fileData) { // add s3 bucket prop fileData.s3Bucket = FILE_PICKER_SUBMISSION_CONTAINER_NAME - return axios.post(`${TC_API_URL}/v4/projects/${projectId}/attachments`, { param: fileData }) + return axios.post(`${PROJECTS_API_URL}/v4/projects/${projectId}/attachments`, { param: fileData }) .then( resp => { return _.get(resp.data, 'result.content', {}) }) @@ -13,13 +13,13 @@ export function addProjectAttachment(projectId, fileData) { export function updateProjectAttachment(projectId, attachmentId, attachment) { return axios.patch( - `${TC_API_URL}/v4/projects/${projectId}/attachments/${attachmentId}`, + `${PROJECTS_API_URL}/v4/projects/${projectId}/attachments/${attachmentId}`, { param: attachment }) .then ( resp => resp.data.result.content ) } export function removeProjectAttachment(projectId, attachmentId) { // return attachmentId so reducer knows which one to remove from list - return axios.delete(`${TC_API_URL}/v4/projects/${projectId}/attachments/${attachmentId}`) + return axios.delete(`${PROJECTS_API_URL}/v4/projects/${projectId}/attachments/${attachmentId}`) .then(() => attachmentId) } diff --git a/src/api/projectMembers.js b/src/api/projectMembers.js index 7c0a69dfa..eae22d952 100644 --- a/src/api/projectMembers.js +++ b/src/api/projectMembers.js @@ -1,6 +1,6 @@ import _ from 'lodash' import { axiosInstance as axios } from './requestInterceptor' -import { TC_API_URL, CONNECT_MESSAGE_API_URL } from '../config/constants' +import { TC_API_URL, PROJECTS_API_URL, CONNECT_MESSAGE_API_URL } from '../config/constants' export function getMembersById (userIds) { const _userIdArr = _.map(userIds, _id => `userId:${_id}`) @@ -26,7 +26,7 @@ export function loadMemberSuggestions(value) { export function addProjectMember(projectId, newMember) { - const url = `${TC_API_URL}/v4/projects/${projectId}/members/` + const url = `${PROJECTS_API_URL}/v4/projects/${projectId}/members/` return axios.post(url, { param: newMember}) .then(resp => { return axios.put(`${CONNECT_MESSAGE_API_URL}/v4/topics/syncUsers`, @@ -37,7 +37,7 @@ export function addProjectMember(projectId, newMember) { export function updateProjectMember(projectId, memberId, updatedProps) { - const url = `${TC_API_URL}/v4/projects/${projectId}/members/${memberId}/` + const url = `${PROJECTS_API_URL}/v4/projects/${projectId}/members/${memberId}/` return axios.patch(url, { param: updatedProps }) .then(resp => { return resp.data.result.content @@ -45,7 +45,7 @@ export function updateProjectMember(projectId, memberId, updatedProps) { } export function removeProjectMember(projectId, memberId, isUserLeaving) { - const url = `${TC_API_URL}/v4/projects/${projectId}/members/${memberId}/` + const url = `${PROJECTS_API_URL}/v4/projects/${projectId}/members/${memberId}/` let promise = { then: fn => fn() } if (isUserLeaving) { promise = axios.put(`${CONNECT_MESSAGE_API_URL}/v4/topics/syncUsers`, diff --git a/src/api/projects.js b/src/api/projects.js index 253852395..53a4980d2 100644 --- a/src/api/projects.js +++ b/src/api/projects.js @@ -1,6 +1,6 @@ import _ from 'lodash' import { axiosInstance as axios } from './requestInterceptor' -import { TC_API_URL, PROJECTS_LIST_PER_PAGE } from '../config/constants' +import { TC_API_URL, PROJECTS_API_URL, PROJECTS_LIST_PER_PAGE } from '../config/constants' export function getProjects(criteria, pageNum) { // add default params @@ -29,7 +29,7 @@ export function getProjects(criteria, pageNum) { const sort = _.get(criteria, 'sort', null) if (sort) params.sort = sort - return axios.get(`${TC_API_URL}/v4/projects/`, { params }) + return axios.get(`${PROJECTS_API_URL}/v4/projects/`, { params }) .then( resp => { return { totalCount: _.get(resp.data, 'result.metadata.totalCount', 0), @@ -50,7 +50,7 @@ export function getProjectSuggestions() { */ export function getProjectById(projectId) { projectId = parseInt(projectId) - return axios.get(`${TC_API_URL}/v4/projects/${projectId}/`) + return axios.get(`${PROJECTS_API_URL}/v4/projects/${projectId}/`) .then(resp => { return _.get(resp.data, 'result.content', {}) }) @@ -64,7 +64,7 @@ export function getProjectById(projectId) { * @return {promise} updated project */ export function updateProject(projectId, updatedProps, updateExisting) { - return axios.patch(`${TC_API_URL}/v4/projects/${projectId}/`, { param: updatedProps }) + return axios.patch(`${PROJECTS_API_URL}/v4/projects/${projectId}/`, { param: updatedProps }) .then(resp => { return _.extend(_.get(resp.data, 'result.content'), { updateExisting }) }) @@ -76,8 +76,8 @@ export function createProject(projectProps) { // TODO: Remove this once none of the active projects // have the discussions tab enabled projectProps.details.hideDiscussions = true - - return axios.post(`${TC_API_URL}/v4/projects/`, { param: projectProps }) + + return axios.post(`${PROJECTS_API_URL}/v4/projects/`, { param: projectProps }) .then( resp => { return _.get(resp.data, 'result.content', {}) }) @@ -89,14 +89,14 @@ export function createProjectWithStatus(projectProps, status) { // have the discussions tab enabled projectProps.details.hideDiscussions = true - return axios.post(`${TC_API_URL}/v4/projects/`, { param: projectProps }) + return axios.post(`${PROJECTS_API_URL}/v4/projects/`, { param: projectProps }) .then( resp => { return _.get(resp.data, 'result.content', {}) }) .then(project => { const updatedProps = { status } const projectId = project.id - return axios.patch(`${TC_API_URL}/v4/projects/${projectId}/`, { param: updatedProps }) + return axios.patch(`${PROJECTS_API_URL}/v4/projects/${projectId}/`, { param: updatedProps }) .then(resp => { return _.get(resp.data, 'result.content') }) @@ -108,7 +108,7 @@ export function createProjectWithStatus(projectProps, status) { } export function deleteProject(projectId) { - return axios.delete(`${TC_API_URL}/v4/projects/${projectId}/`) + return axios.delete(`${PROJECTS_API_URL}/v4/projects/${projectId}/`) .then(() => { return projectId }) diff --git a/src/api/requestInterceptor.js b/src/api/requestInterceptor.js index 9d26b2564..da57ff709 100644 --- a/src/api/requestInterceptor.js +++ b/src/api/requestInterceptor.js @@ -21,7 +21,7 @@ export const axiosInstance = axios.create({ headers: { 'Content-Type': 'application/json' }, - timeout: 20000 // 5 seconds + timeout: 20000 }) // request interceptor to pass auth token diff --git a/src/assets/images/icon-mail.png b/src/assets/images/icon-mail.png new file mode 100644 index 000000000..3b60ad483 Binary files /dev/null and b/src/assets/images/icon-mail.png differ diff --git a/src/assets/images/icon-web.png b/src/assets/images/icon-web.png new file mode 100644 index 000000000..8efa61c9b Binary files /dev/null and b/src/assets/images/icon-web.png differ diff --git a/src/assets/images/notification-member-added.svg b/src/assets/images/notification-member-added.svg new file mode 100644 index 000000000..1f08ea2c7 --- /dev/null +++ b/src/assets/images/notification-member-added.svg @@ -0,0 +1,14 @@ + + + + notification-member-added + Created with Sketch. + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/notification-new-posts.svg b/src/assets/images/notification-new-posts.svg new file mode 100644 index 000000000..b7a308bdc --- /dev/null +++ b/src/assets/images/notification-new-posts.svg @@ -0,0 +1,14 @@ + + + + notification-new-posts + Created with Sketch. + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/notification-new-project.svg b/src/assets/images/notification-new-project.svg new file mode 100644 index 000000000..39d1eb6ed --- /dev/null +++ b/src/assets/images/notification-new-project.svg @@ -0,0 +1,12 @@ + + + + notification-new-project + Created with Sketch. + + + + + + + \ No newline at end of file diff --git a/src/assets/images/notification-review-pending.svg b/src/assets/images/notification-review-pending.svg new file mode 100644 index 000000000..799ceaaa4 --- /dev/null +++ b/src/assets/images/notification-review-pending.svg @@ -0,0 +1,14 @@ + + + + notification-review-pending + Created with Sketch. + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/notification-updates.svg b/src/assets/images/notification-updates.svg new file mode 100644 index 000000000..a43fd4922 --- /dev/null +++ b/src/assets/images/notification-updates.svg @@ -0,0 +1,13 @@ + + + + notification-updates + Created with Sketch. + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/notification-warning.svg b/src/assets/images/notification-warning.svg new file mode 100644 index 000000000..3e9418708 --- /dev/null +++ b/src/assets/images/notification-warning.svg @@ -0,0 +1,14 @@ + + + + notification-warning + Created with Sketch. + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/product-analytics-algorithm-optimization.svg b/src/assets/images/product-analytics-algorithm-optimization.svg new file mode 100644 index 000000000..bc896f318 --- /dev/null +++ b/src/assets/images/product-analytics-algorithm-optimization.svg @@ -0,0 +1,15 @@ + + + + product-analytics-algorithm-optimization + Created with Sketch. + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/product-analytics-computer-vision.svg b/src/assets/images/product-analytics-computer-vision.svg new file mode 100644 index 000000000..8a518c73a --- /dev/null +++ b/src/assets/images/product-analytics-computer-vision.svg @@ -0,0 +1,18 @@ + + + + product-analytics-computer-vision + Created with Sketch. + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/product-analytics-data-exploration.svg b/src/assets/images/product-analytics-data-exploration.svg new file mode 100644 index 000000000..4ef015fba --- /dev/null +++ b/src/assets/images/product-analytics-data-exploration.svg @@ -0,0 +1,15 @@ + + + + product-analytics-data-exploration + Created with Sketch. + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/product-analytics-predictive-analytics.svg b/src/assets/images/product-analytics-predictive-analytics.svg new file mode 100644 index 000000000..3ebb8a68f --- /dev/null +++ b/src/assets/images/product-analytics-predictive-analytics.svg @@ -0,0 +1,20 @@ + + + + product-analytics-predictive-analytics + Created with Sketch. + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/product-app-app.svg b/src/assets/images/product-app-app.svg index 5720f4ca7..d9dd6c66c 100644 --- a/src/assets/images/product-app-app.svg +++ b/src/assets/images/product-app-app.svg @@ -1,16 +1,16 @@ - - product-app + + product-app-app Created with Sketch. - - + + - + - + diff --git a/src/assets/images/product-cat-analytics.svg b/src/assets/images/product-cat-analytics.svg new file mode 100644 index 000000000..d7ab586f6 --- /dev/null +++ b/src/assets/images/product-cat-analytics.svg @@ -0,0 +1,18 @@ + + + + product-cat-analytics + Created with Sketch. + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/product-cat-design.svg b/src/assets/images/product-cat-design.svg index 308c44c3e..62a6b4848 100644 --- a/src/assets/images/product-cat-design.svg +++ b/src/assets/images/product-cat-design.svg @@ -1,19 +1,19 @@ - + product-cat-design Created with Sketch. - + - - - - - + + + + + diff --git a/src/assets/images/product-cat-development.svg b/src/assets/images/product-cat-development.svg index 937535c80..62d77cd8c 100644 --- a/src/assets/images/product-cat-development.svg +++ b/src/assets/images/product-cat-development.svg @@ -1,16 +1,16 @@ - + product-cat-development Created with Sketch. - + - + - - + + diff --git a/src/assets/images/product-cat-qa.svg b/src/assets/images/product-cat-qa.svg index 826a091f3..d4fe31bfc 100644 --- a/src/assets/images/product-cat-qa.svg +++ b/src/assets/images/product-cat-qa.svg @@ -1,26 +1,26 @@ - + product-cat-qa Created with Sketch. - + - - - - - - - - - + + + + + + + + + - + diff --git a/src/assets/images/product-chatbot-chatbot.svg b/src/assets/images/product-chatbot-chatbot.svg index 9582cd1e0..dafb95175 100644 --- a/src/assets/images/product-chatbot-chatbot.svg +++ b/src/assets/images/product-chatbot-chatbot.svg @@ -1,26 +1,26 @@ - - product-chatbot + + product-chatbot-chatbot Created with Sketch. - - + + - - - + + + - - - - - + + + + + diff --git a/src/assets/images/product-design-app-visual.svg b/src/assets/images/product-design-app-visual.svg index 1546cd1ac..a0672c457 100644 --- a/src/assets/images/product-design-app-visual.svg +++ b/src/assets/images/product-design-app-visual.svg @@ -1,11 +1,11 @@ - + product-design-app-visual Created with Sketch. - - + + diff --git a/src/assets/images/product-design-other.svg b/src/assets/images/product-design-other.svg index d3996eaa0..9facf792c 100644 --- a/src/assets/images/product-design-other.svg +++ b/src/assets/images/product-design-other.svg @@ -1,23 +1,23 @@ - + product-design-other Created with Sketch. - + - + - - + + diff --git a/src/assets/images/product-design-wireframes.svg b/src/assets/images/product-design-wireframes.svg index c21676fbf..06a4b027d 100644 --- a/src/assets/images/product-design-wireframes.svg +++ b/src/assets/images/product-design-wireframes.svg @@ -1,11 +1,11 @@ - + product-design-wireframes Created with Sketch. - - + + diff --git a/src/assets/images/product-dev-front-end-dev.svg b/src/assets/images/product-dev-front-end-dev.svg index 7359b9aad..07e71202f 100644 --- a/src/assets/images/product-dev-front-end-dev.svg +++ b/src/assets/images/product-dev-front-end-dev.svg @@ -1,16 +1,16 @@ - + product-dev-front-end-dev Created with Sketch. - + - + - - + + diff --git a/src/assets/images/product-dev-integration.svg b/src/assets/images/product-dev-integration.svg index 95bc46ae8..6357de587 100644 --- a/src/assets/images/product-dev-integration.svg +++ b/src/assets/images/product-dev-integration.svg @@ -1,13 +1,13 @@ - + product-dev-integration Created with Sketch. - + - + diff --git a/src/assets/images/product-dev-other.svg b/src/assets/images/product-dev-other.svg index 8a34cc949..630fae5dd 100644 --- a/src/assets/images/product-dev-other.svg +++ b/src/assets/images/product-dev-other.svg @@ -1,14 +1,14 @@ - + product-dev-other Created with Sketch. - + - - + + diff --git a/src/assets/images/product-dev-prototype.svg b/src/assets/images/product-dev-prototype.svg index 7f519fc38..db848e745 100644 --- a/src/assets/images/product-dev-prototype.svg +++ b/src/assets/images/product-dev-prototype.svg @@ -1,13 +1,13 @@ - + product-dev-prototype Created with Sketch. - + - + diff --git a/src/assets/images/product-qa-consulting.svg b/src/assets/images/product-qa-consulting.svg index 6df06ab78..b8e3a06f2 100644 --- a/src/assets/images/product-qa-consulting.svg +++ b/src/assets/images/product-qa-consulting.svg @@ -1,10 +1,10 @@ - + product-qa-consulting Created with Sketch. - + diff --git a/src/assets/images/product-qa-crowd-testing.svg b/src/assets/images/product-qa-crowd-testing.svg index 539662e64..1a5a00095 100644 --- a/src/assets/images/product-qa-crowd-testing.svg +++ b/src/assets/images/product-qa-crowd-testing.svg @@ -1,26 +1,26 @@ - + product-qa-crowd-testing Created with Sketch. - + - - - - - - - - - + + + + + + + + + - + diff --git a/src/assets/images/product-qa-digital-accessability.svg b/src/assets/images/product-qa-digital-accessability.svg index 57e5b757b..3c9875e44 100644 --- a/src/assets/images/product-qa-digital-accessability.svg +++ b/src/assets/images/product-qa-digital-accessability.svg @@ -1,11 +1,11 @@ - + product-qa-digital-accessability Created with Sketch. - - + + diff --git a/src/assets/images/product-qa-health-check.svg b/src/assets/images/product-qa-health-check.svg new file mode 100644 index 000000000..d2c09ecaa --- /dev/null +++ b/src/assets/images/product-qa-health-check.svg @@ -0,0 +1,15 @@ + + + + product-qa-health-check + Created with Sketch. + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/product-qa-mobility-testing.svg b/src/assets/images/product-qa-mobility-testing.svg index ccdeb2a08..0ad1953c8 100644 --- a/src/assets/images/product-qa-mobility-testing.svg +++ b/src/assets/images/product-qa-mobility-testing.svg @@ -1,10 +1,10 @@ - + product-qa-mobility-testing Created with Sketch. - + diff --git a/src/assets/images/product-qa-os-automation.svg b/src/assets/images/product-qa-os-automation.svg index a822f6f41..78aeb5807 100644 --- a/src/assets/images/product-qa-os-automation.svg +++ b/src/assets/images/product-qa-os-automation.svg @@ -1,10 +1,10 @@ - + product-qa-os-automation Created with Sketch. - + diff --git a/src/assets/images/product-qa-website-performance.svg b/src/assets/images/product-qa-website-performance.svg index c86b99de2..536712ea5 100644 --- a/src/assets/images/product-qa-website-performance.svg +++ b/src/assets/images/product-qa-website-performance.svg @@ -1,16 +1,17 @@ - + product-qa-website-performance Created with Sketch. - + - - - - - + + + + + + diff --git a/src/assets/images/product-website-website.svg b/src/assets/images/product-website-website.svg index 6514dd80b..4d553e248 100644 --- a/src/assets/images/product-website-website.svg +++ b/src/assets/images/product-website-website.svg @@ -1,14 +1,14 @@ - - product-website + + product-website-website Created with Sketch. - - + + - - + + diff --git a/src/assets/images/ui-bell.svg b/src/assets/images/ui-bell.svg new file mode 100644 index 000000000..ff6206ed8 --- /dev/null +++ b/src/assets/images/ui-bell.svg @@ -0,0 +1,12 @@ + + + + ui-bell + Created with Sketch. + + + + + + + \ No newline at end of file diff --git a/src/components/ActionCard/Comment.jsx b/src/components/ActionCard/Comment.jsx index df06b21a2..38d842987 100644 --- a/src/components/ActionCard/Comment.jsx +++ b/src/components/ActionCard/Comment.jsx @@ -3,6 +3,7 @@ import cn from 'classnames' import Panel from '../Panel/Panel' import { Avatar } from 'appirio-tech-react-components' import RichTextArea from '../RichTextArea/RichTextArea' +import { Link } from 'react-router-dom' import CommentEditToggle from './CommentEditToggle' class Comment extends React.Component { @@ -49,6 +50,8 @@ class Comment extends React.Component { render() { const {message, avatarUrl, authorName, date, edited, children, active, self, isSaving, hasError, readonly} = this.props + const messageAnchor = `comment-${message.id}` + const messageLink = window.location.pathname.substr(0, window.location.pathname.indexOf('#')) + `#${messageAnchor}` if (this.state.editMode) { const content = message.newContent === null || message.newContent === undefined ? message.rawContent : message.newContent @@ -73,7 +76,7 @@ class Comment extends React.Component { return ( -
+
@@ -82,7 +85,7 @@ class Comment extends React.Component { {authorName}
- {date} {edited && '• Edited'} + {date} {edited && '• Edited'}
{self && !readonly && { ) } +export const renderApp = (topbar, content) => () => ( + +) + export default App diff --git a/src/components/BtnGroup/BtnGroup.jsx b/src/components/BtnGroup/BtnGroup.jsx new file mode 100644 index 000000000..0c53e4e09 --- /dev/null +++ b/src/components/BtnGroup/BtnGroup.jsx @@ -0,0 +1,51 @@ +/** + * Group of buttons which works like toggle + * + * Only one button can be pressed/active at a time + */ +import React, { PropTypes } from 'react' +import cn from 'classnames' +import './BtnGroup.scss' + +class BtnGroup extends React.Component { + constructor(props) { + super(props) + + this.state = { + value: props.defaultValue || props.value + } + } + + render() { + return ( +
+ {this.props.items.map(item => ( + + ))} +
+ ) + } +} + +BtnGroup.propTypes = { + items: PropTypes.arrayOf(PropTypes.shape({ + value: PropTypes.string.isRequired, + text: PropTypes.string.isRequired + })).isRequired, + onChange: PropTypes.func +} + +export default BtnGroup diff --git a/src/components/BtnGroup/BtnGroup.scss b/src/components/BtnGroup/BtnGroup.scss new file mode 100644 index 000000000..17ba45a0f --- /dev/null +++ b/src/components/BtnGroup/BtnGroup.scss @@ -0,0 +1,26 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.btn-group { + > .tc-btn { + border-radius: 0; + border-left-width: 0; + } + + > .tc-btn:first-child { + border-radius: 2 * $corner-radius 0 0 2 * $corner-radius; + border-left-width: 1px; + } + + > .tc-btn:last-child { + border-radius: 0 2 * $corner-radius 2 * $corner-radius 0; + } + + > .tc-btn.active, + > .tc-btn.active:hover, + > .tc-btn.active:active { + background: $tc-gray-20; + box-shadow: inset 0 1px 3px 0 rgba($tc-gray-80, 0.38); + cursor: default; + } +} diff --git a/src/components/Dropdown/Dropdown.jsx b/src/components/Dropdown/Dropdown.jsx index dc7391841..6ee7f635f 100644 --- a/src/components/Dropdown/Dropdown.jsx +++ b/src/components/Dropdown/Dropdown.jsx @@ -65,24 +65,28 @@ class Dropdown extends Component { } render() { - const { className, pointerShadow, noPointer, pointerLeft } = this.props + const { className, pointerShadow, noPointer, pointerLeft, noAutoclose } = this.props const ddClasses = classNames('dropdown-wrap', { [`${className}`] : true, - [`${ this.props.theme }`] : true + [`${ this.props.theme }`] : true, + hide : this.state.isHidden }) const ndClasses = classNames('Dropdown', { 'pointer-shadow' : pointerShadow, 'pointer-hide' : noPointer, 'pointer-left' : pointerLeft, - hide : this.state.isHidden + 'no-autoclose' : noAutoclose }) return ( -
+
{} : this.onClick } ref="Dropdown"> { - this.props.children.map((child) => { + this.props.children.map((child, index) => { if (child.props.className.indexOf('dropdown-menu-header') > -1) - return child + return noAutoclose ? React.cloneElement(child, { + onClick: this.onClick, + key: child.props.key || index + }) : child }) } diff --git a/src/components/Dropdown/Dropdown.scss b/src/components/Dropdown/Dropdown.scss index a1422850a..9f12ed615 100644 --- a/src/components/Dropdown/Dropdown.scss +++ b/src/components/Dropdown/Dropdown.scss @@ -7,8 +7,8 @@ } .Dropdown { - background-color: $tc-white; - box-shadow: 0 2px 7px rgba($tc-black, 0.17); + background-color: #fff; + box-shadow: 0 2px 7px rgba(0, 0, 0, 0.17); border-radius: 5px; display: inline-block; position: absolute; @@ -22,7 +22,7 @@ width: 100%; position: relative; z-index: 10; - background-color: $tc-white; + background-color: #fff; padding: 11px 20px; border-radius: 5px; @@ -31,7 +31,7 @@ } li a { - color: $tc-gray-80; + color: #394146; font-family: "Roboto", Arial, Helvetica, sans-serif; font-size: 12px; display: block; @@ -40,6 +40,10 @@ } } +.Dropdown.no-autoclose { + cursor: default; +} + .dropdown-wrap.default { border: 1px solid $tc-gray-20; display: flex; @@ -75,7 +79,7 @@ border-right: 2px solid $tc-gray-20; } -.Dropdown.hide { +.dropdown-wrap.hide .Dropdown { display: none; } @@ -95,7 +99,7 @@ right: 24px; width: 12px; height: 12px; - background: $tc-white; + background: #FFFFFF; border-right: 1px solid $tc-gray-20;; border-bottom: 1px solid $tc-gray-20;; transform: rotate(-135deg); diff --git a/src/components/Feed/Feed.jsx b/src/components/Feed/Feed.jsx index 846de997e..e0626ea4a 100644 --- a/src/components/Feed/Feed.jsx +++ b/src/components/Feed/Feed.jsx @@ -40,7 +40,7 @@ class Feed extends React.Component { render() { const { - user, currentUser, date, topicMessage, totalComments, hasMoreComments, onLoadMoreComments, isLoadingComments, + id, user, currentUser, date, topicMessage, totalComments, hasMoreComments, onLoadMoreComments, isLoadingComments, allowComments, comments, unread, children, onNewCommentChange, onAddNewComment, isAddingComment, onSaveMessageChange, onEditMessage, onSaveMessage, isSavingTopic, onDeleteMessage, onDeleteTopic, isDeletingTopic, error, permalink } = this.props @@ -74,7 +74,7 @@ class Feed extends React.Component { )} {!editTopicMode && ( -
+
diff --git a/src/components/FileBtn/FileBtn.jsx b/src/components/FileBtn/FileBtn.jsx new file mode 100644 index 000000000..dd8766b83 --- /dev/null +++ b/src/components/FileBtn/FileBtn.jsx @@ -0,0 +1,24 @@ +/** + * Button to choose file + */ +import React, { PropTypes } from 'react' +import _ from 'lodash' +import './FileBtn.scss' + +const FileBtn = (props) => { + const fileProps = _.pick(props, 'accept', 'onChange') + + return ( +
+ + +
+ ) +} + +FileBtn.propTypes = { + accept: PropTypes.string, + onChange: PropTypes.func +} + +export default FileBtn diff --git a/src/components/FileBtn/FileBtn.scss b/src/components/FileBtn/FileBtn.scss new file mode 100644 index 000000000..d18dbe85b --- /dev/null +++ b/src/components/FileBtn/FileBtn.scss @@ -0,0 +1,35 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.file-btn { + display: inline-block; + overflow: hidden; + position: relative; + + > .file { + cursor: pointer; + opacity: 0; + position: absolute; + right: 0; + top: 0; + font-size: 100px; + } + + /* here we reproduce styles for tc-btn-default from tc-ui package */ + > .file.loading:enabled + .tc-btn-default, + > .file:focus:enabled + .tc-btn-default { + background: $tc-white; + border-color: $tc-dark-blue-70; + box-shadow: 0 0 2px 1px $tc-dark-blue-30; + } + + > .file:active:enabled + .tc-btn-default, + > .file:hover:enabled + .tc-btn-default { + background-image: linear-gradient(0deg, #F5F5F5 0%, #FFFFFF 49%, #FFFFFF 100%); + border-color: $tc-gray-40; + } + + > .file:active:enabled + .tc-btn-default { + box-shadow: inset 0 1px 2px 0 rgba($tc-black, 0.20); + } +} diff --git a/src/components/Footer/Footer.jsx b/src/components/Footer/Footer.jsx index 70d0c208b..4f75ef96e 100644 --- a/src/components/Footer/Footer.jsx +++ b/src/components/Footer/Footer.jsx @@ -15,8 +15,10 @@ const Footer = () => { ] const isProjectDetails = /projects\/\d+/.test(window.location.pathname) const isCreateProject = window.location.pathname.startsWith(NEW_PROJECT_PATH) + const isNotificationsPage = window.location.pathname.startsWith('/notifications') - if (isProjectDetails || isCreateProject) { + // TODO this looks like a bad way of doing it, I think it should be re-factored + if (isProjectDetails || isCreateProject || isNotificationsPage) { return null } diff --git a/src/components/FooterV2/FooterV2.scss b/src/components/FooterV2/FooterV2.scss index 97af9e305..7d3043917 100644 --- a/src/components/FooterV2/FooterV2.scss +++ b/src/components/FooterV2/FooterV2.scss @@ -2,12 +2,19 @@ .footer-v2 { @include roboto; + display: flex; + justify-content: space-between; + flex-wrap: wrap; font-size: $tc-label-xs; color: $tc-gray-50; line-height: $base-unit*6; padding: 0 10px; margin-top: $base-unit*2; + ul { + white-space: nowrap; + } + li { display: inline-block; } @@ -22,6 +29,7 @@ } .footer-copyright { - color: $tc-gray-50; + color: $tc-gray-30; + white-space: nowrap; } -} \ No newline at end of file +} diff --git a/src/components/LoadingIndicator/LoadingIndicator.jsx b/src/components/LoadingIndicator/LoadingIndicator.jsx index 796df0dd8..5a6a1773f 100644 --- a/src/components/LoadingIndicator/LoadingIndicator.jsx +++ b/src/components/LoadingIndicator/LoadingIndicator.jsx @@ -1,16 +1,25 @@ -import React from 'react' +import React, { PropTypes } from 'react' +import cn from 'classnames' require('./LoadingIndicator.scss') -const LoadingIndicator = () => { +const LoadingIndicator = ({ isSmall }) => { const backgroundImageUrl = { backgroundImage: `url(${require('./loader.gif')})` } return (
) } +LoadingIndicator.defaulProps = { + isSmall: false +} + +LoadingIndicator.propTypes = { + isSmall: PropTypes.bool +} + export default LoadingIndicator diff --git a/src/components/LoadingIndicator/LoadingIndicator.scss b/src/components/LoadingIndicator/LoadingIndicator.scss index c34c7ad9c..d112ca469 100644 --- a/src/components/LoadingIndicator/LoadingIndicator.scss +++ b/src/components/LoadingIndicator/LoadingIndicator.scss @@ -5,4 +5,12 @@ min-width: 70px; background: 50% 50% no-repeat; background-size: 70px 70px; + + &.small { + height: 32px; + width: 32px; + min-height: 0; + min-width: 0; + background-size: 32px 32px; + } } diff --git a/src/components/NotificationItem/NotificationItem.jsx b/src/components/NotificationItem/NotificationItem.jsx new file mode 100644 index 000000000..f5ebd71e4 --- /dev/null +++ b/src/components/NotificationItem/NotificationItem.jsx @@ -0,0 +1,80 @@ +/** + * Notification Item + * + * Has a tick to toggle read status + */ +import React, { PropTypes } from 'react' +import _ from 'lodash' +import { NOTIFICATION_TYPE } from '../../config/constants' +import SVGIconImage from '../SVGIconImage' +import moment from 'moment' +import { Link } from 'react-router-dom' +import './NotificationItem.scss' + +/** + * Format date + * + * TODO + * Currently this method doesn't take into account user timezone + * When there is real data comes from the server and we know source date timezone + * we have to update this method, probably using moment-timezone package + * + * @param {String} date date to format + * + * @return {String} formated date + */ +const formatDate = (date) => { + const today = moment() + const mDate = moment(date) + let format + + if (mDate.isSame(today, 'd')) { + format = mDate.fromNow() + } else if (mDate.isSame(today, 'y')) { + format = mDate.format('MMM DD') + } else { + format = mDate.format('MMM DD, YYYY') + } + + return format +} + +const NotificationItem = (props) => { + const notificationItem = ( +
+
+
+

+

{formatDate(props.date)}

+
+
+ +
+
+ ) + + return ( props.goto + ? {notificationItem} + : notificationItem + ) +} + +const notificationType = PropTypes.oneOf(_.values(NOTIFICATION_TYPE)) + +NotificationItem.propTypes = { + type: notificationType.isRequired, + text: PropTypes.string.isRequired, + goTo: PropTypes.string, + date: PropTypes.string.isRequired, + id: PropTypes.string.isRequired, + onReadToggleClick: PropTypes.func.isRequired +} + +export default NotificationItem diff --git a/src/components/NotificationItem/NotificationItem.scss b/src/components/NotificationItem/NotificationItem.scss new file mode 100644 index 000000000..a48da8f89 --- /dev/null +++ b/src/components/NotificationItem/NotificationItem.scss @@ -0,0 +1,89 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.notification-item-link { + display: block; + border-top: 1px solid $tc-gray-10; + + &:first-child { + border: none; + } +} + +.notification-item { + display: flex; + background-color: $tc-white; + justify-content: space-between; + transition: 150ms all; + + &:hover { + background-color: $tc-dark-blue-10; + } + + & + &, + .notification-item-link + & { + border-top: 1px solid $tc-gray-10; + } + + .icon { + align-items: center; + // border-left: 2px solid #55a5ff; + display: flex; + flex: 0 0 44px; + justify-content: center; + } + + .body { + flex: 1; + padding: 15px 0; + + .content { + @include roboto; + color: $tc-black; + font-size: 13px; + line-height: 20px; + + > strong { + color: #000; + font-weight: bold; + } + } + + > .date { + @include roboto; + color: $tc-gray-50; + font-size: 11px; + line-height: 20px; + } + } + + .mark-read { + align-items: center; + display: flex; + flex: 0 0 40px; + justify-content: flex-end; + transition: all 150ms; + + &:hover { + background-color: $tc-dark-blue-30; + + svg { + fill: $tc-dark-blue-90; + } + } + + button { + background: none; + border: 0; + display: block; + height: 42px; + margin: 0; + padding: 0; + width: 42px; + + svg { + fill: $tc-gray-20; + } + } + } +} diff --git a/src/components/NotificationsDropdown/NotificationsDropdown.jsx b/src/components/NotificationsDropdown/NotificationsDropdown.jsx new file mode 100644 index 000000000..0a1df2284 --- /dev/null +++ b/src/components/NotificationsDropdown/NotificationsDropdown.jsx @@ -0,0 +1,33 @@ +/** + * Notifications dropdown + * + * A bell icon which toggles a dropdown with notifications + */ +import React, { PropTypes } from 'react' +import SVGIconImage from '../SVGIconImage' +import Dropdown from '../Dropdown/Dropdown' +import cn from 'classnames' + +const NotificationsDropdown = (props) => { + return ( +
+ +
+
+
+
+
+ {props.children} +
+
+
+
+ ) +} + +NotificationsDropdown.propTypes = { + hasUnread: PropTypes.bool, + children: PropTypes.node +} + +export default NotificationsDropdown diff --git a/src/components/NotificationsDropdown/NotificationsDropdown.scss b/src/components/NotificationsDropdown/NotificationsDropdown.scss new file mode 100644 index 000000000..aa136e2c1 --- /dev/null +++ b/src/components/NotificationsDropdown/NotificationsDropdown.scss @@ -0,0 +1,112 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +// project override for dropdown shadow +.Dropdown { + box-shadow: 0 3px 30px 2px rgba(0, 0, 0, 0.5); + cursor: default; + user-select: none; +} + +.notifications-dropdown { + align-items: center; + display: flex; + margin-left: -8px; + margin-right: 12px; + position: relative; + + .UserDropdownMenu { + padding: 0; + } + + .Dropdown { + right: 10px; + left: auto; + padding-bottom: 0; + position: fixed; + top: 54px; + width: auto; + } + + .UserDropdownMenu .Dropdown.pointer-shadow { + margin-top: 0; + + &::before { + background-color: $tc-gray-neutral-light; + right: 12px; + } + } + + .notifications-dropdown-bell { + align-items: center; + cursor: pointer; + display: flex; + justify-content: center; + height: 32px; + /* prevent notifications text selection when clicking the bell fast */ + user-select: none; + position: relative; + width: 32px; + + > svg > g > g { + fill: $tc-white; + } + } + + .notifications-dropdown-bell.has-unread { + &::after { + background-color: $tc-red-70; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -2px; + top: 2px; + width: 8px; + } + } + + .dropdown-wrap.hide .notifications-dropdown-bell:not(.has-unread) { + > svg > g > g { + fill: $tc-gray-50; + } + } + + .notifications-dropdown-body { + // window height + // - 54px dropdown top position + // - 40px dropdown header + // - 41px dropdown footer + // - 10px dropdown margin bottom + height: calc(100vh - 145px); + max-height: 500px; + overflow: auto; + } + + .notifications-dropdown-content { + border-radius: 4px; + overflow: hidden; + width: 480px; + } + + .notifications-read-all { + @include roboto; + background-color: $tc-gray-neutral-light; + border-top: 1px solid $tc-gray-10; + color: $tc-gray-50; + display: block; + font-size: 12px; + line-height: 40px; + letter-spacing: 0; + text-align: center; + } + + .notifications-empty { + padding: 50px 0 60px; + + .notification-settings { + margin-top: 30px; + } + } +} diff --git a/src/components/NotificationsDropdown/NotificationsDropdownContainer.jsx b/src/components/NotificationsDropdown/NotificationsDropdownContainer.jsx new file mode 100644 index 000000000..39c20f1b5 --- /dev/null +++ b/src/components/NotificationsDropdown/NotificationsDropdownContainer.jsx @@ -0,0 +1,98 @@ +/** + * Container component for NotificationsDropdown component + * + * Connects to the state and prepare data for dummy component + */ +import React from 'react' +import { Link } from 'react-router-dom' +import { connect } from 'react-redux' +import { getNotifications, markAllNotificationsRead, toggleNotificationRead } from '../../routes/notifications/actions' +import { splitNotificationsBySources, filterReadNotifications, limitQuantityInSources } from '../../routes/notifications/helpers/notifications' +import NotificationsSection from '../NotificationsSection/NotificationsSection' +import NotificationsEmpty from '../NotificationsEmpty/NotificationsEmpty' +import NotificationsDropdownHeader from '../NotificationsDropdownHeader/NotificationsDropdownHeader' +import NotificationsDropdown from './NotificationsDropdown' +import { NOTIFCATIONS_DROPDOWN_PER_SOURCE, NOTIFCATIONS_DROPDOWN_MAX_TOTAL, REFRESH_NOTIFICATIONS_INTERVAL } from '../../config/constants' +import './NotificationsDropdown.scss' + +class NotificationsDropdownContainer extends React.Component { + + componentDidMount() { + this.props.getNotifications() + this.autoRefreshNotifications = setInterval(() => this.props.getNotifications(), REFRESH_NOTIFICATIONS_INTERVAL) + } + + componentWillUnmount() { + clearInterval(this.autoRefreshNotifications) + } + + render() { + if (!this.props.initialized) { + return null + } + + const { sources, notifications, markAllNotificationsRead, toggleNotificationRead, pending } = this.props + const notReadNotifications = filterReadNotifications(notifications) + const notificationsBySources = limitQuantityInSources( + splitNotificationsBySources(sources, notReadNotifications), + NOTIFCATIONS_DROPDOWN_PER_SOURCE, + NOTIFCATIONS_DROPDOWN_MAX_TOTAL + ) + const globalSource = notificationsBySources.length > 0 && notificationsBySources[0].id === 'global' ? notificationsBySources[0] : null + const projectSources = notificationsBySources.length > 1 && globalSource ? notificationsBySources.slice(1) : notificationsBySources + const hasUnread = notReadNotifications.length > 0 + // we have to give Dropdown component some time + // before removing notification item node from the list + // otherwise dropdown thinks we clicked outside and closes dropdown + const toggleNotificationReadWithDelay = (notificationId) => { + if (!pending) { + setTimeout(() => toggleNotificationRead(notificationId), 0) + } + } + + return ( + + !pending && markAllNotificationsRead()} hasUnread={hasUnread} /> + {!hasUnread ? ( +
+ +
+ Notification Settings +
+
+
+ ) : ([ +
+ {globalSource && globalSource.notifications.length && + + } + {projectSources.filter(source => source.notifications.length > 0).map(source => + + )} +
, + View all notifications + ])} +
+ ) + } +} + +const mapStateToProps = ({ notifications }) => notifications + +const mapDispatchToProps = { + getNotifications, + markAllNotificationsRead, + toggleNotificationRead +} + +export default connect(mapStateToProps, mapDispatchToProps)(NotificationsDropdownContainer) diff --git a/src/components/NotificationsDropdownHeader/NotificationsDropdownHeader.jsx b/src/components/NotificationsDropdownHeader/NotificationsDropdownHeader.jsx new file mode 100644 index 000000000..6ea2d7791 --- /dev/null +++ b/src/components/NotificationsDropdownHeader/NotificationsDropdownHeader.jsx @@ -0,0 +1,21 @@ +/** + * Header for NotificatonsDropdown component + * + * Shows title and "Mark all as read" button + */ +import React, { PropTypes } from 'react' +import './NotificationsDropdownHeader.scss' + +const NotificationsDropdownHeader = (props) => ( +
+

Notifications

+ +
+) + +NotificationsDropdownHeader.propTypes = { + onMarkAllClick: PropTypes.func.isRequired, + hasUnread: PropTypes.bool +} + +export default NotificationsDropdownHeader diff --git a/src/components/NotificationsDropdownHeader/NotificationsDropdownHeader.scss b/src/components/NotificationsDropdownHeader/NotificationsDropdownHeader.scss new file mode 100644 index 000000000..ac82933a0 --- /dev/null +++ b/src/components/NotificationsDropdownHeader/NotificationsDropdownHeader.scss @@ -0,0 +1,33 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.notifications-dropdown-header { + align-items: center; + background: $tc-gray-neutral-light; + border-bottom: 1px solid $tc-gray-20; + display: flex; + justify-content: space-between; + padding: 0 15px; + + .header { + @include roboto-medium; + color: $tc-gray-70; + font-size: 12px; + line-height: 39px; + letter-spacing: 0; + text-transform: uppercase; + } + + .mark-all { + @include roboto; + background: none; + border: 0; + color: $tc-gray-50; + height: 39px; + line-height: 39px; + display: block; + font-size: 12px; + letter-spacing: 0; + padding: 0; + } +} diff --git a/src/components/NotificationsEmpty/NotificationsEmpty.jsx b/src/components/NotificationsEmpty/NotificationsEmpty.jsx new file mode 100644 index 000000000..e271e1cad --- /dev/null +++ b/src/components/NotificationsEmpty/NotificationsEmpty.jsx @@ -0,0 +1,20 @@ +/** + * Message to show when there is no notifications + */ +import React, { PropTypes } from 'react' +import SVGIconImage from '../SVGIconImage' +import './NotificationsEmpty.scss' + +const NotificationsEmpty = (props) => ( +
+
+

Good job! You’re all caught up

+ {props.children &&
{props.children}
} +
+) + +NotificationsEmpty.propTypes = { + children: PropTypes.node +} + +export default NotificationsEmpty diff --git a/src/components/NotificationsEmpty/NotificationsEmpty.scss b/src/components/NotificationsEmpty/NotificationsEmpty.scss new file mode 100644 index 000000000..e04387b38 --- /dev/null +++ b/src/components/NotificationsEmpty/NotificationsEmpty.scss @@ -0,0 +1,34 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.notifications-empty { + background-color: #fff; + border-radius: 4px; + padding: 70px 0 110px; + text-align: center; + + > .icon { + line-height: 0; + + > svg { + height: 32px; + width: 32px; + + > g > g { + fill: #6a6a72; + } + } + } + + > .additional-content { + line-height: normal; + } + + > .message { + @include roboto; + color: $tc-gray-70; + font-size: 20px; + line-height: 30px; + margin-top: 14px; + } +} diff --git a/src/components/NotificationsSection/NotificationsSection.jsx b/src/components/NotificationsSection/NotificationsSection.jsx new file mode 100644 index 000000000..7b5ba0177 --- /dev/null +++ b/src/components/NotificationsSection/NotificationsSection.jsx @@ -0,0 +1,49 @@ +/** + * Section of notifications from one source + * + * Displays source title, "mark all" button and list of notifications + */ +import React, { PropTypes } from 'react' +import NotificationItem from '../NotificationItem/NotificationItem' +import NotificationsSectionTitle from '../NotificationsSectionTitle/NotificationsSectionTitle' +import LoadingIndicator from '../LoadingIndicator/LoadingIndicator' +import cn from 'classnames' +import './NotificationsSection.scss' + +const NotificationsSection = (props) => { + return ( +
+ {!(props.isSimple && props.isGlobal) && + + } + {props.notifications.map(notification => ( + + ))} + {props.onViewOlderClick && props.total > props.notifications.length && ( + props.isLoading ? ( +
+ ) : ( + + ) + ) + } +
+ ) +} + +NotificationsSection.propTypes = { + isSimple: PropTypes.bool, + isGlobal: PropTypes.bool, + title: PropTypes.string.isRequired, + onMarkAllClick: PropTypes.func, + onReadToggleClick: PropTypes.func.isRequired, + onViewOlderClick: PropTypes.func, + total: PropTypes.number, + notifications: PropTypes.array.isRequired +} + +export default NotificationsSection diff --git a/src/components/NotificationsSection/NotificationsSection.scss b/src/components/NotificationsSection/NotificationsSection.scss new file mode 100644 index 000000000..81a4afe8e --- /dev/null +++ b/src/components/NotificationsSection/NotificationsSection.scss @@ -0,0 +1,36 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.notifications-section { + border: 1px solid $tc-gray-20; + + & + & { + margin-top: 20px; + } + + &.is-simple + &.is-simple { + margin-top: 0; + } + + .view-older { + @include roboto; + align-items: center; + background: $tc-gray-neutral-light; + border: 0; + color: $tc-gray-50; + border-radius: 0; + border-top: 1px solid $tc-gray-10; + display: flex; + font-size: 13px; + height: 40px; + justify-content: center; + line-height: 40px; + text-align: center; + width: 100%; + } +} + +// Hide border in dropdown menu +.Dropdown .notifications-section { + border: none; +} diff --git a/src/components/NotificationsSectionTitle/NotificationsSectionTitle.jsx b/src/components/NotificationsSectionTitle/NotificationsSectionTitle.jsx new file mode 100644 index 000000000..9be3090f0 --- /dev/null +++ b/src/components/NotificationsSectionTitle/NotificationsSectionTitle.jsx @@ -0,0 +1,31 @@ +/** + * Title for sections of notifications + * + * Can be two types depend on isGlobal flag + */ +import React, { PropTypes } from 'react' +import './NotificationsSectionTitle.scss' + +const NotificationsSectionTitle = (props) => { + return ( +
+ {props.isGlobal ? +

{props.title}

: +

{props.title}

+ } + {props.onMarkAllClick && +
+ +
+ } +
+ ) +} + +NotificationsSectionTitle.propTypes = { + isGlobal: PropTypes.bool, + title: PropTypes.string.isRequired, + onMarkAllClick: PropTypes.func +} + +export default NotificationsSectionTitle diff --git a/src/components/NotificationsSectionTitle/NotificationsSectionTitle.scss b/src/components/NotificationsSectionTitle/NotificationsSectionTitle.scss new file mode 100644 index 000000000..b2578f650 --- /dev/null +++ b/src/components/NotificationsSectionTitle/NotificationsSectionTitle.scss @@ -0,0 +1,59 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.notifications-section-title { + align-items: center; + background-color: $tc-gray-20; + // border-bottom: 1px solid $tc-gray-20; + display: flex; + justify-content: space-between; + + .title { + @include roboto-bold; + color: $tc-gray-80; + font-size: 13px; + line-height: 20px; + padding: 5px 0; + margin-left: 15px; + } + + .controls { + .mark-all { + @include roboto; + background: none; + border: 0; + color: $tc-gray-50; + display: block; + font-size: 11px; + line-height: 30px; + white-space: nowrap; + } + } + + &.global { + align-items: flex-end; + background-color: transparent; + margin: 31px 0 10px; + padding: 0; + + &:first-child { + margin-top: 0; + } + + .title { + color: $tc-black; + font-size: 20px; + font-weight: 400; + line-height: 30px; + margin-left: 0; + } + + .controls { + .mark-all { + height: 20px; + line-height: 20px; + padding: 0; + } + } + } +} \ No newline at end of file diff --git a/src/components/ProjectStatus/ProjectStatus.jsx b/src/components/ProjectStatus/ProjectStatus.jsx index 3d3381f2f..6317df082 100644 --- a/src/components/ProjectStatus/ProjectStatus.jsx +++ b/src/components/ProjectStatus/ProjectStatus.jsx @@ -1,149 +1,44 @@ -import React, { Component, PropTypes } from 'react' +import React, { PropTypes } from 'react' import cn from 'classnames' -import { PROJECT_STATUS } from '../../config/constants' -import SVGIconImage from '../SVGIconImage' import './ProjectStatus.scss' -export const enhanceDropdown = (CompositeComponent) => class extends Component { - constructor(props) { - super(props) - this.state = { isOpen: false } - this.handleClick = this.handleClick.bind(this) - this.onSelect = this.onSelect.bind(this) - this.onClickOutside = this.onClickOutside.bind(this) - this.onClickOtherDropdown = this.onClickOtherDropdown.bind(this) - this.refreshEventHandlers = this.refreshEventHandlers.bind(this) - } - - refreshEventHandlers() { - if (this.state.isOpen) { - document.addEventListener('click', this.onClickOutside) - document.addEventListener('dropdownClicked', this.onClickOtherDropdown) - } else { - document.removeEventListener('click', this.onClickOutside) - document.removeEventListener('dropdownClicked', this.onClickOtherDropdown) - } - } - - handleClick() { - const dropdownClicked = document.createEvent('Event') - dropdownClicked.initEvent('dropdownClicked', true, false) - - document.dispatchEvent(dropdownClicked) - - this.setState({ isOpen: !this.state.isOpen }, () => { - this.refreshEventHandlers() - }) - } - - onSelect(value) { - this.handleClick() - if (this.props.onSelect) this.props.onSelect(value) - } - - onClickOutside(evt) { - let currNode = evt.target - let isDropdown = false - console.log('onClickOutside') - - do { - if (currNode.className - && currNode.className.indexOf - && currNode.className.indexOf('dropdown-wrap') > -1) { - isDropdown = true - break - } - - currNode = currNode.parentNode - - if (!currNode) - break - } while (currNode.tagName) - - if (!isDropdown) { - this.setState({ isOpen: false }, () => { - this.refreshEventHandlers() - }) - } - } - - onClickOtherDropdown() { - this.setState({ isOpen: false }, () => { - this.refreshEventHandlers() - }) - } - - componentDidMount() { - document.removeEventListener('click', this.onClickOutside) - document.removeEventListener('dropdownClicked', this.onClickOtherDropdown) - - if (this.state.isOpen) { - document.addEventListener('click', this.onClickOutside) - document.addEventListener('dropdownClicked', this.onClickOtherDropdown) - } - } - - componentWillUnmount() { - document.removeEventListener('click', this.onClickOutside) - document.removeEventListener('dropdownClicked', this.onClickOtherDropdown) - } - - render() { - const { isOpen } = this.state - return ( -
e.stopPropagation()} className="dropdown-wrap"> - -
- ) - } -} - - /*eslint-enable camelcase */ -const ProjectStatus = ({ canEdit, isOpen, status, handleClick, onSelect, showText, withoutLabel, unifiedHeader = true }) => { - const selected = PROJECT_STATUS.filter((opt) => opt.value === status)[0] +const ProjectStatus = ({ status, showText, withoutLabel, unifiedHeader = true }) => { return ( -
-
-
- {showText && ({withoutLabel ? selected.fullName : selected.name})} -
- {isOpen && canEdit &&
-
Project Status
- -
- } +
+
+ {showText && ({withoutLabel ? status.fullName : status.name})}
) } ProjectStatus.propTypes = { - status: PropTypes.oneOf(['draft', 'active', 'in_review', 'reviewed', 'completed', 'paused', 'cancelled']).isRequired + // status: PropTypes.oneOf(['draft', 'active', 'in_review', 'reviewed', 'completed', 'paused', 'cancelled']).isRequired + /** + * Status object, containing name, fullName and value fields + */ + status : PropTypes.arrayOf(PropTypes.object).isRequired, + /** + * Boolean flag to render the status text + */ + showText : PropTypes.bool, + /** + * Boolean flag to render the more detailed status text (fullName field form the status object). + * Its main use case is the place where we don't show a label like `Project Status` before rendering + * this component. + */ + withoutLabel : PropTypes.bool, + /** + * Boolean flag to render a unified(with common background color) project status. It is added for backward + * compaitability only. We are not rendering this type of view of project status anymore. + */ + unifiedHeader : PropTypes.bool } ProjectStatus.defaultProps = { + showText : true, + withoutLabel : false, + unifiedHeader : false } export default ProjectStatus diff --git a/src/components/ProjectStatus/ProjectStatus.scss b/src/components/ProjectStatus/ProjectStatus.scss index fad97450b..d401b05b9 100644 --- a/src/components/ProjectStatus/ProjectStatus.scss +++ b/src/components/ProjectStatus/ProjectStatus.scss @@ -1,9 +1,10 @@ @import 'tc-includes'; -$status-height : 20px; +$status-height: 20px; .ProjectStatus { position: relative; height: $status-height; + .status-icon { position: relative; display: inline-block; @@ -19,7 +20,7 @@ $status-height : 20px; } } - .ps-draft { + &.ps-draft { .status-icon { i { background: url('../../assets/images/ps-draft.svg') no-repeat -7px -4px; @@ -28,7 +29,7 @@ $status-height : 20px; } } - .ps-in_review { + &.ps-in_review { .status-icon { i { background: url('../../assets/images/ps-in_review.svg') no-repeat -7px -4px; @@ -37,7 +38,7 @@ $status-height : 20px; } } - .ps-reviewed { + &.ps-reviewed { .status-icon { i { background: url('../../assets/images/ps-reviewed.svg') no-repeat -7px -4px; @@ -46,7 +47,7 @@ $status-height : 20px; } } - .ps-active { + &.ps-active { .status-icon { i { background: url('../../assets/images/ps-active.svg') no-repeat; @@ -55,7 +56,7 @@ $status-height : 20px; } } - .ps-cancelled { + &.ps-cancelled { .status-icon { i { background: url('../../assets/images/ps-cancelled.svg') no-repeat -7px -4px; @@ -64,7 +65,7 @@ $status-height : 20px; } } - .ps-completed { + &.ps-completed { .status-icon { i { background: url('../../assets/images/ps-completed.svg') no-repeat -7px -4px; @@ -73,7 +74,7 @@ $status-height : 20px; } } - .ps-paused { + &.ps-paused { .status-icon { i { background: url('../../assets/images/ps-paused.svg') no-repeat -7px -4px; @@ -82,40 +83,57 @@ $status-height : 20px; } } + .status-label { + position: relative; + @include tc-label-xs; + line-height: $base-unit*4; + height: $base-unit*4; + padding-right: $base-unit; + margin-left: 10px; + } +} + +.EditableProjectStatus { + .status-label { + vertical-align: top; + } + .status-header { display: flex; // position: absolute; height: $status-height; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; user-select: none; border-radius: $base-unit*4; cursor: default; - .caret{ + .caret { display: none; } &.editable { cursor: pointer; + &:hover { &::after { - } } + .caret { // content: ''; - z-index: 3; + // z-index: 3; display: inline-block; width: 9px; - height: 5px; - position: absolute; - right: 5px; - top: 8px; + height: 20px; + position: relative; + margin-left: 5px; + // right: 5px; + // top: 8px; background-size: 9px 4px; - .Icon{ + .Icon { width: 100%; height: 100%; display: block; @@ -142,22 +160,29 @@ $status-height : 20px; position: relative; @include tc-label-xs; height: $base-unit*4; - padding-right: 4 * $base-unit; + padding-right: $base-unit; margin-left: 10px; } .status-dropdown { - min-width: 110%; + min-width: 150px; position: absolute; border-radius: $base-unit; box-shadow: 0 0 15px rgba($tc-black, .25); padding: 10px 0; position: absolute; background: $tc-white; - top: -2*$base_unit; - left: 0px; - right: auto; + top: -2 * $base_unit; + left: auto; + right: -10px; z-index: 2; + transition: 250ms all; + + &.dropdown-up { + top: auto; + bottom: 0; + } + .status-header { @include roboto-medium; font-size: $tc-label-md; @@ -177,9 +202,11 @@ $status-height : 20px; line-height: 30px; padding: 5px 16px 5px 10px; white-space: nowrap; + &:hover { background: $tc-dark-blue-10; } + &.active { background: $tc-dark-blue-10; } diff --git a/src/components/ProjectStatus/editableProjectStatus.js b/src/components/ProjectStatus/editableProjectStatus.js index 93036affd..5fe45d40c 100644 --- a/src/components/ProjectStatus/editableProjectStatus.js +++ b/src/components/ProjectStatus/editableProjectStatus.js @@ -1,13 +1,78 @@ -import React, { Component} from 'react' +import React, { Component, PropTypes } from 'react' import ProjectStatusChangeConfirmation from './ProjectStatusChangeConfirmation' +import ProjectStatus from './ProjectStatus' import cn from 'classnames' import _ from 'lodash' -import { enhanceDropdown} from './ProjectStatus' +import { enhanceDropdown } from 'appirio-tech-react-components' +import SVGIconImage from '../SVGIconImage' import { + PROJECT_STATUS, PROJECT_STATUS_COMPLETED, PROJECT_STATUS_CANCELLED } from '../../config/constants' +const hocStatusDropdown = (CompositeComponent) => { + class StatusDropdown extends Component { + shouldDropdownUp() { + if (this.refs.dropdown) { + const bounds = this.refs.dropdown.getBoundingClientRect() + const windowHeight = window.innerHeight + + return bounds.top > windowHeight / 2 + } + + return false + } + + render() { + const { canEdit, isOpen, handleClick, onItemSelect, showText, withoutLabel, unifiedHeader, status } = this.props + const selected = PROJECT_STATUS.filter((opt) => opt.value === status)[0] + + this.shouldDropdownUp() + return ( +
+
+ + { canEdit && } +
+ { isOpen && canEdit && +
+
Project Status
+ +
+ } +
+ ) + } + } + + return StatusDropdown +} + const editableProjectStatus = (CompositeComponent) => class extends Component { constructor(props) { super(props) @@ -55,14 +120,12 @@ const editableProjectStatus = (CompositeComponent) => class extends Component { render() { const { showStatusChangeDialog, newStatus, statusChangeReason } = this.state - const EnhancedProjectStatus = enhanceDropdown(CompositeComponent) + const { canEdit } = this.props + const ProjectStatusDropdown = canEdit ? enhanceDropdown(hocStatusDropdown(CompositeComponent)) : hocStatusDropdown(CompositeComponent) return ( -
+
- + { showStatusChangeDialog && class extends Component { } } +editableProjectStatus.propTypes = { + /** + * Boolean flag to control editability of the project status. It does not render the dropdown if it is not editable. + */ + canEdit: PropTypes.bool +} + export default editableProjectStatus \ No newline at end of file diff --git a/src/components/ScrollToAnchors.jsx b/src/components/ScrollToAnchors.jsx new file mode 100644 index 000000000..83d8b9527 --- /dev/null +++ b/src/components/ScrollToAnchors.jsx @@ -0,0 +1,56 @@ +/** + * Enables scrolling to anchor links inside component + * + * The idea is, that many components are not mounted from the beginning due to data loading etc + * So we wrap such components with this HOC. + * As soon as component mounted we check if window location has any hash. + * If there is any hash we check if component has element with such id and scroll to it. + */ +import React from 'react' +import { SCROLL_TO_MARGIN } from '../config/constants' +import { scroller } from 'react-scroll' + +/** + * Scrolls to the element by hash + * + * @param {String} hash hash + */ +export function scrollToHash(hash) { + const id = hash.replace('#', '') + + scroller.scrollTo(id, { + spy: true, + smooth: true, + offset: -SCROLL_TO_MARGIN, + duration: 500 + }) +} + +/** + * HOC + * + * @param {Mixed} Component react component + * + * @return {Object} wrapped react component + */ +export function scrollToAnchors(Component) { + + class ScrollToAnchorsComponent extends React.Component { + componentDidMount() { + const { hash } = window.location + + if (hash !== '') { + // Push onto callback queue so it runs after the DOM is updated, + // this is required when navigating from a different page so that + // the element is rendered on the page before trying to getElementById. + setTimeout(() => scrollToHash(hash), 0) + } + } + + render() { + return + } + } + + return ScrollToAnchorsComponent +} diff --git a/src/components/SelectDropdown/SelectDropdown.jsx b/src/components/SelectDropdown/SelectDropdown.jsx index b80914316..5c30a8a2e 100644 --- a/src/components/SelectDropdown/SelectDropdown.jsx +++ b/src/components/SelectDropdown/SelectDropdown.jsx @@ -3,7 +3,7 @@ require('./SelectDropdown.scss') import _ from 'lodash' import React, { Component, PropTypes } from 'react' import { HOC as hoc } from 'formsy-react' -import Dropdown from '../Dropdown/Dropdown' +import { Dropdown } from 'appirio-tech-react-components' class SelectDropdown extends Component { constructor(props) { diff --git a/src/components/SideFilter/SideFilter.jsx b/src/components/SideFilter/SideFilter.jsx new file mode 100644 index 000000000..80e408a79 --- /dev/null +++ b/src/components/SideFilter/SideFilter.jsx @@ -0,0 +1,41 @@ +/** + * Side filter + * + * Visually splits filters into sections. + */ +import React, { PropTypes } from 'react' +import SideFilterSection from './SideFilterSection' +import './SideFilter.scss' + +const SideFilter = (props) => ( +
+
    + {props.filterSections.map((filters, index) => ( + + ))} +
+ {props.children && +
+ {props.children} +
+ } +
+) + +SideFilter.defaultProps = { + filterSections: [], + selectedFilter: '' +} + +SideFilter.propTypes = { + filterSections: PropTypes.array, + onFilterItemClick: PropTypes.func.isRequired, + selectedFilter: PropTypes.string +} + +export default SideFilter diff --git a/src/components/SideFilter/SideFilter.scss b/src/components/SideFilter/SideFilter.scss new file mode 100644 index 000000000..0e40dbfd0 --- /dev/null +++ b/src/components/SideFilter/SideFilter.scss @@ -0,0 +1,15 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.side-filter { + background: #FFFFFF; + border-radius: 4px; + padding: 10px; + + .additional-content { + border-top: 1px solid $tc-gray-10; + margin-top: 10px; + text-align: center; + padding: 20px 0 10px; + } +} diff --git a/src/components/SideFilter/SideFilterSection.jsx b/src/components/SideFilter/SideFilterSection.jsx new file mode 100644 index 000000000..ff8b59040 --- /dev/null +++ b/src/components/SideFilter/SideFilterSection.jsx @@ -0,0 +1,34 @@ +/** + * Filter section + */ +import React, { PropTypes } from 'react' +import SideFilterSectionItem from './SideFilterSectionItem' +import './SideFilterSection.scss' + +const SideFilterSection = (props) => ( +
  • +
      + {props.filters.map(filter => ( + + ))} +
    +
  • +) + +SideFilterSection.defaultProps = { + filter: [], + selectedFilter: '' +} + +SideFilterSection.propTypes = { + filter: PropTypes.array, + onFilterItemClick: PropTypes.func.isRequired, + selectedFilter: PropTypes.string +} + +export default SideFilterSection diff --git a/src/components/SideFilter/SideFilterSection.scss b/src/components/SideFilter/SideFilterSection.scss new file mode 100644 index 000000000..b90f2ff74 --- /dev/null +++ b/src/components/SideFilter/SideFilterSection.scss @@ -0,0 +1,11 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.side-filter-section { + & + &::before { + content: ''; + display: block; + border-top: 1px solid $tc-gray-10; + margin: 10px; + } +} diff --git a/src/components/SideFilter/SideFilterSectionItem.jsx b/src/components/SideFilter/SideFilterSectionItem.jsx new file mode 100644 index 000000000..bf2a872e7 --- /dev/null +++ b/src/components/SideFilter/SideFilterSectionItem.jsx @@ -0,0 +1,36 @@ +/** + * Filter item in the filter section + * + * - Shows filter name and quantity if defined + * - Has onClick callback with filter value argument + */ + +import React, { PropTypes } from 'react' +import _ from 'lodash' +import './SideFilterSectionItem.scss' + +const SideFilterSectionItem = (props) => ( +
  • props.onClick(props.value)} + > +
    {props.title}
    + {_.isNumber(props.quantity) &&
    {props.quantity}
    } +
  • +) + +SideFilterSectionItem.defaultProps = { + quantity: null, + isSelected: false +} + +SideFilterSectionItem.propTypes = { + onClick: PropTypes.func.isRequired, + value: PropTypes.string.isRequired, + title: PropTypes.string.isRequired, + quantity: PropTypes.number, + isSelected: PropTypes.bool +} + +export default SideFilterSectionItem diff --git a/src/components/SideFilter/SideFilterSectionItem.scss b/src/components/SideFilter/SideFilterSectionItem.scss new file mode 100644 index 000000000..eba197d40 --- /dev/null +++ b/src/components/SideFilter/SideFilterSectionItem.scss @@ -0,0 +1,32 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.side-filter-section-item { + @include roboto; + border-radius: 4px; + color: $tc-black; + cursor: pointer; + display: flex; + font-size: 13px; + justify-content: space-between; + line-height: 30px; + padding: 0 10px; + + &.active { + @include roboto-bold; + background-color: $tc-gray-10; + cursor: default; + font-weight: bold; + } + + .title { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .quantity { + text-align: right; + width: 40px; + } +} diff --git a/src/components/SliderInput/SliderInput.js b/src/components/SliderInput/SliderInput.js deleted file mode 100644 index 030f78610..000000000 --- a/src/components/SliderInput/SliderInput.js +++ /dev/null @@ -1,67 +0,0 @@ -'use strict' - -import React, { Component, PropTypes } from 'react' -import Slider from 'rc-slider' -import 'rc-slider/assets/index.css' -import cn from 'classnames' -import _ from 'lodash' -import { HOC as hoc } from 'formsy-react' -import './SliderInput.scss' - -class SliderInput extends Component { - constructor(props) { - super(props) - this.onChange = this.onChange.bind(this) - } - - onChange(value) { - const {name, options} = this.props - const newValue = options[value].value - this.props.setValue(newValue) - this.props.onChange(name, newValue) - } - - noOp() {} - - getIndexFromValue(val) { - return _.findIndex(this.props.options, (t) => t.value === val) - } - - render() { - const { options, min, max, step} = this.props - const value = this.props.getValue() - const valueIdx = this.getIndexFromValue(value) - const marks = {} - for(let i=0; i < options.length; i++) { - marks[i] = options[i].title - } - return ( -
    - -
    - ) - } -} - -SliderInput.propTypes = { - options: PropTypes.arrayOf(PropTypes.object.isRequired).isRequired, - min: PropTypes.number.isRequired, - max: PropTypes.number.isRequired, - step: PropTypes.number.isRequired -} -SliderInput.defaultProps = { - onChange: () => {} -} -export default hoc(SliderInput) diff --git a/src/components/SliderInput/SliderInput.scss b/src/components/SliderInput/SliderInput.scss deleted file mode 100644 index 95944cd53..000000000 --- a/src/components/SliderInput/SliderInput.scss +++ /dev/null @@ -1,43 +0,0 @@ -@import 'tc-includes'; - -.SliderInput { - margin: 25px auto 0px auto; - .rc-slider-dot, - .rc-slider-handle { - background: $tc-white; - border: 4px solid $tc-gray-10; - border-radius: 18px; - width: 20px; - height: 20px; - bottom: -7px; - } - - .rc-slider-handle { - border-color: $tc-dark-blue-90; - margin-left: -4px; - bottom: -2px; - display: none; - } - - &:not(.null-value) .rc-slider-dot-active { - border: none; - background: $tc-dark-blue-90 url('../../../assets/images/check-white.svg') no-repeat 6px 7px; - // bottom: -2px; - // margin-left: -5px; - } - - .rc-slider-track, - .rc-slider-rail { - background-color: $tc-gray-10; - } - - .rc-slider-mark { - top: -30px; - .rc-slider-mark-text { - @include tc-label-lg; - line-height: 5 * $base_unit; - color: $tc-gray-80; - letter-spacing: 0; - } - } -} \ No newline at end of file diff --git a/src/components/TeamManagement/MemberRow.jsx b/src/components/TeamManagement/MemberRow.jsx index 676747855..992c8bdb1 100644 --- a/src/components/TeamManagement/MemberRow.jsx +++ b/src/components/TeamManagement/MemberRow.jsx @@ -20,7 +20,7 @@ const ActionBtn = (props) => { ) } -const MemberRow = ({ member, currentMember, onMemberDelete, onChangeOwner }) => { +const MemberRow = ({ member, currentMember, currentUser, onMemberDelete, onChangeOwner }) => { let title // rendered member const isOwner = member.isPrimary && member.isCustomer @@ -44,14 +44,14 @@ const MemberRow = ({ member, currentMember, onMemberDelete, onChangeOwner }) => if (!isCurrentOwner && !member.isCopilot) { buttons.push() } - } else if (currentMember) { + } else if (currentMember || currentUser.isAdmin) { // owner can remove only customers if (isCurrentOwner && member.isCustomer) { buttons.push() } // manager can remove all except owner - if (currentMember.isManager && !isOwner) { + if ((currentMember && currentMember.isManager) || currentUser.isAdmin) { let tooltip = 'Remove team member from project' if (member.isCopilot) { tooltip = 'Remove copilot from project' @@ -59,6 +59,9 @@ const MemberRow = ({ member, currentMember, onMemberDelete, onChangeOwner }) => if (member.isManager) { tooltip = 'Remove manager from project' } + if (member.isCustomer && isOwner) { + tooltip = 'Remove owner from project' + } buttons.push() } diff --git a/src/components/TeamManagement/TeamManagement.jsx b/src/components/TeamManagement/TeamManagement.jsx index edc5f62ed..0e129c311 100644 --- a/src/components/TeamManagement/TeamManagement.jsx +++ b/src/components/TeamManagement/TeamManagement.jsx @@ -61,7 +61,7 @@ const TeamManagement = (props) => { return (
    - {currentMember && onToggleAddTeamMember(true)}>Add Team Member} + {(currentMember || currentUser.isAdmin) && onToggleAddTeamMember(true)}>Add Team Member} {modalActive &&
    } @@ -114,7 +114,7 @@ const TeamManagement = (props) => { })} {canJoin && } - {currentMember && } + {(currentMember || currentUser.isAdmin) && } { showNewMemberConfirmation && } diff --git a/src/components/TextInputWithCounter/TextInputWithCounter.jsx b/src/components/TextInputWithCounter/TextInputWithCounter.jsx new file mode 100644 index 000000000..ac0afb23c --- /dev/null +++ b/src/components/TextInputWithCounter/TextInputWithCounter.jsx @@ -0,0 +1,51 @@ +/** + * Text field with counter + */ +import React, { PropTypes } from 'react' +import { TCFormFields } from 'appirio-tech-react-components' +import './TextInputWithCounter.scss' + +class TextInputWithCounter extends React.Component { + constructor(props) { + super(props) + + const initialValue = this.props.value || '' + this.state = { + value: initialValue, + count: initialValue.length + } + } + + render() { + return ( +
    +
    {this.state.count} / {this.props.maxLength}
    + { + this.setState({ + value, + count: value.length + }) + if (this.props.onChange) { + this.props.onChange(name, value) + } + }} + /> +
    + ) + } +} + +TextInputWithCounter.propTypes = { + name: PropTypes.string.isRequired, + className: PropTypes.string, + type: PropTypes.string, + placeholder: PropTypes.string, + value: PropTypes.string, + disabled: PropTypes.bool, + onChange: PropTypes.func, + maxLength: PropTypes.string.isRequired +} + +export default TextInputWithCounter diff --git a/src/components/TextInputWithCounter/TextInputWithCounter.scss b/src/components/TextInputWithCounter/TextInputWithCounter.scss new file mode 100644 index 000000000..8019293a0 --- /dev/null +++ b/src/components/TextInputWithCounter/TextInputWithCounter.scss @@ -0,0 +1,20 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.text-input-with-counter { + position: relative; + + > .counter { + @include roboto-medium; + bottom: 45px; + color: $tc-gray-50; + font-size: 11px; + line-height: 13px; + position: absolute; + right: 0; + + > span { + color: $tc-gray-80; + } + } +} diff --git a/src/components/TopBar/ProjectToolBar.js b/src/components/TopBar/ProjectToolBar.js index 011a3e9d8..784b3b008 100644 --- a/src/components/TopBar/ProjectToolBar.js +++ b/src/components/TopBar/ProjectToolBar.js @@ -5,6 +5,7 @@ import React, {PropTypes} from 'react' import { NavLink } from 'react-router-dom' import { connect } from 'react-redux' import ReactDOM from 'react-dom' +import NotificationsDropdown from '../NotificationsDropdown/NotificationsDropdownContainer' import SVGIconImage from '../SVGIconImage' import NewProjectNavLink from './NewProjectNavLink' @@ -73,6 +74,7 @@ class ProjectToolBar extends React.Component { } { userMenu } +
    diff --git a/src/components/TopBar/ProjectsToolBar.js b/src/components/TopBar/ProjectsToolBar.js index 687da9be5..86e3c629f 100644 --- a/src/components/TopBar/ProjectsToolBar.js +++ b/src/components/TopBar/ProjectsToolBar.js @@ -8,6 +8,7 @@ import cn from 'classnames' import _ from 'lodash' import { SearchBar, MenuBar, SwitchButton } from 'appirio-tech-react-components' import Filters from './Filters' +import NotificationsDropdown from '../NotificationsDropdown/NotificationsDropdownContainer' import NewProjectNavLink from './NewProjectNavLink' import { projectSuggestions, loadProjects, setInfiniteAutoload } from '../../projects/actions/loadProjects' @@ -212,6 +213,7 @@ class ProjectsToolBar extends Component { } { !!isLoggedIn && } { userMenu } + { isLoggedIn && }
    diff --git a/src/components/TopBar/SectionToolBar.jsx b/src/components/TopBar/SectionToolBar.jsx new file mode 100644 index 000000000..8f676f3be --- /dev/null +++ b/src/components/TopBar/SectionToolBar.jsx @@ -0,0 +1,46 @@ +/** + * Component to display simple section tool bar + * + * Includes: + * - TopCoder logo + * - title + * - optional right side menu + * - close (cross) button + */ +import React, { PropTypes } from 'react' +import { Link } from 'react-router-dom' +import SVGIconImage from '../SVGIconImage' +import './SectionToolBar.scss' + +const SectionToolBar = (props) => { + const logo = + const title =
    {props.title}
    + const close = + const menu = props.menu ?
    {props.menu}
    : null + + return ( +
    + {menu ? [ +
    + {logo} + {title} +
    , +
    + {menu} + {close} +
    + ] : [ + logo, + title, + close + ]} +
    + ) +} + +SectionToolBar.propTypes = { + title: PropTypes.string.isRequired, + menu: PropTypes.array +} + +export default SectionToolBar diff --git a/src/components/TopBar/SectionToolBar.scss b/src/components/TopBar/SectionToolBar.scss new file mode 100644 index 000000000..512341825 --- /dev/null +++ b/src/components/TopBar/SectionToolBar.scss @@ -0,0 +1,78 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.section-tool-bar { + align-items: center; + display: flex; + justify-content: space-between; + padding: 0 20px; + + > .section { + align-items: center; + display: flex; + } + + .title { + @include roboto-light; + font-size: 20px; + color: $tc-gray-10; + text-align: center; + } + + > .section > .title { + margin-left: 24px; + } + + .close { + align-items: center; + background-color: $tc-gray-50; + border-radius: 29px; + display: flex; + height: 30px; + justify-content: center; + width: 30px; + + &:hover { + background-color: #55a5ff; + + > svg { + fill: $tc-white; + } + } + + > svg { + fill: $tc-black; + } + } + + > .section > .menu { + margin-right: 30px; + + > a { + @include roboto-medium; + color: $tc-gray-50; + font-size: 13px; + line-height: 20px; + margin-left: 40px; + + &.active, + &:hover { + color: $tc-white; + } + } + } + + .logo { + align-items: center; + display: flex; + + > svg { + height: auto; + width: 53px; + + path { + fill: $tc-gray-10; + } + } + } +} diff --git a/src/components/TopBar/TopBarContainer.js b/src/components/TopBar/TopBarContainer.js index a2fb81386..daf80a6cf 100644 --- a/src/components/TopBar/TopBarContainer.js +++ b/src/components/TopBar/TopBarContainer.js @@ -10,6 +10,7 @@ import { ROLE_CONNECT_COPILOT, ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR, + ROLE_CONNECT_ADMIN, DOMAIN } from '../../config/constants' require('./TopBarContainer.scss') @@ -122,7 +123,7 @@ class TopBarContainer extends React.Component { const mapStateToProps = ({ loadUser }) => { let isPowerUser = false - const roles = [ROLE_CONNECT_COPILOT, ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR] + const roles = [ROLE_CONNECT_COPILOT, ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR, ROLE_CONNECT_ADMIN] if (loadUser.user) { isPowerUser = loadUser.user.roles.some((role) => roles.indexOf(role) !== -1) } diff --git a/src/components/TopBar/TopBarContainer.scss b/src/components/TopBar/TopBarContainer.scss index 2bb55f2ab..175345869 100644 --- a/src/components/TopBar/TopBarContainer.scss +++ b/src/components/TopBar/TopBarContainer.scss @@ -1,5 +1,20 @@ @import 'tc-includes'; +.welcome-info { + .UserDropdownMenu { + padding: 0; + display: flex; + align-content: center; + text-align: left; + + .Dropdown { + min-width: 160px; + right: -25px; + left: auto; + } + } +} + .tc-header { height: 60px; // background: $tc-gray-neutral-light; @@ -28,30 +43,18 @@ .MenuBar { margin-left: 25px; + li { - white-space: nowrap + white-space: nowrap; } } } - .UserDropdownMenu { - padding: 0; - display: flex; - align-content: center; - text-align: left; - - .Dropdown { - min-width: 100px; - right: 0; - left: auto; - } - } - .sb-avatar { display: block !important; } - &.tc-header__connect{ + &.tc-header__connect { padding: 0; min-height: 60px; height: auto; @@ -68,21 +71,24 @@ display: flex; justify-content: space-between; @include roboto-medium; - >.tc-btn{ + + > .tc-btn { margin-top: 15px; border: 0; width: 116px; text-align: center; } + .avatar-info { position: relative; margin-left: 20px; display: flex; align-items: center; + .avatar { width: 30px; height: 30px; - background-color: $tc-dark-blue-70 ; + background-color: $tc-dark-blue-70; border-radius: 15px; overflow: hidden; text-align: center; @@ -93,17 +99,20 @@ position: absolute; left: 0; top: 15px; + img { width: 30px; height: 30px; border-radius: 15px; } } + .avatar-link { display: inline-block; padding-right: 16px; position: relative; - &:after{ + + &:after { display: block; content: ''; width: 10px; @@ -117,6 +126,7 @@ } } } + .tc-btn-primary { margin-left: 7px; color: $tc-white; @@ -127,21 +137,22 @@ } @media all and (max-width: 1023px) { - .tc-header{ - &.tc-header__connect{ - .top-bar .search-bar{ + .tc-header { + &.tc-header__connect { + .top-bar .search-bar { width: 383px; margin-left: 110px; - .search-widget{ + + .search-widget { width: 296px; } } - .top-bar .welcome-info .avatar-info .avatar-link{ + + .top-bar .welcome-info .avatar-info .avatar-link { text-indent: -9999px; width: 10px; padding-right: 0; } } - } } \ No newline at end of file diff --git a/src/config/constants.js b/src/config/constants.js index cc09093cf..c315d966d 100644 --- a/src/config/constants.js +++ b/src/config/constants.js @@ -6,6 +6,34 @@ export const LOAD_USER_SUCCESS = 'LOAD_USER_SUCCESS' export const LOAD_USER_FAILURE = 'LOAD_USER_FAILURE' +// Notifications +export const GET_NOTIFICATIONS = 'GET_NOTIFICATIONS' +export const SET_NOTIFICATIONS_FILTER_BY = 'SET_NOTIFICATIONS_FILTER_BY' +export const MARK_ALL_NOTIFICATIONS_READ = 'MARK_ALL_NOTIFICATIONS_READ' +export const TOGGLE_NOTIFICATION_READ = 'TOGGLE_NOTIFICATION_READ' +export const VIEW_OLDER_NOTIFICATIONS_SUCCESS = 'VIEW_OLDER_NOTIFICATIONS_SUCCESS' +export const NOTIFICATIONS_PENDING = 'NOTIFICATIONS_PENDING' + +// Settings +export const CHECK_EMAIL_AVAILABILITY_PENDING = 'CHECK_EMAIL_AVAILABILITY_PENDING' +export const CHECK_EMAIL_AVAILABILITY_SUCCESS = 'CHECK_EMAIL_AVAILABILITY_SUCCESS' +export const CHECK_EMAIL_AVAILABILITY_FAILURE = 'CHECK_EMAIL_AVAILABILITY_FAILURE' + +export const CHANGE_EMAIL_PENDING = 'CHANGE_EMAIL_PENDING' +export const CHANGE_EMAIL_SUCCESS = 'CHANGE_EMAIL_SUCCESS' +export const CHANGE_EMAIL_FAILURE = 'CHANGE_EMAIL_FAILURE' + +export const CHANGE_PASSWORD_PENDING = 'CHANGE_PASSWORD_PENDING' +export const CHANGE_PASSWORD_SUCCESS = 'CHANGE_PASSWORD_SUCCESS' +export const CHANGE_PASSWORD_FAILURE = 'CHANGE_PASSWORD_FAILURE' + +export const GET_NOTIFICATION_SETTINGS_PENDING = 'GET_NOTIFICATION_SETTINGS_PENDING' +export const GET_NOTIFICATION_SETTINGS_SUCCESS = 'GET_NOTIFICATION_SETTINGS_SUCCESS' +export const GET_NOTIFICATION_SETTINGS_FAILURE = 'GET_NOTIFICATION_SETTINGS_FAILURE' +export const SAVE_NOTIFICATION_SETTINGS_PENDING = 'SAVE_NOTIFICATION_SETTINGS_PENDING' +export const SAVE_NOTIFICATION_SETTINGS_SUCCESS = 'SAVE_NOTIFICATION_SETTINGS_SUCCESS' +export const SAVE_NOTIFICATION_SETTINGS_FAILURE = 'SAVE_NOTIFICATION_SETTINGS_FAILURE' + // Search Term export const SET_SEARCH_TERM = 'SET_SEARCH_TERM' export const SET_SEARCH_TAG = 'SET_SEARCH_TAG' @@ -198,6 +226,14 @@ export const PROJECT_STATUS = [ {color: 'red', name: 'Paused', fullName: 'Project is paused', value: PROJECT_STATUS_PAUSED, order: 7 } ] +export const NOTIFICATION_TYPE = { + WARNING: 'warning', + NEW_PROJECT: 'new-project', + UPDATES: 'updates', + NEW_POSTS: 'new-posts', + REVIEW_PENDING: 'review-pending', + MEMBER_ADDED: 'member-added' +} /* * Project member role @@ -206,6 +242,7 @@ export const PROJECT_ROLE_COPILOT = 'copilot' export const PROJECT_ROLE_MANAGER = 'manager' export const PROJECT_ROLE_CUSTOMER = 'customer' export const PROJECT_ROLE_OWNER = 'owner' +export const PROJECT_ROLE_MEMBER = 'member' // this is need for notifications /* * Events @@ -218,6 +255,7 @@ export const EVENT_ROUTE_CHANGE = 'event.route_change' export const ROLE_TOPCODER_USER = 'Topcoder User' export const ROLE_CONNECT_COPILOT = 'Connect Copilot' export const ROLE_CONNECT_MANAGER = 'Connect Manager' +export const ROLE_CONNECT_ADMIN = 'Connect Admin' export const ROLE_ADMINISTRATOR = 'administrator' // FIXME .. remove defaults @@ -259,6 +297,8 @@ export const MAINTENANCE_MODE = false export const LS_INCOMPLETE_PROJECT = 'incompleteProject' + +export const PROJECTS_API_URL = process.env.PROJECTS_API_URL || TC_API_URL export const CONNECT_MESSAGE_API_URL = process.env.CONNECT_MESSAGE_API_URL || TC_API_URL export const NEW_PROJECT_PATH = '/new-project' @@ -310,3 +350,21 @@ export const SORT_OPTIONS = [ { val: 'createdAt', field: 'createdAt' }, { val: 'createdAt desc', field: 'createdAt' } ] + +// Notifications +export const REFRESH_NOTIFICATIONS_INTERVAL = 1000 * 60 * 1 // 1 minute interval +export const NOTIFCATIONS_DROPDOWN_PER_SOURCE = 2 +export const NOTIFCATIONS_DROPDOWN_MAX_TOTAL = 10 + +export const NOTIFICATIONS_LIMIT = 1000 +// old notification time in minutes, a notification is old if its date is later than this time +export const OLD_NOTIFICATION_TIME = 60 * 48 // 2 day2 + +export const SCROLL_TO_MARGIN = 70 // px - 60px of toolbar height + 10px to make sume margin +export const SCROLL_TO_DURATION = 500 // ms + +// Settings +export const MAX_USERNAME_LENGTH = 15 +export const EMAIL_AVAILABILITY_CHECK_DEBOUNCE = 300 /* in ms */ +export const PASSWORD_MIN_LENGTH = 8 +export const PASSWORD_REG_EXP = /^(?=.*[a-z])(?=.*[^a-z]).+$/i diff --git a/src/config/projectQuestions/computer_vision.v1.0.js b/src/config/projectQuestions/computer_vision.v1.0.js new file mode 100644 index 000000000..d43eeaf8d --- /dev/null +++ b/src/config/projectQuestions/computer_vision.v1.0.js @@ -0,0 +1,309 @@ +import _ from 'lodash' +// import NumberText from '../../components/NumberText/NumberText' +import { findProduct } from '../projectWizard' + + +const isFileRequired = (project, subSections) => { + const subSection = _.find(subSections, (s) => s.type === 'questions') + const fields = _.filter(subSection.questions, q => q.type.indexOf('see-attached') > -1) + // iterate over all seeAttached type fields to check + // if any see attached is checked. + return _.some(_.map( + _.map(fields, 'fieldName'), + fn => _.get(project, `${fn}.seeAttached`) + )) +} + +const sections = [ + { + id: 'appDefinition', + title: (project, showProduct) => { + const product = _.get(project, 'details.products[0]') + if (showProduct && product) { + const prd = findProduct(product) + if (prd) return prd.name + } + return 'Definition' + }, + required: true, + description: 'Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.', + subSections: [ + { + id: 'projectName', + required: true, + validationError: 'Please provide a name to your project', + fieldName: 'name', + description: '', + title: 'Project Name', + type: 'project-name' + }, + { + id: 'questions', + required: true, + hideTitle: true, + title: 'Questions', + description: '', + type: 'questions', + questions: [ + { + id: 'projectInfo', + fieldName: 'description', + // required is not needed if we specifiy validations + // required: true, + validations: 'isRequired,minLength:160', + validationErrors: { + isRequired: 'Please provide your objectives', + minLength: 'Please enter at least 160 characters' + }, + description: 'Brief Description of your objectives', + title: 'Objectives', + type: 'textbox' + }, + + { + icon: 'question', + title: 'Do you have ground truth defined?', + description: '', + + fieldName: 'details.vision.groundtruth', + type: 'radio-group', + options: [ + {value: 'true', label: 'Yes'}, + {value: 'false', label: 'No'} + ], + required: true, + validationError: 'Please select one' + }, + { + icon: 'question', + title: 'Describe your ground truth?', + description: '(if applicable)', + type: 'textbox', + fieldName: 'details.vision.groundtruthDesc', + required: true, + validationError: 'Please tell us about your ground truth' + }, + { + icon: 'question', + title: 'Describe your data set', + description: '(if applicable)', + type: 'textbox', + fieldName: 'details.vision.dataDesc', + required: true, + validationError: 'Please tell us about your data set' + }, + { + icon: 'question', + title: 'Approximately how large is your data set in MB, GB, TB?', + description: '', + type: 'textbox', + fieldName: 'details.vision.datasetSize', + required: true, + validationError: 'Please tell us the size of your data set' + }, + { + icon: 'question', + title: 'Approximately how many images are in your data set?', + description: '', + type: 'textbox', + fieldName: 'details.vision.imageSet', + required: true, + validationError: 'Please tell us roughly the number of images in your set' + } + + ] + }, + { + id: 'notes', + fieldName: 'details.appDefinition.notes', + title: 'Additional Notes', + description: 'Please detail any other additional information', + type: 'notes' + }, + { + id: 'files', + required: isFileRequired, + title: (project) => `Project Files (${_.get(project, 'attachments', []).length})` || 'Files', + description: '', + type: 'files', + fieldName: 'attachments' + } + + + ] + }, + { + id: 'optionals', + required: false, + title: 'Additional Questions', + description: 'Please complete these optional questions.', + subSections: [ + { + id: 'additional', + required: false, + title: 'Additional Questions', + description: '', + type: 'questions', + questions: [ + { + icon: 'question', + fieldName: 'details.dataURL', + description: '', + title: 'Please provide a URL to your data', + type: 'textbox' + + }, + { + icon: 'question', + fieldName: 'details.performanceInfo', + description: '', + title: 'Please describe the performance of your existing software', + type: 'textbox' + + }, + { + icon: 'question', + fieldName: 'details.externalDataUsage', + description: '', + title: 'Do you anticipate allowing contestants to use external data?', + type: 'radio-group', + options: [ + {value: 'Yes', label: 'Yes'}, + {value: 'No', label: 'No'}, + {value: 'Unsure', label: 'Unsure'} + ] + }, + { + icon: 'question', + fieldName: 'details.externalDataUsage', + description: '', + title: 'If you have already thought of a scoring method, please indicate them here', + type: 'checkbox-group', + options: [ + {value: 'F1/Dice', label: 'F1/Dice'}, + {value: 'Jaccard Index', label: 'Jaccard Index'}, + {value: 'Harmonic Mean', label: 'Harmonic Mean'} + ] + }, + { + icon: 'question', + fieldName: 'details.otherScoringInfo', + description: '', + title: 'If scoring method was other, please provide your approach', + type: 'textbox' + + } + ] + } + ] + } + + +] + +export default sections + +export const basicSections = [ + { + id: 'appDefinition', + title: '', + required: true, + description: 'Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.', + subSections: [ + { + id: 'projectName', + required: true, + validationError: 'Please provide a name to your project', + fieldName: 'name', + description: '', + title: 'Project Name', + type: 'project-name' + }, + { + id: 'questions', + required: true, + hideTitle: true, + title: 'Questions', + description: '', + type: 'questions', + questions: [ + { + id: 'projectInfo', + fieldName: 'description', + // required is not needed if we specifiy validations + // required: true, + validations: 'isRequired,minLength:160', + validationErrors: { + isRequired: 'Please provide your objectives', + minLength: 'Please enter at least 160 characters' + }, + description: 'Brief Description of your objectives', + title: 'Objectives', + type: 'textbox' + }, + + { + icon: 'question', + title: 'Do you have ground truth defined?', + description: '', + + fieldName: 'details.vision.groundtruth', + type: 'radio-group', + options: [ + {value: 'true', label: 'Yes'}, + {value: 'false', label: 'No'} + ], + required: true, + validationError: 'Please select one' + }, + { + icon: 'question', + title: 'Describe your ground truth?', + description: '(if applicable)', + type: 'textbox', + fieldName: 'details.vision.groundtruthDesc', + required: true, + validationError: 'Please tell us about your ground truth' + }, + { + icon: 'question', + title: 'Describe your data set', + description: '(if applicable)', + type: 'textbox', + fieldName: 'details.vision.dataDesc', + required: true, + validationError: 'Please tell us about your data set' + }, + { + icon: 'question', + title: 'Approximately how large is your data set in MB, GB, TB?', + description: '', + type: 'textbox', + fieldName: 'details.vision.datasetSize', + required: true, + validationError: 'Please tell us the size of your data set' + }, + { + icon: 'question', + title: 'Approximately how many images are in your data set?', + description: '', + type: 'textbox', + fieldName: 'details.vision.imageSet', + required: true, + validationError: 'Please tell us roughly the number of images in your set' + } + + ] + }, + { + id: 'notes', + fieldName: 'details.appDefinition.notes', + title: 'Additional Notes', + description: 'Please detail any other additional information', + type: 'notes' + } + ] + } + + +] diff --git a/src/config/projectQuestions/data_exploration.v1.0.js b/src/config/projectQuestions/data_exploration.v1.0.js new file mode 100644 index 000000000..6d4b5823f --- /dev/null +++ b/src/config/projectQuestions/data_exploration.v1.0.js @@ -0,0 +1,250 @@ +import _ from 'lodash' +// import NumberText from '../../components/NumberText/NumberText' +import { findProduct } from '../projectWizard' + + +const isFileRequired = (project, subSections) => { + const subSection = _.find(subSections, (s) => s.type === 'questions') + const fields = _.filter(subSection.questions, q => q.type.indexOf('see-attached') > -1) + // iterate over all seeAttached type fields to check + // if any see attached is checked. + return _.some(_.map( + _.map(fields, 'fieldName'), + fn => _.get(project, `${fn}.seeAttached`) + )) +} + +const sections = [ + { + id: 'appDefinition', + title: (project, showProduct) => { + const product = _.get(project, 'details.products[0]') + if (showProduct && product) { + const prd = findProduct(product) + if (prd) return prd.name + } + return 'Definition' + }, + required: true, + description: 'Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.', + subSections: [ + { + id: 'projectName', + required: true, + validationError: 'Please provide a name to your project', + fieldName: 'name', + description: '', + title: 'Project Name', + type: 'project-name' + }, + { + id: 'questions', + required: true, + hideTitle: true, + title: 'Questions', + description: '', + type: 'questions', + questions: [ + { + id: 'projectInfo', + fieldName: 'description', + // required is not needed if we specifiy validations + // required: true, + validations: 'isRequired,minLength:160', + validationErrors: { + isRequired: 'Please provide an overview of your project', + minLength: 'Please enter at least 160 characters' + }, + description: 'Brief provide an overview of your project', + title: 'Objectives', + type: 'textbox' + }, + { + icon: 'question', + title: 'Describe what you would like to learn or accomplish with this data?', + description: '', + type: 'textbox', + fieldName: 'details.data.learnings' + }, + { + icon: 'question', + title: 'Describe your data set', + description: '', + type: 'textbox', + fieldName: 'details.vision.dataDesc', + required: true, + validationError: 'Please tell us about your data set' + }, + { + icon: 'question', + title: 'Approximately how many records are in your data set?', + description: '', + type: 'textbox', + fieldName: 'details.data.records', + required: true, + validationError: 'Please tell us roughly the number of records in your set' + }, + { + icon: 'question', + title: 'Approximately how large is your data set in MB, GB, TB?', + description: '', + type: 'textbox', + fieldName: 'details.vision.datasetSize', + required: true, + validationError: 'Please tell us the size of your data set' + }, + + { + icon: 'question', + title: 'Does your data need to be obfuscated?', + description: '(if applicable)', + fieldName: 'details.data.obfuscation', + type: 'radio-group', + options: [ + {value: 'true', label: 'Yes'}, + {value: 'false', label: 'No'} + ], + required: true, + validationError: 'Please select one' + }, + { + icon: 'question', + fieldName: 'details.dataURL', + description: 'Or provide us a sample of your data by uploading an example below', + title: 'Please provide a URL to your data ', + type: 'textbox' + + } + + ] + }, + { + id: 'files', + required: isFileRequired, + title: (project) => `Project Files (${_.get(project, 'attachments', []).length})` || 'Files', + description: '', + type: 'files', + fieldName: 'attachments' + }, + { + id: 'notes', + fieldName: 'details.appDefinition.notes', + title: 'Additional Notes', + description: 'Please detail any other additional information', + type: 'notes' + } + + + + ] + } + + + +] + +export default sections + +export const basicSections = [ + { + id: 'appDefinition', + title: '', + required: true, + description: 'Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.', + subSections: [ + { + id: 'projectName', + required: true, + validationError: 'Please provide a name to your project', + fieldName: 'name', + description: '', + title: 'Project Name', + type: 'project-name' + }, + { + id: 'questions', + required: true, + hideTitle: true, + title: 'Questions', + description: '', + type: 'questions', + questions: [ + { + id: 'projectInfo', + fieldName: 'description', + // required is not needed if we specifiy validations + // required: true, + validations: 'isRequired,minLength:160', + validationErrors: { + isRequired: 'Please provide an overview of your project', + minLength: 'Please enter at least 160 characters' + }, + description: 'Brief provide an overview of your project', + title: 'Objectives', + type: 'textbox' + }, + { + icon: 'question', + title: 'Describe what you would like to learn or accomplish with this data?', + description: '', + type: 'textbox', + fieldName: 'details.data.learnings' + }, + { + icon: 'question', + title: 'Describe your data set', + description: '', + type: 'textbox', + fieldName: 'details.vision.dataDesc', + required: true, + validationError: 'Please tell us about your data set' + }, + { + icon: 'question', + title: 'Approximately how many records are in your data set?', + description: '', + type: 'textbox', + fieldName: 'details.data.records', + required: true, + validationError: 'Please tell us roughly the number of records in your set' + }, + { + icon: 'question', + title: 'Approximately how large is your data set in MB, GB, TB?', + description: '', + type: 'textbox', + fieldName: 'details.vision.datasetSize', + required: true, + validationError: 'Please tell us the size of your data set' + }, + + { + icon: 'question', + title: 'Does your data need to be obfuscated?', + description: '(if applicable)', + fieldName: 'details.data.obfuscation', + type: 'radio-group', + options: [ + {value: 'true', label: 'Yes'}, + {value: 'false', label: 'No'} + ], + required: true, + validationError: 'Please select one' + } + + + + ] + }, + { + id: 'notes', + fieldName: 'details.appDefinition.notes', + title: 'Additional Notes', + description: 'Please detail any other additional information', + type: 'notes' + } + ] + } + + +] diff --git a/src/config/projectQuestions/health_check.v1.0.js b/src/config/projectQuestions/health_check.v1.0.js new file mode 100644 index 000000000..f4238b496 --- /dev/null +++ b/src/config/projectQuestions/health_check.v1.0.js @@ -0,0 +1,272 @@ +import _ from 'lodash' +// import NumberText from '../../components/NumberText/NumberText' +import { findProduct } from '../projectWizard' + + +const isFileRequired = (project, subSections) => { + const subSection = _.find(subSections, (s) => s.type === 'questions') + const fields = _.filter(subSection.questions, q => q.type.indexOf('see-attached') > -1) + // iterate over all seeAttached type fields to check + // if any see attached is checked. + return _.some(_.map( + _.map(fields, 'fieldName'), + fn => _.get(project, `${fn}.seeAttached`) + )) +} + +const sections = [ + { + id: 'appDefinition', + title: (project, showProduct) => { + const product = _.get(project, 'details.products[0]') + if (showProduct && product) { + const prd = findProduct(product) + if (prd) return prd.name + } + return 'Definition' + }, + required: true, + description: 'Topcoder will scan your application using our properiatary formula\ + for security standards. To rate your application we combine state of the art \ + static code analysis, security scanning, export code review and other techniques \ + to produce a Security Health Check scorecard.', + subSections: [ + { + id: 'projectName', + required: true, + validationError: 'Please provide a name to your project', + fieldName: 'name', + description: 'Topcoder will scan your application using our properiatary formula\ + for security standards. To rate your application we combine state of the art \ + static code analysis, security scanning, export code review and other techniques \ + to produce a Security Health Check scorecard.', + title: 'Project Name', + type: 'project-name' + }, + { + id: 'questions', + required: true, + hideTitle: true, + title: 'Questions', + description: 'Topcoder will scan your application using our properiatary formula\ + for security standards. To rate your application we combine state of the art \ + static code analysis, security scanning, export code review and other techniques \ + to produce a Security Health Check scorecard.', + type: 'questions', + questions: [ + { + id: 'projectInfo', + fieldName: 'description', + // required is not needed if we specifiy validations + // required: true, + validations: 'isRequired,minLength:160', + validationErrors: { + isRequired: 'Please describe your application.', + minLength: 'Please enter at least 160 characters' + }, + description: 'Please describe your application.', + title: 'Description', + type: 'textbox' + }, + { + icon: 'question', + title: 'What is the maximum level of acceptable risk for this application?', + description: 'Based on the features and data, how secure do you feel this application should be?', + fieldName: 'details.security.howSecure', + type: 'slide-radiogroup', + options: [ + { value: 'low-risk', title: 'Low Risk'}, + { value: 'medium-risk', title: 'Medium Risk' }, + { value: 'high-risk', title: 'High Risk' }, + { value: 'custom', title: 'Custom' } + ], + required: true, + validationError: 'Please select security rating' + }, + { + icon: 'question', + title: 'Do you wish to baseline your application against the Topcoder Security Standard', + description: '', + fieldName: 'details.security.baselineBool', + type: 'radio-group', + options: [ + {value: 'topcoder', label: 'Topcoder'}, + {value: 'custom', label: 'Custom'} + ], + required: true, + validationError: 'Please select one' + }, + { + icon: 'question', + title: 'If you chose other, please detail your baseline testing standard', + description: '(if applicable)', + type: 'textbox', + fieldName: 'details.security.baselineOther', + required: false + } + + ] + }, + { + id: 'notes', + fieldName: 'details.appDefinition.notes', + title: 'Additional Notes', + description: 'Please detail any other additional information. After \ + completing this form, you\'ll be able to add additional information about \ + your code base', + type: 'notes' + } + + + ] + }, + { + id: 'optionals', + required: false, + title: 'Code base', + description: 'Please provide us access to your codebase below or contact \ + Topcoder through your dashboard.', + subSections: [ + { + id: 'additional', + required: false, + title: 'Codebase questions', + description: '', + type: 'questions', + questions: [ + { + icon: 'question', + fieldName: 'details.security.codeURL', + description: '(if you prefer you can also upload your code below)', + title: 'Please provide a URL to your code base repository', + type: 'textbox' + + }, + { + icon: 'question', + title: 'Please provide Topcoder with any additional information about \ + accessing your code base', + description: '', + fieldName: 'details.security.additionalInfo', + type: 'textbox' + } + ] + }, + { + id: 'files', + required: isFileRequired, + title: (project) => `Project Files (${_.get(project, 'attachments', []).length})` || 'Files', + description: '', + type: 'files', + fieldName: 'attachments' + } + + ] + } + + +] + +export default sections + +export const basicSections = [ + { + id: 'appDefinition', + title: '', + required: true, + description: 'Topcoder will scan your application using our properiatary formula\ + for security standards. To rate your application we combine state of the art \ + static code analysis, security scanning, export code review and other techniques \ + to produce a Security Health Check scorecard.', + subSections: [ + { + id: 'projectName', + required: true, + validationError: 'Please provide a name to your project', + fieldName: 'name', + title: 'Project Name', + description: 'Topcoder will scan your application using our properiatary formula\ + for security standards. To rate your application we combine state of the art \ + static code analysis, security scanning, export code review and other techniques \ + to produce a Security Health Check scorecard.', + type: 'project-name' + }, + { + id: 'questions', + required: true, + hideTitle: true, + title: 'Questions', + description: 'Topcoder will scan your application using our properiatary formula\ + for security standards. To rate your application we combine state of the art \ + static code analysis, security scanning, export code review and other techniques \ + to produce a Security Health Check scorecard.', + type: 'questions', + questions: [ + { + id: 'projectInfo', + fieldName: 'description', + // required is not needed if we specifiy validations + // required: true, + validations: 'isRequired,minLength:160', + validationErrors: { + isRequired: 'Please describe your application.', + minLength: 'Please enter at least 160 characters' + }, + description: 'Brief describe your application', + title: 'Description', + type: 'textbox' + }, + { + icon: 'question', + title: 'What is the maximum level of acceptable risk for this application?', + description: 'Based on the features and data, how secure do you feel this application should be?', + fieldName: 'details.security.howSecure', + type: 'slide-radiogroup', + options: [ + { value: 'low-risk', title: 'Low Risk'}, + { value: 'medium-risk', title: 'Medium Risk' }, + { value: 'high-risk', title: 'High Risk' }, + { value: 'custom', title: 'Custom' } + ], + required: true, + validationError: 'Please select security rating' + }, + { + icon: 'question', + title: 'Do you wish to baseline your application against the Topcoder Security Standard', + description: '', + fieldName: 'details.security.baselineBool', + type: 'radio-group', + options: [ + {value: 'topcoder', label: 'Topcoder'}, + {value: 'custom', label: 'Custom'} + ], + required: true, + validationError: 'Please select one' + }, + { + icon: 'question', + title: 'If you chose other, please detail your baseline testing standard', + description: '(if applicable)', + type: 'textbox', + fieldName: 'details.security.baselineOther', + required: false + } + + ] + }, + { + id: 'notes', + fieldName: 'details.appDefinition.notes', + title: 'Additional Notes', + description: 'Please detail any other additional information. After \ + completing this form, you\'ll be able to add additional information about \ + your code base', + type: 'notes' + } + + ] + } + + +] diff --git a/src/config/projectQuestions/performance_testing.v1.0.js b/src/config/projectQuestions/performance_testing.v1.0.js index 398da9a28..10c0045a2 100644 --- a/src/config/projectQuestions/performance_testing.v1.0.js +++ b/src/config/projectQuestions/performance_testing.v1.0.js @@ -1,5 +1,5 @@ import _ from 'lodash' -import NumberText from '../../components/NumberText/NumberText' +// import NumberText from '../../components/NumberText/NumberText' import { findProduct } from '../projectWizard' @@ -45,16 +45,6 @@ const sections = [ description: '', type: 'questions', questions: [ - { - icon: 'question', - id: 'targetApplication.appName', - fieldName: 'details.targetApplication.appName', - title: 'Name of the application we will test', - // description: '', - type: 'textbox', - required: true, - validationError: 'Please provide name of the target application' - }, { id: 'projectInfo', fieldName: 'description', @@ -65,44 +55,75 @@ const sections = [ isRequired: 'Please provide a description', minLength: 'Please enter at least 160 characters' }, - description: 'Brief Description', - title: 'Description', + description: 'In 160 or more characters tell us what is the app, main functions, problem area, etc..', + title: 'Please provide brief description of the system, application to be Performance tested', type: 'textbox' }, { icon: 'question', - title: 'Expected load on the platform exercised during Performance Test? ', - description: '', - fieldName: 'details.testingNeeds.expectedLoad', - type: 'tiled-radio-group', + title: 'What is the load on system in terms concurrent users for Performance Testing?', + description: '(Unit package includes 500 virtual users, additional load would require Top-Ups)', + type: 'slide-radiogroup', options: [ - { value: '60%', title: '% load', icon: NumberText, iconOptions: { number: '60' }, desc: 'endurance testing', price: 7000 }, - { value: '100%', title: '% load', icon: NumberText, iconOptions: { number: '100' }, desc: 'load testing', price: 5000 }, - { value: '120%', title: '% load', icon: NumberText, iconOptions: { number: '120' }, desc: 'stress testing', price: 7000 } + { value: 'upto-500', title: 'Up to 500' }, + { value: 'upto-1000', title: 'Up to 1000' }, + { value: 'upto-5000', title: 'Up to 5000' }, + { value: 'above-5000', title: 'More than 5000' } ], + fieldName: 'details.loadDetails.concurrentUsersCount', required: true, validationError: 'Please provide expected load' }, + { + icon: 'question', + title: 'What is the count of business processes - transactions to be included for Performance Testing?', + description: '(Unit package covers 10 transactions, additional transactions would require Top-Ups)', + fieldName: 'details.loadDetails.businessProcessesCount', + type: 'slide-radiogroup', + options: [ + { value: 'upto-5', title: 'Up to 5'}, + { value: 'upto-10', title: 'Up to 10' }, + { value: 'upto-25', title: 'Up to 25' }, + { value: 'above-25', title: 'More than 25' } + ], + required: true, + validationError: 'Please provide expected number of business processes' + }, + { + icon: 'question', + title: 'What is the expected hours of execution for all different Performance Tests to be conducted?', + description: '(Unit package covers 10 hours of execution, additional execution time would require Top-Ups)', + fieldName: 'details.loadDetails.expectedExecutionHours', + type: 'slide-radiogroup', + options: [ + { value: 'upto-5', title: 'Up to 5'}, + { value: 'upto-10', title: 'Up to 10' }, + { value: 'upto-25', title: 'Up to 25' }, + { value: 'above-25', title: 'More than 25' } + ], + required: true, + validationError: 'Please provide expected hours of execution' + }, { icon: 'question', title: 'Please select any additional add-ons?', - description: 'estimated additional cost in ()', + description: '', type: 'checkbox-group', options: [ - { value: 'scenario', label: 'Scenario Booster add 3 more ($1,000)' }, - { value: '250vusers', label: 'Add 250 vUsers ($1,000)' }, - { value: '2500vusers', label: 'Add 2500 vUsers ($4,000)' }, - { value: 'geo', label: 'Add additional Geography($1,500)' }, - { value: 'poc', label: 'Precurser to purchase - 1 Tool, 2 scripts,1 hour execution ($2,500)' }, - { value: 'strategy', label: 'Utilize consultant to tailor strategy ($3,000)' }, - { value: 'execution', label: 'Execution Booster extra 2 hours ($500)' }, - { value: 'mytool', label: 'Use my own testing tool ($2,500)' }, - { value: 'myscripts', label: 'Modify/Use own scripts ($5,000)' }, - { value: 'late', label: 'Late Entry - 1 week lead time ($2,000)' } + { value: 'scenario', label: 'Scenario Booster add 3 more' }, + { value: '250vusers', label: 'Add 250 vUsers' }, + { value: '2500vusers', label: 'Add 2500 vUsers' }, + { value: 'geo', label: 'Add additional Geography' }, + { value: 'poc', label: 'Precurser to purchase - 1 Tool, 2 scripts,1 hour execution' }, + { value: 'strategy', label: 'Utilize consultant to tailor strategy' }, + { value: 'execution', label: 'Execution Booster extra 2 hours' }, + { value: 'mytool', label: 'Use my own testing tool' }, + { value: 'myscripts', label: 'Modify/Use own scripts' }, + { value: 'late', label: 'Late Entry - 1 week lead time' } ], + required: false, fieldName: 'details.testingNeeds.addons' } - ] }, { @@ -113,6 +134,14 @@ const sections = [ requirements and/or test cases. After creating \ your project you will be able to upload files.', type: 'notes' + }, + { + id: 'files', + required: isFileRequired, + title: (project) => `Project Files (${_.get(project, 'attachments', []).length})` || 'Files', + description: '', + type: 'files', + fieldName: 'attachments' } ] }, @@ -123,9 +152,9 @@ const sections = [ description: 'Please provide information on specific points of contacts.', subSections: [ { - id: 'scope', + id: 'spoc', required: false, - title: 'SPOCs', + title: 'SPOCs (Single Point of Contact)', description: '', type: 'questions', questions: [ @@ -193,15 +222,155 @@ const sections = [ } } ] - }, - + } + ] + }, + { + id: 'systemOverview', + title: 'System Overview', + required: false, + description: 'Please provide the overview of the system to be tested', + subSections: [ { - id: 'files', - required: isFileRequired, - title: (project) => `Project Files (${_.get(project, 'attachments', []).length})` || 'Files', + id: 'questions', + // required: true, + hideTitle: true, + title: 'Questions', description: '', - type: 'files', - fieldName: 'attachments' + type: 'questions', + questions: [ + { + id: 'architecture', + // required: true, + // validationError: 'Please provide architecture details of the applciation', + fieldName: 'details.targetApplication.architecture', + description: '', + title: 'What is the architecture of the System? Please share/embed the Application and Server architecture diagram. Also share Non functional requriements docs and High/Low level design docs if available', + type: 'textbox' + }, + { + id: 'developmentPlatform', + icon: 'question', + title: 'What is the application development platform?', + description: '', + type: 'checkbox-group', + options: [ + { value: 'dotnet', label: '.NET' }, + { value: 'j2ee', label: 'J2EE' }, + { value: 'ria', label: 'Rich Internet Applications' }, + { value: 'oracle', label: 'Oracle Technology' }, + { value: 'sap', label: 'SAP' }, + { value: 'mainframe', label: 'Mainframe' }, + { value: 'adobe-flex', label: 'Adobe Flex' }, + { value: 'others', label: 'Others' } + ], + fieldName: 'details.targetApplication.developmentPlatform' + // required: true, + // validationError: 'Please provide development platform of the application' + }, + { + id: 'frontEnd', + icon: 'question', + title: 'What is the front end of the system?', + description: '', + fieldName: 'details.targetApplication.frontEnd', + type: 'checkbox-group', + options: [ + { value: 'web-browser', label: 'Web Browser - Thin Client'}, + { value: 'desktop-app', label: 'Desktop App (Executable) - Thick Client' }, + { value: 'citrix', label: 'Citrix based Desktop App (Executable)' }, + { value: 'java', label: 'Java based (with Swing/Applets)' }, + { value: 'oracle-forms', label: 'Web based Oracle Forms' }, + { value: 'other', label: 'Any other' } + ] + // required: true, + // validationError: 'Please provide front end used in the application' + }, + { + icon: 'question', + title: 'What are the web servers used?', + description: '(For eg. Webserver can be Apache, IIS etc.)', + fieldName: 'details.targetApplication.webBrowsers', + type: 'textbox' + // required: true, + // validationError: 'Please provide target web browsers' + }, + { + icon: 'question', + title: 'What ae the application servers used?', + description: '(For eg. Application server can be JBoss or Weblogic or Websphere etc.)', + fieldName: 'details.targetApplication.appServers', + type: 'textbox' + // required: true, + // validationError: 'Please provide application servers used' + }, + { + icon: 'question', + title: 'What is the back end of your application?', + description: '(For eg. Back end can be Oracle, MS SQL or Sybase etc)', + fieldName: 'details.targetApplication.backEnd', + type: 'textbox' + // required: true, + // validationError: 'Please provide back end used in the application' + }, + { + icon: 'question', + title: 'If the back end is a legacy system then specify the below', + description: 'Mainframe(S390), AS400, Others', + fieldName: 'details.targetApplication.legacyBackEnd', + type: 'textbox' + }, + { + icon: 'question', + title: 'What is the middleware used?', + description: '(For eg. Middleware can be MQSeries or TIBCO or Webmethod etc)', + fieldName: 'details.targetApplication.middleware', + type: 'textbox' + // required: true, + // validationError: 'Please provide middleware used in the application' + }, + { + icon: 'question', + title: 'Please specify if web services are used and their functions', + description: '(For eg. SOAP/REST Webservices deployed in App server for new customer creation and maintenance)', + fieldName: 'details.targetApplication.webservices', + type: 'textbox' + // required: true, + // validationError: 'Please provide web services used in the application' + }, + { + id: 'targetApplication.authMode', + icon: 'question', + title: 'What is the authentication mode used by the Application?', + description: '', + fieldName: 'details.targetApplication.authMode', + type: 'checkbox-group', + options: [ + { value: 'ntlm', label: 'NTLM'}, + { value: 'sso', label: 'Siteminder/SSO' }, + { value: 'ldap', label: 'LDAP' }, + { value: 'others', label: 'Others' } + ] + // required: true, + // validationError: 'Please provide authentication mode of the application' + }, + { + id: 'targetApplication.interfaces', + icon: 'question', + title: 'What Interfaces does the application has?', + description: '', + fieldName: 'details.targetApplication.interfaces', + type: 'checkbox-group', + options: [ + { value: 'vendor-system', label: 'Vendor System'}, + { value: 'document-mgmt-system', label: 'Document Mgmt System' }, + { value: 'payments', label: 'Payments' }, + { value: 'other', label: 'Others' } + ] + // required: true, + // validationError: 'Please provide interfaces used in the application' + } + ] } ] }, @@ -212,27 +381,28 @@ const sections = [ subSections: [ { id: 'perfTestEnvSec', - title: 'Details', + title: 'Questions', + hideTitle: true, description: '', type: 'questions', questions: [ { icon: 'question', - fieldName: 'details.perfTestEnv.simulators', + fieldName: 'details.perfTestEnv.missingCompSimulators', description: '', title: 'Are the simulators/stubs available in test enviornemnt for the components not avaiable and do they support concurrent request simulation?', type: 'textbox' }, { icon: 'question', - fieldName: 'details.perfTestEnv.vendors', + fieldName: 'details.perfTestEnv.thirdPartyStubs', description: '', title: 'Will online interfaces/stubs for the payment systems, vendor systems etc. be available for performance testing?', type: 'textbox' }, { icon: 'question', - fieldName: 'details.perfTestEnv.vendors', + fieldName: 'details.perfTestEnv.testDataAvailability', description: '', title: 'Please provide details on test data availability? A) Resident or master test data in DB e.g. Customers, products, locations etc. B) User specific data e.g. User Ids, email, credit card, order number etc. Who will support creating/importing/ masking test data', type: 'textbox' @@ -246,10 +416,14 @@ const sections = [ }, { icon: 'question', - fieldName: 'details.perfTestEnv.cloud', - description: '', - title: 'Are the applications hosted on physical servers or virtual/cloud infrastructure?', - type: 'textbox' + fieldName: 'details.perfTestEnv.hostedOn', + description: 'Are the applications hosted on physical servers or virtual/cloud infrastructure', + title: 'Where are applications hosted?', + type: 'radio-group', + options: [ + {value: 'physical-servers', label: 'Physical servers'}, + {value: 'cloud', label: 'Virtual/Cloud infrastructure'} + ] }, { icon: 'question', @@ -280,7 +454,7 @@ in scope?', }, { icon: 'question', - fieldName: 'details.perfTestEnv.saasTools', + fieldName: 'details.perfTestEnv.saasAllowPortsOpening', description: '', title: 'In case of Cloud based or SaaS performance testing tools, will your organisation allow to open necessary ports in firewall to inject load on to application in test environment.', type: 'textbox' @@ -296,7 +470,8 @@ in scope?', subSections: [ { id: 'prevDetails', - title: 'Details', + title: 'Questions', + hideTitle: true, description: '', type: 'questions', questions: [ @@ -323,18 +498,25 @@ in scope?', }, { icon: 'question', - fieldName: 'details.prevDetails.types', + fieldName: 'details.prevDetails.typesOfTests', description: '', title: 'What different types of tests carried out and measurements captured?', type: 'textbox' }, { icon: 'question', - fieldName: 'details.prevDetails.tools', + fieldName: 'details.prevDetails.monitoringTools', description: '', title: 'What were the performance testing and performance monitoring tools used?', type: 'textbox' }, + { + icon: 'question', + fieldName: 'details.prevDetails.testScripts', + description: '', + title: 'Are the performance test scenarios and automated test scripts available at project location?', + type: 'textbox' + }, { icon: 'question', fieldName: 'details.prevDetails.issues', @@ -383,15 +565,6 @@ export const basicSections = [ description: '', type: 'questions', questions: [ - { - icon: 'question', - title: 'Name of the Application to be tested', - description: 'Please enter the name of the application being tested', - type: 'textbox', - fieldName: 'details.targetApplication.appName', - required: true, - validationError: 'Please provide name of the target application' - }, { id: 'projectInfo', fieldName: 'description', @@ -403,56 +576,53 @@ export const basicSections = [ minLength: 'Please enter at least 160 characters' }, description: 'In 160 or more characters tell us what is the app, main functions, problem area, etc..', - title: 'Description of the Application to be tested', + title: 'Please provide brief description of the system, application to be Performance tested', type: 'textbox' }, { icon: 'question', - title: 'What type of tests would you like to be conducted?', - description: 'Please select all that apply', - type: 'checkbox-group', + title: 'What is the load on system in terms concurrent users for Performance Testing?', + description: '(Unit package includes 500 virtual users, additional load would require Top-Ups)', + type: 'slide-radiogroup', options: [ - { value: 'load', label: 'Load' }, - { value: 'stress', label: 'Stress' }, - { value: 'endurance', label: 'Endurance' }, - { value: 'other', label: 'Other' } + { value: 'upto-500', title: 'Up to 500' }, + { value: 'upto-1000', title: 'Up to 1000' }, + { value: 'upto-5000', title: 'Up to 5000' }, + { value: 'above-5000', title: 'More than 5000' } ], - fieldName: 'details.appDefinition.perfTestingTypes', + fieldName: 'details.loadDetails.concurrentUsersCount', required: true, - validationError: 'Please select at least one type of tests' + validationError: 'Please provide expected load' }, { icon: 'question', - title: 'Expected load during Performance Test', - description: 'How much do you want us to load the platform during Performance Test? Higher loads can uncover more problems.', - fieldName: 'details.testingNeeds.expectedLoad', - type: 'tiled-radio-group', + title: 'What is the count of business processes - transactions to be included for Performance Testing?', + description: '(Unit package covers 10 transactions, additional transactions would require Top-Ups)', + fieldName: 'details.loadDetails.businessProcessesCount', + type: 'slide-radiogroup', options: [ - { value: '60%', title: '% load', icon: NumberText, iconOptions: { number: '60' }, desc: 'endurance testing', price: 7000 }, - { value: '100%', title: '% load', icon: NumberText, iconOptions: { number: '100' }, desc: 'load testing', price: 5000 }, - { value: '120%', title: '% load', icon: NumberText, iconOptions: { number: '120' }, desc: 'stress testing', price: 7000 } + { value: 'upto-5', title: 'Up to 5'}, + { value: 'upto-10', title: 'Up to 10' }, + { value: 'upto-25', title: 'Up to 25' }, + { value: 'above-25', title: 'More than 25' } ], required: true, - validationError: 'Please provide expected load' + validationError: 'Please provide expected number of business processes' }, { icon: 'question', - title: 'Testing add-on packs', - description: 'Please select all that apply. These addons provide a way to expand the testing parameters.', - type: 'checkbox-group', + title: 'What is the expected hours of execution for all different Performance Tests to be conducted?', + description: '(Unit package covers 10 hours of execution, additional execution time would require Top-Ups)', + fieldName: 'details.loadDetails.expectedExecutionHours', + type: 'slide-radiogroup', options: [ - { value: 'scenario', label: 'Scenario Booster - 3 additional testing scenarios ($1,000)' }, - { value: '250vusers', label: 'Add 250 vUsers ($1,000)' }, - { value: '2500vusers', label: 'Add 2500 vUsers ($4,000)' }, - { value: 'geo', label: 'Add additional Geography ($1,500)' }, - { value: 'poc', label: 'Precurser to purchase - 1 Tool, 2 scripts,1 hour execution ($2,500)' }, - { value: 'strategy', label: 'Utilize consultant to tailor strategy ($3,000)' }, - { value: 'execution', label: 'Execution Booster extra 2 hours ($500)' }, - { value: 'mytool', label: 'Use my own testing tool ($2,500)' }, - { value: 'myscripts', label: 'Modify/Use own scripts ($5,000)' }, - { value: 'late', label: 'Late Entry - 1 week lead time ($2,000)' } + { value: 'upto-5', title: 'Up to 5'}, + { value: 'upto-10', title: 'Up to 10' }, + { value: 'upto-25', title: 'Up to 25' }, + { value: 'above-25', title: 'More than 25' } ], - fieldName: 'details.testingNeeds.addons' + required: true, + validationError: 'Please provide expected hours of execution' } ] }, @@ -460,9 +630,9 @@ export const basicSections = [ id: 'notes', fieldName: 'details.appDefinition.notes', title: 'Notes', - description: 'Please add details of any critical business processes \ - such as peak hour user load, transaction count in peak hours, \ - SLA (in seconds).', + description: 'Please enter any additional information like requirements,\ + architecture details, tools, performance baseline, etc.\ + After creating your project you will be able to upload files.', type: 'notes' } ] diff --git a/src/config/projectQuestions/performance_tuning.v1.0.js b/src/config/projectQuestions/performance_tuning.v1.0.js new file mode 100644 index 000000000..eb55808ac --- /dev/null +++ b/src/config/projectQuestions/performance_tuning.v1.0.js @@ -0,0 +1,144 @@ +import _ from 'lodash' +// import NumberText from '../../components/NumberText/NumberText' +import { findProduct } from '../projectWizard' + + +const isFileRequired = (project, subSections) => { + const subSection = _.find(subSections, (s) => s.type === 'questions') + const fields = _.filter(subSection.questions, q => q.type.indexOf('see-attached') > -1) + // iterate over all seeAttached type fields to check + // if any see attached is checked. + return _.some(_.map( + _.map(fields, 'fieldName'), + fn => _.get(project, `${fn}.seeAttached`) + )) +} + +const sections = [ + { + id: 'appDefinition', + title: (project, showProduct) => { + const product = _.get(project, 'details.products[0]') + if (showProduct && product) { + const prd = findProduct(product) + if (prd) return prd.name + } + return 'Definition' + }, + required: true, + description: 'Please answer a few basic questions about your project. You can also provide the needed information in a supporting document--add a link in the notes section or upload it below.', + subSections: [ + { + id: 'projectName', + required: true, + validationError: 'Please provide a name to your project', + fieldName: 'name', + description: '', + title: 'Project Name', + type: 'project-name' + }, + { + id: 'questions', + required: true, + hideTitle: true, + title: 'Questions', + description: '', + type: 'questions', + questions: [ + { + id: 'projectInfo', + fieldName: 'description', + // required is not needed if we specifiy validations + // required: true, + validations: 'isRequired,minLength:160', + validationErrors: { + isRequired: 'Please describe your application', + minLength: 'Please enter at least 160 characters' + }, + description: 'Brief Description of your application', + title: 'Description', + type: 'textbox' + } + + ] + }, + { + id: 'notes', + fieldName: 'details.appDefinition.notes', + title: 'Additional Notes', + description: 'Please detail any other additional information, you will be able to upload files on the next screen', + type: 'notes' + }, + { + id: 'files', + required: isFileRequired, + title: (project) => `Project Files (${_.get(project, 'attachments', []).length})` || 'Files', + description: '', + type: 'files', + fieldName: 'attachments' + } + + + + + ] + } + + +] + +export default sections + +export const basicSections = [ + { + id: 'appDefinition', + title: '', + required: true, + description: 'Please answer a few basic questions about your project and, as an option, add links to supporting documents in the “Notes” section. If you have any files to upload, you’ll be able to do so later.', + subSections: [ + { + id: 'projectName', + required: true, + validationError: 'Please provide a name to your project', + fieldName: 'name', + description: '', + title: 'Project Name', + type: 'project-name' + }, + { + id: 'questions', + required: true, + hideTitle: true, + title: 'Questions', + description: '', + type: 'questions', + questions: [ + { + id: 'projectInfo', + fieldName: 'description', + // required is not needed if we specifiy validations + // required: true, + validations: 'isRequired,minLength:160', + validationErrors: { + isRequired: 'Please provide a description of your application', + minLength: 'Please enter at least 160 characters' + }, + description: 'Brief Description of your application', + title: 'Description', + type: 'textbox' + } + + ] + }, + { + id: 'notes', + fieldName: 'details.appDefinition.notes', + title: 'Additional Notes', + description: 'Please detail any other additional information', + type: 'notes' + } + ] + } + + +] diff --git a/src/config/projectSpecification/typeToSpecification.json b/src/config/projectSpecification/typeToSpecification.json index 48493d39d..37c384302 100644 --- a/src/config/projectSpecification/typeToSpecification.json +++ b/src/config/projectSpecification/typeToSpecification.json @@ -13,9 +13,13 @@ "real_world_testing": "real_world_testing.v1.0", "mobility_testing": "mobility_testing.v1.0", "performance_testing": "performance_testing.v1.0", + "performance_tuning": "performance_tuning.v1.0", "digital_accessability": "crowd_testing.v1.0", "open_source_automation": "crowd_testing.v1.0", "consulting_adivisory": "crowd_testing.v1.0", + "computer_vision": "computer_vision.v1.0", + "data_exploration": "data_exploration.v1.0", "api_dev": "app_dev.v1.0", + "health_check": "health_check.v1.0", "frontend_dev" : "app_dev.v1.0" } diff --git a/src/config/projectWizard/index.js b/src/config/projectWizard/index.js index f92a1dd81..84bb7d8bc 100644 --- a/src/config/projectWizard/index.js +++ b/src/config/projectWizard/index.js @@ -57,6 +57,37 @@ const products = { icon: 'product-chatbot-chatbot', id: 'generic_chatbot', aliases: ['chatbot', 'generic_chatbot'] + }, + 'Computer Vision': { + brief: 'TBD', + details: 'Work with images to recognize patterns, compute correspondences, etc', + icon: 'product-qa-crowd-testing', + id: 'computer_vision', + aliases: ['computer-vision', 'computer_vision'], + hidden : true + }, /*, + 'Algorithm Optimization': { + brief: 'TBD', + details: 'Boost the performance (speed or accuracy) of an existing or new algorithm', + icon: 'product-qa-crowd-testing', + id: 'algorithm_optimization', + aliases: ['algorithm_optimization', 'algorithm-optimization', 'algo_optimization'] + }, + 'Predictive Analytics': { + brief: 'TBD', + details: 'Starting with a set of data and well-defined objectives, model trends and predict outcomes', + icon: 'product-qa-crowd-testing', + id: 'predictive-analytics', + aliases: ['predictive-analytics', 'predictive_analytics'] + }, + */ + 'Data Exploration': { + brief: 'TBD', + details: 'Ask a crowd of experts to look at your data, understand your goals, and suggest solutions', + icon: 'product-qa-crowd-testing', + id: 'data_exploration', + aliases: ['data-exploration', 'data_exploration'], + hidden : true } } }, @@ -144,6 +175,46 @@ const products = { } } }, + 'Analytics & Data Science': { + icon: 'product-cat-analytics', + info: 'Algorithm optimization, analtytics & data science projects', + question: 'What type of analytics project are you interested in?', + id: 'analytics', + aliases: ['all-analytics'], + hidden: true, + subtypes: { + 'Computer Vision': { + brief: 'TBD', + details: 'Recognize patters in images, compute correspondences, etc.', + icon: 'product-analytics-computer-vision', + id: 'computer_vision', + aliases: ['computer-vision', 'computer_vision'], + hidden: true + }, + // 'Algorithm Optimization': { + // brief: 'TBD', + // details: 'Boost the performance of an existing or new algorithm', + // icon: 'product-analytics-algorithm-optimization', + // id: 'algorithm_optimization', + // aliases: ['algorithm_optimization', 'algorithm-optimization', 'algo_optimization'] + // }, + // 'Predictive Analytics': { + // brief: 'TBD', + // details: 'Model trends and predict outcomes via set of data and objectives', + // icon: 'product-analytics-predictive-analytics', + // id: 'predictive-analytics', + // aliases: ['predictive-analytics', 'predictive_analytics'] + // }, + 'Data Exploration': { + brief: 'TBD', + details: 'Review your data, extrapolate patterns, and suggest solutions', + icon: 'product-analytics-data-exploration', + id: 'data_exploration', + aliases: ['data-exploration', 'data_exploration'], + hidden: true + } + } + }, QA: { icon: 'product-cat-qa', info: 'Test and fix bugs in your software', @@ -170,7 +241,24 @@ const products = { details: 'Webpage rendering effiency, Load, Stress and Endurance Test', icon: 'product-qa-website-performance', id: 'performance_testing', - aliases: ['performance-testing', 'performance_testing'] + aliases: ['performance-testing', 'performance_testing'], + hidden: true + }, + 'Health Security Check': { + brief: 'TBD', + details: 'Measure your code base against our security baseline using the crowd and tooling ', + icon: 'product-qa-health-check', + id: 'health_check', + aliases: ['health-check', 'health_check' ], + hidden: true + }, + 'Performance Tuning': { + brief: 'TBD', + details: 'Analyze your JVM based applications and generate recommendations', + icon: 'product-qa-website-performance', + id: 'performance_tuning', + aliases: ['performance-tuning', 'performance_tuning'], + hidden: true }, 'Digital Accessibility': { brief: 'TBD', @@ -198,6 +286,47 @@ const products = { } } } + + /* + Analytics: { + icon: 'product-cat-qa', + info: 'Test and fix bugs in your software', + question: 'What kind of quality assurance (QA) do you need?', + id: 'analytics', + aliases: ['all-analytics'], + hidden: true, + subtypes: { + 'Computer Vision': { + brief: 'TBD', + details: 'Work with images to recognize patterns, compute correspondences, etc', + icon: 'product-qa-crowd-testing', + id: 'computer_vision', + aliases: ['computer-vision', 'computer_vision'] + }, + 'Algorithm Optimization': { + brief: 'TBD', + details: 'Boost the performance (speed or accuracy) of an existing or new algorithm', + icon: 'product-qa-crowd-testing', + id: 'algorithm_optimization', + aliases: ['algorithm_optimization', 'algorithm-optimization', 'algo_optimization'] + }, + 'Predictive Analytics': { + brief: 'TBD', + details: 'Starting with a set of data and well-defined objectives, model trends and predict outcomes', + icon: 'product-qa-crowd-testing', + id: 'predictive-analytics', + aliases: ['predictive-analytics', 'predictive_analytics'] + }, + 'Data Exploration': { + brief: 'TBD', + details: 'Ask a crowd of experts to look at your data, understand your goals, and suggest solutions', + icon: 'product-qa-crowd-testing', + id: 'data-exploration', + aliases: ['data-exploration', 'data_exploration'] + } + } + } + */ } export default products diff --git a/src/projects/actions/loadProjects.js b/src/projects/actions/loadProjects.js index 7cd9c4a2e..94b662824 100644 --- a/src/projects/actions/loadProjects.js +++ b/src/projects/actions/loadProjects.js @@ -3,7 +3,7 @@ import { PROJECT_SEARCH, GET_PROJECTS, PROJECT_STATUS, PROJECT_STATUS_CANCELLED, SET_SEARCH_TERM, SET_PROJECTS_SEARCH_CRITERIA, CLEAR_PROJECT_SUGGESTIONS_SEARCH, PROJECT_SUGGESTIONS_SEARCH_SUCCESS, - ROLE_CONNECT_COPILOT, ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR, + ROLE_CONNECT_COPILOT, ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR, ROLE_CONNECT_ADMIN, SET_PROJECTS_INFINITE_AUTOLOAD } from '../../config/constants' import { getProjects } from '../../api/projects' @@ -26,7 +26,7 @@ const getProjectsWithMembers = (dispatch, getState, criteria, pageNum) => { let isPowerUser = false const loadUser = getState().loadUser // power user roles - const roles = [ROLE_CONNECT_COPILOT, ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR] + const roles = [ROLE_CONNECT_COPILOT, ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR, ROLE_CONNECT_ADMIN] if (loadUser.user) { // determine if user is a power user isPowerUser = loadUser.user.roles.some((role) => roles.indexOf(role) !== -1) diff --git a/src/projects/create/components/_layout.scss b/src/projects/create/components/_layout.scss index 6b292e794..6f43b6afb 100644 --- a/src/projects/create/components/_layout.scss +++ b/src/projects/create/components/_layout.scss @@ -61,7 +61,7 @@ $minimumPageWidth: 984px; @include tc-body; color: $tc-gray-50; text-align: center; - max-width: 860px; + max-width: 1000px; position: relative; min-height: calc(100vh - 130px); margin: 0 auto; @@ -86,6 +86,14 @@ $minimumPageWidth: 984px; flex-flow: row wrap; } + .ProjectTypeCard:nth-child(1) { + margin-left: 40px; + } + + .ProjectTypeCard:nth-child(3) { + margin-right: 40px; + } + .footer { position: absolute; bottom: 0; @@ -96,11 +104,12 @@ $minimumPageWidth: 984px; } } -sup{ +sup { font-size: 0.5em; vertical-align: text-top; } -sub{ + +sub { font-size: 0.5em; vertical-align: text-bottom; } diff --git a/src/projects/detail/ProjectDetail.jsx b/src/projects/detail/ProjectDetail.jsx index a692ab781..4f6bc3db5 100644 --- a/src/projects/detail/ProjectDetail.jsx +++ b/src/projects/detail/ProjectDetail.jsx @@ -7,7 +7,7 @@ import { renderComponent, branch, compose, withProps } from 'recompose' import { loadProjectDashboard } from '../actions/projectDashboard' import { LOAD_PROJECT_FAILURE, PROJECT_ROLE_CUSTOMER, PROJECT_ROLE_OWNER, - ROLE_ADMINISTRATOR + ROLE_ADMINISTRATOR, ROLE_CONNECT_ADMIN } from '../../config/constants' import spinnerWhileLoading from '../../components/LoadingSpinner' import CoderBot from '../../components/CoderBot/CoderBot' @@ -47,13 +47,18 @@ class ProjectDetail extends Component { this.props.loadProjectDashboard(projectId) } - componentWillReceiveProps({isProcessing, isLoading, error, project}) { + componentWillReceiveProps({isProcessing, isLoading, error, project, match}) { // handle just deleted projects if (! (error || isLoading || isProcessing) && _.isEmpty(project)) this.props.history.push('/projects/') if (project && project.name) { document.title = `${project.name} - Topcoder` } + + // load project if URL changed + if (this.props.match.params.projectId !== match.params.projectId) { + this.props.loadProjectDashboard(match.params.projectId) + } } getProjectRoleForCurrentUser({currentUserId, project}) { @@ -71,7 +76,7 @@ class ProjectDetail extends Component { render() { const currentMemberRole = this.getProjectRoleForCurrentUser(this.props) - const powerRoles = [ROLE_ADMINISTRATOR] + const powerRoles = [ROLE_ADMINISTRATOR, ROLE_CONNECT_ADMIN] const isSuperUser = this.props.currentUserRoles.some((role) => powerRoles.indexOf(role) !== -1) return ( { + window.dispatchEvent(new Event('resize')) + }, 1000) + } + componentWillUnmount() { this.props.fireProjectDirtyUndo() window.removeEventListener('beforeunload', this.onLeave) @@ -106,6 +115,7 @@ class EditProjectForm extends Component { // Notify user if they navigate away while the form is modified. onLeave(e = {}) { + this.autoResize() if (this.isChanged()) { // TODO: remove this block - it disables unsaved changes popup // for app screens changes diff --git a/src/projects/detail/components/ProjectSpecSidebar.jsx b/src/projects/detail/components/ProjectSpecSidebar.jsx index 82df5ceaa..98df3d99d 100644 --- a/src/projects/detail/components/ProjectSpecSidebar.jsx +++ b/src/projects/detail/components/ProjectSpecSidebar.jsx @@ -21,7 +21,15 @@ const calcProgress = (project, subSection) => { }) let count = 0 _.forEach(vals, (v) => {if (v) count++ }) - return [count, subSection.questions.length] + // Github issue#1399, filtered only required questions to set expected length of valid answers + const filterRequiredQuestions = (q) => ( + // if required attribute is missing on question, but sub section has required flag, assume question as required + // or question should have required flag or validation isRequired + (typeof q.required === 'undefined' && subSection.required) + || q.required + || (q.validations && q.validations.indexOf('isRequired') !== -1) + ) + return [count, _.filter(subSection.questions, filterRequiredQuestions).length] } else if (subSection.id === 'screens') { const screens = _.get(project, 'details.appScreens.screens', []) const validScreens = screens.filter((s) => { diff --git a/src/projects/detail/components/SidebarNav.jsx b/src/projects/detail/components/SidebarNav.jsx index 3b66ffefe..aeb8e53b6 100644 --- a/src/projects/detail/components/SidebarNav.jsx +++ b/src/projects/detail/components/SidebarNav.jsx @@ -21,7 +21,8 @@ const scrollProps = { */ const renderSubNavItems = (child, idx) => { const { name, progress, link, required } = child - const isComplete = progress.length && progress[0] === progress[1] + // Github issue#1399, changed === to >= to determine if all required fields are completed + const isComplete = progress.length && progress[0] >= progress[1] const showProgress = progress[1] > 0 && name.toLowerCase().indexOf('questions') !== -1 return (
  • diff --git a/src/projects/detail/components/SpecQuestionList/SpecQuestionList.scss b/src/projects/detail/components/SpecQuestionList/SpecQuestionList.scss index 6413d7a60..77eb9287c 100644 --- a/src/projects/detail/components/SpecQuestionList/SpecQuestionList.scss +++ b/src/projects/detail/components/SpecQuestionList/SpecQuestionList.scss @@ -75,7 +75,7 @@ text-align: left; text-indent: 0; margin-bottom: 0; - line-height: 25px; + line-height: 24.5px; } .radio-group-input, @@ -106,7 +106,7 @@ margin: 15px 30px 15px 0; } - .SliderInput { + .SliderRadioGroup { margin: 40px auto 15px auto; width: 80%; } diff --git a/src/projects/detail/components/SpecQuestions.jsx b/src/projects/detail/components/SpecQuestions.jsx index 03fe77da5..b6406f1f7 100644 --- a/src/projects/detail/components/SpecQuestions.jsx +++ b/src/projects/detail/components/SpecQuestions.jsx @@ -8,7 +8,6 @@ import SpecQuestionIcons from './SpecQuestionList/SpecQuestionIcons' import SpecFeatureQuestion from './SpecFeatureQuestion' import ColorSelector from './../../../components/ColorSelector/ColorSelector' import SelectDropdown from './../../../components/SelectDropdown/SelectDropdown' -import SliderInput from './../../../components/SliderInput/SliderInput' // HOC for TextareaInput const SeeAttachedTextareaInput = seeAttachedWrapperField(TCFormFields.Textarea) @@ -28,7 +27,8 @@ const getIcon = icon => { } } -const SpecQuestions = ({questions, project, dirtyProject, resetFeatures, showFeaturesDialog, isRequired}) => { +// { isRequired, represents the overall questions section's compulsion, is also available} +const SpecQuestions = ({questions, project, dirtyProject, resetFeatures, showFeaturesDialog }) => { const renderQ = (q, index) => { // let child = null @@ -141,7 +141,7 @@ const SpecQuestions = ({questions, project, dirtyProject, resetFeatures, showFea }) break case 'slide-radiogroup': - ChildElem = SliderInput + ChildElem = TCFormFields.SliderRadioGroup _.assign(elemProps, { options: q.options, min: 0, @@ -159,7 +159,7 @@ const SpecQuestions = ({questions, project, dirtyProject, resetFeatures, showFea title={q.title} icon={getIcon(q.icon)} description={q.description} - required={isRequired} + required={q.required || (q.validations && q.validations.indexOf('isRequired') !== -1)} hideDescription={elemProps.hideDescription} > diff --git a/src/projects/detail/components/SpecSection.jsx b/src/projects/detail/components/SpecSection.jsx index 52ecc903d..863c4ed84 100644 --- a/src/projects/detail/components/SpecSection.jsx +++ b/src/projects/detail/components/SpecSection.jsx @@ -6,7 +6,7 @@ import SpecQuestions from './SpecQuestions' import FileListContainer from './FileListContainer' import SpecScreens from './SpecScreens' import { PROJECT_STATUS_DRAFT, PROJECT_NAME_MAX_LENGTH, PROJECT_REF_CODE_MAX_LENGTH } from '../../../config/constants' - +import { scrollToAnchors } from '../../../components/ScrollToAnchors' const SpecSection = props => { const { @@ -177,4 +177,4 @@ SpecSection.propTypes = { sectionNumber: PropTypes.number.isRequired } -export default SpecSection +export default scrollToAnchors(SpecSection) diff --git a/src/projects/detail/containers/TeamManagementContainer.jsx b/src/projects/detail/containers/TeamManagementContainer.jsx index 746b17f4c..dcf973f65 100644 --- a/src/projects/detail/containers/TeamManagementContainer.jsx +++ b/src/projects/detail/containers/TeamManagementContainer.jsx @@ -3,8 +3,9 @@ import { connect } from 'react-redux' import { withRouter } from 'react-router-dom' import _ from 'lodash' import { - ROLE_CONNECT_COPILOT, ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR, - PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER, PROJECT_ROLE_CUSTOMER, AUTOCOMPLETE_TRIGGER_LENGTH + ROLE_CONNECT_COPILOT, ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR, ROLE_CONNECT_ADMIN, + PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER, PROJECT_ROLE_CUSTOMER, + AUTOCOMPLETE_TRIGGER_LENGTH } from '../../../config/constants' import TeamManagement from '../../../components/TeamManagement/TeamManagement' import { addProjectMember, updateProjectMember, removeProjectMember, @@ -221,12 +222,14 @@ class TeamManagementContainer extends Component { } const mapStateToProps = ({ loadUser, members }) => { - const powerUserRoles = [ROLE_CONNECT_COPILOT, ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR] - const managerRoles = [ ROLE_ADMINISTRATOR, ROLE_CONNECT_MANAGER ] + const adminRoles = [ROLE_ADMINISTRATOR, ROLE_CONNECT_ADMIN] + const powerUserRoles = [ROLE_CONNECT_COPILOT, ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR, ROLE_CONNECT_ADMIN] + const managerRoles = [ ROLE_ADMINISTRATOR, ROLE_CONNECT_ADMIN, ROLE_CONNECT_MANAGER ] return { currentUser: { userId: parseInt(loadUser.user.id), isCopilot: _.indexOf(loadUser.user.roles, ROLE_CONNECT_COPILOT) > -1, + isAdmin: _.intersection(loadUser.user.roles, adminRoles).length > 0, isManager: loadUser.user.roles.some((role) => managerRoles.indexOf(role) !== -1), isCustomer: !loadUser.user.roles.some((role) => powerUserRoles.indexOf(role) !== -1) }, diff --git a/src/projects/list/components/Projects/ProjectCardBody.jsx b/src/projects/list/components/Projects/ProjectCardBody.jsx index 0e7fcca0d..2687e7b77 100644 --- a/src/projects/list/components/Projects/ProjectCardBody.jsx +++ b/src/projects/list/components/Projects/ProjectCardBody.jsx @@ -8,6 +8,8 @@ import { PROJECT_STATUS_ACTIVE, PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER } fro import './ProjectCardBody.scss' import _ from 'lodash' +const EnhancedProjectStatus = editableProjectStatus(ProjectStatus) + function ProjectCardBody({ project, duration, currentMemberRole, descLinesCount = 8, onChangeStatus, isSuperUser }) { if (!project) return null @@ -17,8 +19,6 @@ function ProjectCardBody({ project, duration, currentMemberRole, descLinesCount const progress = _.get(process, 'percent', 0) - const EnhancedProjectStatus = canEdit ? editableProjectStatus(ProjectStatus) : ProjectStatus - return (
    -
    +
    { let isPowerUser = false - const roles = [ROLE_CONNECT_COPILOT, ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR] + const roles = [ROLE_CONNECT_COPILOT, ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR, ROLE_CONNECT_ADMIN] if (loadUser.user) { isPowerUser = loadUser.user.roles.some((role) => roles.indexOf(role) !== -1) } diff --git a/src/projects/list/components/Projects/ProjectsGridView.jsx b/src/projects/list/components/Projects/ProjectsGridView.jsx index 70ce72d40..43a0568a2 100644 --- a/src/projects/list/components/Projects/ProjectsGridView.jsx +++ b/src/projects/list/components/Projects/ProjectsGridView.jsx @@ -3,7 +3,7 @@ import _ from 'lodash' import { Link } from 'react-router-dom' import moment from 'moment' import ProjectListTimeSortColHeader from './ProjectListTimeSortColHeader' -import ProjectSegmentSelect from './ProjectSegmentSelect' +// import ProjectSegmentSelect from './ProjectSegmentSelect' import GridView from '../../../../components/Grid/GridView' import UserTooltip from '../../../../components/User/UserTooltip' import { PROJECTS_LIST_PER_PAGE, PROJECT_ICON_MAP, SORT_OPTIONS } from '../../../../config/constants' @@ -112,12 +112,15 @@ const ProjectsGridView = props => {
    -
    - -
    +
    ) + // TODO: Restore user segment when we support it + //
    + // + //
    + // Hiding the user segment for the momemnt } }, { id: 'managers', diff --git a/src/projects/list/components/Projects/ProjectsGridView.scss b/src/projects/list/components/Projects/ProjectsGridView.scss index 6eb25557b..33ce4c317 100644 --- a/src/projects/list/components/Projects/ProjectsGridView.scss +++ b/src/projects/list/components/Projects/ProjectsGridView.scss @@ -37,8 +37,9 @@ .item-status { flex: none; - min-width: 40px; - width: 40px; + min-width: 55px; + padding-right: 20px; + // width: 40px; position: relative; .modal-active { @@ -309,7 +310,8 @@ text-overflow: ellipsis; &:hover { - background-color: $tc-gray-neutral-dark; + background-color: $tc-dark-blue-30; + color: $tc-black; } } diff --git a/src/projects/routes.jsx b/src/projects/routes.jsx index a754eddb2..b4918ef6a 100644 --- a/src/projects/routes.jsx +++ b/src/projects/routes.jsx @@ -1,7 +1,7 @@ import React from 'react' import { Route, Switch } from 'react-router-dom' import { withProps } from 'recompose' -import App from '../components/App/App' +import { renderApp } from '../components/App/App' import ProjectLayout from './ProjectLayout' import Projects from './list/components/Projects/Projects' import TopBarContainer from '../components/TopBar/TopBarContainer' @@ -13,10 +13,6 @@ import ProjectMessages from './detail/Messages' import SpecificationContainer from './detail/containers/SpecificationContainer' import { requiresAuthentication } from '../components/AuthenticatedComponent' -const renderApp = (topbar, content) => () => ( - -) - const ProjectLayoutWithAuth = requiresAuthentication(ProjectLayout) // NOTE: diff --git a/src/reducers/index.js b/src/reducers/index.js index 05a084475..b82e27276 100644 --- a/src/reducers/index.js +++ b/src/reducers/index.js @@ -9,6 +9,8 @@ import projectSearch from '../projects/reducers/projectSearch' import projectSearchSuggestions from '../projects/reducers/projectSearchSuggestions' import members from './members' import alerts from './alerts' +import notifications from '../routes/notifications/reducers' +import settings from '../routes/settings/reducers' export default combineReducers({ loadUser, @@ -20,5 +22,7 @@ export default combineReducers({ members, projectDashboard, projectTopics, - alerts + alerts, + notifications, + settings }) diff --git a/src/routes.jsx b/src/routes.jsx index 1c57b76f2..bb7a2d149 100644 --- a/src/routes.jsx +++ b/src/routes.jsx @@ -1,11 +1,13 @@ import React from 'react' import { Route, Switch, withRouter } from 'react-router-dom' import { withProps } from 'recompose' -import App from './components/App/App' +import { renderApp } from './components/App/App' import Home from './components/Home/Home' import ConnectTerms from './components/ConnectTerms/ConnectTerms' import CoderBot from './components/CoderBot/CoderBot' import projectRoutes from './projects/routes.jsx' +import notificationsRoutes from './routes/notifications/routes.jsx' +import settingsRoutes from './routes/settings/routes.jsx' import TopBarContainer from './components/TopBar/TopBarContainer' import ProjectsToolBar from './components/TopBar/ProjectsToolBar' import RedirectComponent from './components/RedirectComponent' @@ -14,6 +16,7 @@ import LoadingIndicator from './components/LoadingIndicator/LoadingIndicator' import {ACCOUNTS_APP_LOGIN_URL, PROJECT_FEED_TYPE_PRIMARY, PROJECT_FEED_TYPE_MESSAGES } from './config/constants' import { getTopic } from './api/messages' import { getFreshToken } from 'tc-accounts' +import { scrollToHash } from './components/ScrollToAnchors.jsx' import { TCEmitter } from './helpers' import { EVENT_ROUTE_CHANGE } from './config/constants' @@ -91,10 +94,6 @@ class RedirectToProject extends React.Component { const topBarWithProjectsToolBar = -const renderApp = (topbar, content) => () => ( - -) - class Routes extends React.Component { componentWillMount() { redirectToConnectIfNeed() @@ -115,8 +114,14 @@ class Routes extends React.Component { } componentDidUpdate(prevProps) { - if (this.props.location !== prevProps.location) { - window.scrollTo(0, 0) + if (this.props.location.pathname !== prevProps.location.pathname) { + if (this.props.location.hash !== '') { + scrollToHash(this.props.location.hash) + } else { + window.scrollTo(0, 0) + } + } else if (this.props.location.hash !== prevProps.location.hash && this.props.location.hash !== '') { + scrollToHash(this.props.location.hash) } } @@ -133,6 +138,8 @@ class Routes extends React.Component { {/* Handle /projects/* routes */} {projectRoutes} {/* {reportsListRoutes} */} + {notificationsRoutes} + {settingsRoutes} )} /> )} /> diff --git a/src/routes/notifications/actions/index.js b/src/routes/notifications/actions/index.js new file mode 100644 index 000000000..10e7e728d --- /dev/null +++ b/src/routes/notifications/actions/index.js @@ -0,0 +1,74 @@ +/** + * Notification related actions + */ +import { + GET_NOTIFICATIONS, + SET_NOTIFICATIONS_FILTER_BY, + MARK_ALL_NOTIFICATIONS_READ, + TOGGLE_NOTIFICATION_READ, + VIEW_OLDER_NOTIFICATIONS_SUCCESS, + NOTIFICATIONS_PENDING +} from '../../../config/constants' +import notificationsService from '../services/notifications.js' +import Alert from 'react-s-alert' +import _ from 'lodash' + +export const getNotifications = () => (dispatch) => { + notificationsService.getNotifications().then(notifications => { + dispatch({ + type: GET_NOTIFICATIONS, + payload: notifications + }) + }).catch(err => { + Alert.error(`Failed to load notifications. ${err.message}`) + }) +} + +export const setNotificationsFilterBy = (filterBy) => (dispatch) => dispatch({ + type: SET_NOTIFICATIONS_FILTER_BY, + payload: filterBy +}) + +export const markAllNotificationsRead = (sourceId, notifications = []) => (dispatch) => { + let ids = null + if (sourceId) { + const sourceNfs = _.filter(notifications, n => n.sourceId === sourceId && !n.isRead) + if (sourceNfs.length === 0) { + return + } + ids = _.map(sourceNfs, n => n.id).join('-') + } + + dispatch({ + type: NOTIFICATIONS_PENDING + }) + + notificationsService.markNotificationsRead(ids).then(() => { + dispatch({ + type: MARK_ALL_NOTIFICATIONS_READ, + payload: sourceId + }) + }).catch(err => { + Alert.error(`Failed to mark notifications read. ${err.message}`) + }) +} + +export const toggleNotificationRead = (notificationId) => (dispatch) => { + dispatch({ + type: NOTIFICATIONS_PENDING + }) + + notificationsService.markNotificationsRead(notificationId).then(() => { + dispatch({ + type: TOGGLE_NOTIFICATION_READ, + payload: notificationId + }) + }).catch(err => { + Alert.error(`Failed to mark notification read. ${err.message}`) + }) +} + +export const viewOlderNotifications = (sourceId) => (dispatch) => dispatch({ + type: VIEW_OLDER_NOTIFICATIONS_SUCCESS, + payload: sourceId +}) diff --git a/src/routes/notifications/components/NotificationsToolBar.jsx b/src/routes/notifications/components/NotificationsToolBar.jsx new file mode 100644 index 000000000..2bbb37417 --- /dev/null +++ b/src/routes/notifications/components/NotificationsToolBar.jsx @@ -0,0 +1,11 @@ +/** + * Notifications pages tool bar + */ +import React from 'react' +import SectionTopBar from '../../../components/TopBar/SectionToolBar' + +const NotificationsToolBar = () => ( + +) + +export default NotificationsToolBar diff --git a/src/routes/notifications/constants/notifications.js b/src/routes/notifications/constants/notifications.js new file mode 100644 index 000000000..c6ca3094d --- /dev/null +++ b/src/routes/notifications/constants/notifications.js @@ -0,0 +1,201 @@ +import { + NOTIFICATION_TYPE, + ROLE_CONNECT_COPILOT, ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR, + PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER, PROJECT_ROLE_OWNER, PROJECT_ROLE_MEMBER +} from '../../../config/constants' + +const GOTO = { + PROJECT_DASHBOARD: '/projects/[projectId]', + PROJECT_SPECIFICATION: '/projects/[projectId]/specification', + TOPIC: '/projects/[projectId]/#feed-[topicId]', + POST: '/projects/[projectId]/#comment-[postId]', + FILE_LIST: '/projects/[projectId]/specification#appDefinition-files' +} + +export const NOTIFICATIONS = [ + // Outside project + { + eventType: 'notifications.connect.project.created', + type: NOTIFICATION_TYPE.NEW_PROJECT, + text: 'Your Project was created successfully', + projectRoles: [PROJECT_ROLE_OWNER], + goTo: GOTO.PROJECT_DASHBOARD + }, + + { + eventType: 'notifications.connect.project.submittedForReview', + type: NOTIFICATION_TYPE.REVIEW_PENDING, + text: 'Your project is now in review', + projectRoles: [PROJECT_ROLE_OWNER] + }, + { + eventType: 'notifications.connect.project.submittedForReview', + type: NOTIFICATION_TYPE.REVIEW_PENDING, + text: 'Project is available for review', + topcoderRoles: [ROLE_CONNECT_MANAGER, ROLE_ADMINISTRATOR], + goTo: GOTO.PROJECT_SPECIFICATION + }, + + { + eventType: 'notifications.connect.project.approved', + type: NOTIFICATION_TYPE.UPDATES, + text: 'Your project was approved, work would soon start', + projectRoles: [PROJECT_ROLE_OWNER] + }, + { + eventType: 'notifications.connect.project.approved', + type: NOTIFICATION_TYPE.UPDATES, + text: 'Project is available for pickup', + topcoderRoles: [ROLE_CONNECT_COPILOT, ROLE_ADMINISTRATOR], + goTo: GOTO.PROJECT_DASHBOARD + }, + { + eventType: 'notifications.connect.project.approved', + type: NOTIFICATION_TYPE.UPDATES, + text: 'Project was approved', + projectRoles: [PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER], + goTo: GOTO.PROJECT_DASHBOARD + }, + + { + eventType: 'notifications.connect.project.paused', + type: NOTIFICATION_TYPE.REVIEW_PENDING, + text: 'Your project was paused', + projectRoles: [PROJECT_ROLE_OWNER, PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER], + goTo: GOTO.PROJECT_DASHBOARD + }, + { + eventType: 'notifications.connect.project.paused', + type: NOTIFICATION_TYPE.REVIEW_PENDING, + text: 'A project was paused', + topcoderRoles: [ROLE_ADMINISTRATOR], + goTo: GOTO.PROJECT_DASHBOARD + }, + + { + eventType: 'notifications.connect.project.completed', + type: NOTIFICATION_TYPE.UPDATES, + text: 'Your project completed successfully!', + projectRoles: [PROJECT_ROLE_OWNER, PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER, PROJECT_ROLE_MEMBER], + goTo: GOTO.PROJECT_DASHBOARD + }, + { + eventType: 'notifications.connect.project.completed', + type: NOTIFICATION_TYPE.UPDATES, + text: 'A project was completed', + topcoderRoles: [ROLE_ADMINISTRATOR], + goTo: GOTO.PROJECT_DASHBOARD + }, + + { + eventType: 'notifications.connect.project.canceled', + type: NOTIFICATION_TYPE.WARNING, + text: 'Your project was canceled. If you think that was a mistake...', + projectRoles: [PROJECT_ROLE_OWNER], + goTo: GOTO.PROJECT_DASHBOARD + }, + + // User management + { + eventType: 'notifications.connect.project.member.joined', + type: NOTIFICATION_TYPE.MEMBER_ADDED, + text: 'A new team member joined your project', + projectRoles: [PROJECT_ROLE_OWNER, PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER], + goTo: GOTO.PROJECT_DASHBOARD + }, + + { + eventType: 'notifications.connect.project.member.left', + type: NOTIFICATION_TYPE.WARNING, + text: '[userHandle] left a project', + projectRoles: [PROJECT_ROLE_MANAGER] + }, + + { + eventType: 'notifications.connect.project.member.removed', + type: NOTIFICATION_TYPE.WARNING, + text: '[userHandle] was removed from project', + projectRoles: [PROJECT_ROLE_MANAGER] + }, { + eventType: 'notifications.connect.project.member.removed', + type: NOTIFICATION_TYPE.WARNING, + text: 'You were removed from a project', + toUserHandle: true + }, + + { + eventType: 'notifications.connect.project.member.assignedAsOwner', + type: NOTIFICATION_TYPE.MEMBER_ADDED, + text: 'You are now the owner of project', + toUserHandle: true, + goTo: GOTO.PROJECT_DASHBOARD + }, { + eventType: 'notifications.connect.project.member.assignedAsOwner', + type: NOTIFICATION_TYPE.MEMBER_ADDED, + text: 'Project owner was changed to [userHandle]', + projectRoles: [PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER], + goTo: GOTO.PROJECT_DASHBOARD + }, + + { + eventType: 'notifications.connect.project.member.copilotJoined', + type: NOTIFICATION_TYPE.MEMBER_ADDED, + text: 'A copilot joined your project team', + projectRoles: [PROJECT_ROLE_OWNER, PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER], + goTo: GOTO.PROJECT_DASHBOARD + }, + + { + eventType: 'notifications.connect.project.member.managerJoined', + type: NOTIFICATION_TYPE.MEMBER_ADDED, + text: 'A manager joined your project team', + projectRoles: [PROJECT_ROLE_OWNER, PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER], + goTo: GOTO.PROJECT_DASHBOARD + }, + + { + eventType: 'notifications.connect.project.topic.created', + type: NOTIFICATION_TYPE.NEW_POSTS, + text: '[userHandle] created a new post ', + projectRoles: [PROJECT_ROLE_OWNER, PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER, PROJECT_ROLE_MEMBER], + goTo: GOTO.TOPIC + }, + + { + eventType: 'notifications.connect.project.post.created', + type: NOTIFICATION_TYPE.NEW_POSTS, + text: '[userHandle] responded to your post', + toTopicStarter: true, + goTo: GOTO.POST + }, { + eventType: 'notifications.connect.project.post.created', + type: NOTIFICATION_TYPE.NEW_POSTS, + text: '[userHandle] responded to a post', + projectRoles: [PROJECT_ROLE_OWNER, PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER, PROJECT_ROLE_MEMBER], + goTo: GOTO.POST + }, + + { + eventType: 'notifications.connect.project.linkCreated', + type: NOTIFICATION_TYPE.NEW_POSTS, + text: '[userHandle] added to your project', + projectRoles: [PROJECT_ROLE_OWNER, PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER, PROJECT_ROLE_MEMBER], + goTo: GOTO.PROJECT_DASHBOARD + }, + + { + eventType: 'notifications.connect.project.fileUploaded', + type: NOTIFICATION_TYPE.NEW_POSTS, + text: '[userHandle] added a new file', + projectRoles: [PROJECT_ROLE_OWNER, PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER, PROJECT_ROLE_MEMBER], + goTo: GOTO.FILE_LIST + }, + + { + eventType: 'notifications.connect.project.specificationModified', + type: NOTIFICATION_TYPE.UPDATES, + text: '[userHandle] updated the project specification', + projectRoles: [PROJECT_ROLE_OWNER, PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER, PROJECT_ROLE_MEMBER], + goTo: GOTO.PROJECT_SPECIFICATION + } +] diff --git a/src/routes/notifications/containers/NotificationsContainer.jsx b/src/routes/notifications/containers/NotificationsContainer.jsx new file mode 100644 index 000000000..67c38e055 --- /dev/null +++ b/src/routes/notifications/containers/NotificationsContainer.jsx @@ -0,0 +1,124 @@ +/** + * Container component for notifications list with filter + */ +import React, { PropTypes } from 'react' +import _ from 'lodash' +import { connect } from 'react-redux' +import { Link } from 'react-router-dom' +import Sticky from 'react-stickynode' +import { getNotifications, setNotificationsFilterBy, markAllNotificationsRead, toggleNotificationRead, viewOlderNotifications } from '../actions' +import FooterV2 from '../../../components/FooterV2/FooterV2' +import NotificationsSection from '../../../components/NotificationsSection/NotificationsSection' +import NotificationsSectionTitle from '../../../components/NotificationsSectionTitle/NotificationsSectionTitle' +import SideFilter from '../../../components/SideFilter/SideFilter' +import NotificationsEmpty from '../../../components/NotificationsEmpty/NotificationsEmpty' +import spinnerWhileLoading from '../../../components/LoadingSpinner' +import { getNotificationsFilters, splitNotificationsBySources, filterReadNotifications } from '../helpers/notifications' +import { requiresAuthentication } from '../../../components/AuthenticatedComponent' +import { REFRESH_NOTIFICATIONS_INTERVAL } from '../../../config/constants' +import './NotificationsContainer.scss' + +class NotificationsContainer extends React.Component { + componentDidMount() { + document.title = 'Notifications - TopCoder' + this.props.getNotifications() + this.autoRefreshNotifications = setInterval(() => this.props.getNotifications(), REFRESH_NOTIFICATIONS_INTERVAL) + } + + componentWillUnmount() { + clearInterval(this.autoRefreshNotifications) + } + + render() { + if (!this.props.initialized) { + return null + } + const { sources, notifications, filterBy, setNotificationsFilterBy, + markAllNotificationsRead, toggleNotificationRead, viewOlderNotifications, oldSourceIds, pending } = this.props + const notReadNotifications = filterReadNotifications(notifications) + const notificationsBySources = splitNotificationsBySources(sources, notReadNotifications, oldSourceIds) + let globalSource = notificationsBySources.length > 0 && notificationsBySources[0].id === 'global' ? notificationsBySources[0] : null + let projectSources = globalSource ? notificationsBySources.slice(1) : notificationsBySources + if (filterBy) { + if (filterBy === 'global') { + projectSources = [] + } else { + globalSource = null + projectSources = _.filter(projectSources, { id: filterBy }) + } + } + + return ( +
    +
    + {globalSource && globalSource.total > 0 && + !pending && markAllNotificationsRead('global', notifications)} + onReadToggleClick={(id) => !pending && toggleNotificationRead(id)} + onViewOlderClick={() => viewOlderNotifications(globalSource.id)} + /> + } + {projectSources.length > 0 && } + {projectSources.filter(source => source.total > 0).map(source => + !pending && markAllNotificationsRead(source.id, notifications)} + onReadToggleClick={(id) => !pending && toggleNotificationRead(id)} + onViewOlderClick={() => viewOlderNotifications(source.id)} + /> + )} + {globalSource || projectSources.length > 0 ? +
    End of list
    : + +

    + Maybe you need to check your notification settings to + get up to date with the latest activity from your projects? +

    +
    + } +
    + +
    + ) + } +} + +NotificationsContainer.propTypes = { + isLoading: PropTypes.bool.isRequired, + initialized: PropTypes.bool.isRequired, + notifications: PropTypes.array, + sources: PropTypes.array, + filterBy: PropTypes.string, + oldSourceIds: PropTypes.array, + pending: PropTypes.bool +} + +const enhance = spinnerWhileLoading(props => !props.isLoading) +const NotificationsContainerWithLoader = enhance(NotificationsContainer) +const NotificationsContainerWithLoaderAndAuth = requiresAuthentication(NotificationsContainerWithLoader) + +const mapStateToProps = ({ notifications }) => notifications + +const mapDispatchToProps = { + getNotifications, + setNotificationsFilterBy, + markAllNotificationsRead, + toggleNotificationRead, + viewOlderNotifications +} + +export default connect(mapStateToProps, mapDispatchToProps)(NotificationsContainerWithLoaderAndAuth) diff --git a/src/routes/notifications/containers/NotificationsContainer.scss b/src/routes/notifications/containers/NotificationsContainer.scss new file mode 100644 index 000000000..8f31e6b37 --- /dev/null +++ b/src/routes/notifications/containers/NotificationsContainer.scss @@ -0,0 +1,48 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.notifications-container { + display: flex; + justify-content: space-between; + margin: 0 auto; + max-width: 1150px; + min-width: 960px; + padding: 30px 20px 0; + + > .content { + flex: 1; + margin-right: 30px; + max-width: 720px; + + > .end-of-list { + @include roboto-medium; + color: $tc-gray-50; + font-size: 13px; + line-height: 20px; + text-align: center; + padding: 20px 0; + } + } + + > .filters { + flex: 1; + max-width: 360px; + } + + .notifications-empty-note { + @include roboto; + color: $tc-gray-50; + font-size: 13px; + line-height: 20px; + margin: 50px auto 0; + max-width: 440px; + + > a { + color: #55a5ff; + + &:hover { + color: $tc-dark-blue; + } + } + } +} diff --git a/src/routes/notifications/helpers/notifications.js b/src/routes/notifications/helpers/notifications.js new file mode 100644 index 000000000..a71d4ea7a --- /dev/null +++ b/src/routes/notifications/helpers/notifications.js @@ -0,0 +1,192 @@ +/** + * Helper methods to filter and preprocess notifications + */ +import _ from 'lodash' +import { OLD_NOTIFICATION_TIME } from '../../../config/constants' +import { NOTIFICATIONS } from '../constants/notifications' + +// how many milliseconds in one minute +const MILLISECONDS_IN_MINUTE = 60000 + +/** + * Get notification filters by sources + * + * @param {Array} sources list of sources + * + * @return {Array} list of filters by sources + */ +export const getNotificationsFilters = (sources) => { + const globalNotificationsQuantity = _.find(sources, { id: 'global' }).total + const filterSections = [ + [{ title: 'All Notifications', value: '' }], + [{ title: 'Global', value: 'global', quantity: globalNotificationsQuantity }] + ] + const filtersBySource = [] + + sources.forEach(source => { + if (source.id !== 'global') { + filtersBySource.push({ + title: source.title, + value: source.id, + quantity: source.total + }) + } + }) + + if (filtersBySource.length > 0) { + filterSections.push(filtersBySource) + } + + return filterSections +} + +/** + * Split notifications by sources + * + * @param {Array} sources list of sources + * @param {Array} notifications list of notifications + * @param {Array} oldSourceIds list of ids of sources that will also show old notifications + * + * @return {Array} list of sources with related notifications + */ +export const splitNotificationsBySources = (sources, notifications, oldSourceIds = []) => { + const notificationsBySources = [] + + sources.filter(source => source.total > 0).forEach(source => { + source.notifications = _.filter(notifications, n => { + if (n.sourceId !== source.id) return false + if (_.indexOf(oldSourceIds, source.id) < 0 && n.isOld) return false + return true + }) + notificationsBySources.push(source) + }) + + return notificationsBySources +} + +/** + * Filter notifications to only not read yet + * + * @param {Array} notifications list of notifications + * + * @return {Array} notifications list filtered of notifications + */ +export const filterReadNotifications = (notifications) => _.filter(notifications, { isRead: false }) + +/** + * Limits notifications quantity per source + * and total quantity of notifications + * + * @param {Array} notificationsBySources list of sources with notifications + * @param {Number} maxPerSource maximum number of notifications to include per source + * @param {Number} maxTotal maximum number of notifications in total + * + * @return {Array} list of sources with related notifications + */ +export const limitQuantityInSources = (notificationsBySources, maxPerSource, maxTotal) => { + const notificationsBySourceLimited = [] + let total = 0 + let sourceIndex = 0 + + while (total < maxTotal && sourceIndex < notificationsBySources.length) { + const source = notificationsBySources[sourceIndex] + const maxPerThisSource = Math.min(maxTotal - total, maxPerSource) + source.notifications = source.notifications.slice(0, maxPerThisSource) + notificationsBySourceLimited.push(source) + + total += source.notifications.length + sourceIndex += 1 + } + + return notificationsBySourceLimited +} + +/** + * Render template with [variable] placeholders + * + * @param {String} templateStr template + * @param {Object} values values for template placeholders + * + * @return {String} rendered template + */ +const renderTemplate = (templateStr, values) => { + const regexp = /\[([^\]]+)\]/g + let output = templateStr + let match + + while (match = regexp.exec(templateStr)) { // eslint-disable-line no-cond-assign + if (values[match[1]]) { + output = output.replace(match[0], values[match[1]]) + } + } + + return output +} + +/** + * Get a rule for notification + * + * @param {Object} notification notification + * + * @return {Object} notification rule + */ +const getNotificationRule = (notification) => { + const notificationRule = _.find(NOTIFICATIONS, (_notificationRule) => { + let match = _notificationRule.eventType === notification.eventType + + if (notification.contents.toTopicStarter) { + match = match && _notificationRule.toTopicStarter + } + + if (notification.contents.toUserHandle) { + match = match && _notificationRule.toUserHandle + } + + if (notification.contents.projectRole) { + match = match && _notificationRule.projectRoles && _.includes(_notificationRule.projectRoles, notification.contents.projectRole) + } + + if (notification.contents.topcoderRole) { + match = match && _notificationRule.topcoderRoles && _.includes(_notificationRule.topcoderRoles, notification.contents.topcoderRole) + } + + return match + }) + + if (!notificationRule) { + throw new Error(`Cannot find notification rule for eventType ${notification.eventType}.`) + } + + return notificationRule +} + +/** + * Prepare notifications + * + * @param {Array} notifications notifications list + * + * @return {Array} notification list + */ +export const prepareNotifications = (rowNotifications) => { + const notifications = rowNotifications.map((rowNotification) => ({ + id: `${rowNotification.id}`, + sourceId: rowNotification.contents.projectId ? `${rowNotification.contents.projectId}` : 'global', + sourceName: rowNotification.contents.projectId ? (rowNotification.contents.projectName || 'project') : 'Global', + eventType: rowNotification.type, + date: rowNotification.createdAt, + isRead: rowNotification.read, + isOld: new Date().getTime() - OLD_NOTIFICATION_TIME * MILLISECONDS_IN_MINUTE > new Date(rowNotification.createdAt).getTime(), + contents: rowNotification.contents + })).map((notification) => { + const notificationRule = getNotificationRule(notification) + + // populate notification data + notification.type = notificationRule.type + notification.text = renderTemplate(notificationRule.text, notification.contents) + notification.goto = renderTemplate(notificationRule.goTo, notification.contents) + + return notification + }) + + return notifications +} diff --git a/src/routes/notifications/reducers/index.js b/src/routes/notifications/reducers/index.js new file mode 100644 index 000000000..1d62aac5a --- /dev/null +++ b/src/routes/notifications/reducers/index.js @@ -0,0 +1,89 @@ +/** + * Notifications related reducers + */ +import { + GET_NOTIFICATIONS, + SET_NOTIFICATIONS_FILTER_BY, + MARK_ALL_NOTIFICATIONS_READ, + TOGGLE_NOTIFICATION_READ, + VIEW_OLDER_NOTIFICATIONS_SUCCESS, + NOTIFICATIONS_PENDING +} from '../../../config/constants' +import _ from 'lodash' + + +const initialState = { + isLoading: false, + initialized: false, + filterBy: '', + sources: [{ id: 'global', title: 'Global', total: 0 }], + notifications: [], + // ids of sources that will also show old notifications + oldSourceIds: [], + pending: false +} + +// get sources from notifications +const getSources = (notifications) => { + const sources = [{ id: 'global', title: 'Global', total: 0 }] + _.each(notifications, notification => { + if (!notification.isRead) { + const source = _.find(sources, s => s.id === notification.sourceId) + if (source) { + source.total++ + } else { + sources.push({ id: notification.sourceId, title: notification.sourceName, total: 1 }) + } + } + }) + return sources +} + +export default (state = initialState, action) => { + switch (action.type) { + case GET_NOTIFICATIONS: + return { ...state, initialized: true, notifications: action.payload, sources: getSources(action.payload) } + + case SET_NOTIFICATIONS_FILTER_BY: + return {...state, + filterBy: action.payload + } + + case NOTIFICATIONS_PENDING: + return {...state, + pending: true + } + + case MARK_ALL_NOTIFICATIONS_READ: { + const newState = { + ...state, + pending: false, + notifications: state.notifications.map(n => ( + !action.payload || n.sourceId === action.payload ? { ...n, isRead: true } : n + )) + } + newState.sources = getSources(newState.notifications) + return newState + } + + case TOGGLE_NOTIFICATION_READ: { + const newState = { + ...state, + pending: false, + notifications: state.notifications.map(n => ( + n.id === action.payload ? { ...n, isRead: true } : n + )) + } + newState.sources = getSources(newState.notifications) + return newState + } + + case VIEW_OLDER_NOTIFICATIONS_SUCCESS: + return {...state, + oldSourceIds: [...state.oldSourceIds, action.payload] + } + + default: + return state + } +} diff --git a/src/routes/notifications/routes.jsx b/src/routes/notifications/routes.jsx new file mode 100644 index 000000000..84ae9a344 --- /dev/null +++ b/src/routes/notifications/routes.jsx @@ -0,0 +1,13 @@ +/** + * Notifications routes + */ +import React from 'react' +import { Route } from 'react-router-dom' +import { renderApp } from '../../components/App/App' +import TopBarContainer from '../../components/TopBar/TopBarContainer' +import NotificationsToolBar from './components/NotificationsToolBar' +import NotificationsContainer from './containers/NotificationsContainer' + +export default ( + , )} /> +) diff --git a/src/routes/notifications/services/notifications.js b/src/routes/notifications/services/notifications.js new file mode 100644 index 000000000..fa5eb4ecb --- /dev/null +++ b/src/routes/notifications/services/notifications.js @@ -0,0 +1,27 @@ +/** + * Mocked service for notifications + */ +import { axiosInstance as axios } from '../../../api/requestInterceptor' +import { TC_NOTIFICATION_URL } from '../../../../config/constants' +import { NOTIFICATIONS_LIMIT } from '../../../config/constants' +import { prepareNotifications } from '../helpers/notifications' + + +// the id can be either: null/undefined (mark all); notification id; or '-' separated ids, e.g. '123-456-789' +const markNotificationsRead = (id) => { + if (id) { + return axios.put(`${TC_NOTIFICATION_URL}/notifications/${id}/read`) + } else { + return axios.put(`${TC_NOTIFICATION_URL}/notifications/read`) + } +} + +const getNotifications = () => { + return axios.get(`${TC_NOTIFICATION_URL}/notifications?read=false&limit=${NOTIFICATIONS_LIMIT}`) + .then(resp => prepareNotifications(resp.data.items)) +} + +export default { + getNotifications, + markNotificationsRead +} diff --git a/src/routes/settings/actions/index.js b/src/routes/settings/actions/index.js new file mode 100644 index 000000000..d8d3cd06c --- /dev/null +++ b/src/routes/settings/actions/index.js @@ -0,0 +1,116 @@ +/** + * Settings related actions + */ +import { + CHECK_EMAIL_AVAILABILITY_PENDING, + CHECK_EMAIL_AVAILABILITY_SUCCESS, + CHECK_EMAIL_AVAILABILITY_FAILURE, + CHANGE_EMAIL_PENDING, + CHANGE_EMAIL_SUCCESS, + CHANGE_EMAIL_FAILURE, + CHANGE_PASSWORD_PENDING, + CHANGE_PASSWORD_SUCCESS, + CHANGE_PASSWORD_FAILURE, + GET_NOTIFICATION_SETTINGS_PENDING, + GET_NOTIFICATION_SETTINGS_SUCCESS, + GET_NOTIFICATION_SETTINGS_FAILURE, + SAVE_NOTIFICATION_SETTINGS_PENDING, + SAVE_NOTIFICATION_SETTINGS_SUCCESS, + SAVE_NOTIFICATION_SETTINGS_FAILURE +} from '../../../config/constants' +import settingsSerivce from '../services/settings' +import Alert from 'react-s-alert' + +export const checkEmailAvailability = (email) => (dispatch) => { + dispatch({ + type: CHECK_EMAIL_AVAILABILITY_PENDING, + payload: { email } + }) + + settingsSerivce.checkEmailAvailability(email).then(isEmailAvailable => { + dispatch({ + type: CHECK_EMAIL_AVAILABILITY_SUCCESS, + payload: { email, isEmailAvailable } + }) + }).catch(err => { + dispatch({ + type: CHECK_EMAIL_AVAILABILITY_FAILURE, + payload: { email, error: err.message } + }) + }) +} + +export const changeEmail = (newEmail) => (dispatch) => { + dispatch({ + type: CHANGE_EMAIL_PENDING + }) + + settingsSerivce.changeEmail(newEmail).then((changedEmail) => { + Alert.success('Email successfully changed.') + dispatch({ + type: CHANGE_EMAIL_SUCCESS, + payload: { email: changedEmail } + }) + }).catch(err => { + Alert.error(`Failed to change email. ${err.message}`) + dispatch({ + type: CHANGE_EMAIL_FAILURE + }) + }) +} + +export const changePassword = (newPassword) => (dispatch) => { + dispatch({ + type: CHANGE_PASSWORD_PENDING + }) + + settingsSerivce.changePassword(newPassword).then(() => { + Alert.success('Password successfully changed.') + dispatch({ + type: CHANGE_PASSWORD_SUCCESS + }) + }).catch(err => { + Alert.error(`Failed to change password. ${err.message}`) + dispatch({ + type: CHANGE_PASSWORD_FAILURE + }) + }) +} + +export const getNotificationSettings = () => (dispatch) => { + dispatch({ + type: GET_NOTIFICATION_SETTINGS_PENDING + }) + + settingsSerivce.getNotificationSettings().then(data => { + dispatch({ + type: GET_NOTIFICATION_SETTINGS_SUCCESS, + payload: { data } + }) + }).catch(err => { + Alert.error(`Failed to get notification settings. ${err.message}`) + dispatch({ + type: GET_NOTIFICATION_SETTINGS_FAILURE + }) + }) +} + +export const saveNotificationSettings = (data) => (dispatch) => { + dispatch({ + type: SAVE_NOTIFICATION_SETTINGS_PENDING + }) + + settingsSerivce.saveNotificationSettings(data).then(() => { + Alert.success('Settings successfully saved.') + dispatch({ + type: SAVE_NOTIFICATION_SETTINGS_SUCCESS, + payload: { data } + }) + }).catch(err => { + Alert.error(`Failed to save settings. ${err.message}`) + dispatch({ + type: SAVE_NOTIFICATION_SETTINGS_FAILURE, + payload: { data } + }) + }) +} diff --git a/src/routes/settings/components/SettingsPanel.jsx b/src/routes/settings/components/SettingsPanel.jsx new file mode 100644 index 000000000..8428b0ee5 --- /dev/null +++ b/src/routes/settings/components/SettingsPanel.jsx @@ -0,0 +1,28 @@ +/** + * Panel to display settings + * + * Can be wide or normal + */ +import React, { PropTypes } from 'react' +import cn from 'classnames' +import './SettingsPanel.scss' + +const SettingsPanel = (props) => ( +
    +
    +

    {props.title}

    +

    {props.text}

    +
    {props.children}
    +
    +
    +) + +SettingsPanel.propTypes = { + isWide: PropTypes.bool, + title: PropTypes.string.isRequired, + text: PropTypes.string.isRequired, + children: PropTypes.node, + onSaveClick: PropTypes.func +} + +export default SettingsPanel diff --git a/src/routes/settings/components/SettingsPanel.scss b/src/routes/settings/components/SettingsPanel.scss new file mode 100644 index 000000000..4003ebd0d --- /dev/null +++ b/src/routes/settings/components/SettingsPanel.scss @@ -0,0 +1,48 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.settings-panel { + margin: 20px auto 0; + padding: 0 20px; + min-width: 960px; + + > .inner { + background-color: $tc-white; + border-radius: 6px; + margin: 0 auto; + max-width: 720px; + padding: 50px 60px 40px; + + > .title { + @include roboto-light; + color: $tc-gray-50; + font-size: 28px; + line-height: 30px; + text-align: center; + } + + > .text { + @include roboto; + color: $tc-gray-50; + font-size: 15px; + line-height: 25px; + margin-top: 20px; + } + + > .content { + border-top: 1px solid $tc-gray-50; + margin-top: 30px; + } + } + + &.wide { + > .inner { + max-width: 960px; + + > .content { + border-top: 0; + margin-top: 0; + } + } + } +} diff --git a/src/routes/settings/components/SettingsToolBar.jsx b/src/routes/settings/components/SettingsToolBar.jsx new file mode 100644 index 000000000..a634d56e3 --- /dev/null +++ b/src/routes/settings/components/SettingsToolBar.jsx @@ -0,0 +1,19 @@ +/** + * Settings pages tool bar + */ +import React from 'react' +import { NavLink } from 'react-router-dom' +import SectionTopBar from '../../../components/TopBar/SectionToolBar' + +const SettingsToolBar = () => ( + Profile, + // System, + Notifications + ]} + /> +) + +export default SettingsToolBar diff --git a/src/routes/settings/reducers/index.js b/src/routes/settings/reducers/index.js new file mode 100644 index 000000000..580d78521 --- /dev/null +++ b/src/routes/settings/reducers/index.js @@ -0,0 +1,156 @@ +/** + * Settings related reducers + */ +import { + CHECK_EMAIL_AVAILABILITY_PENDING, + CHECK_EMAIL_AVAILABILITY_SUCCESS, + CHECK_EMAIL_AVAILABILITY_FAILURE, + CHANGE_EMAIL_PENDING, + CHANGE_EMAIL_SUCCESS, + CHANGE_EMAIL_FAILURE, + CHANGE_PASSWORD_PENDING, + CHANGE_PASSWORD_SUCCESS, + CHANGE_PASSWORD_FAILURE, + GET_NOTIFICATION_SETTINGS_PENDING, + GET_NOTIFICATION_SETTINGS_SUCCESS, + GET_NOTIFICATION_SETTINGS_FAILURE, + SAVE_NOTIFICATION_SETTINGS_PENDING, + SAVE_NOTIFICATION_SETTINGS_SUCCESS, + SAVE_NOTIFICATION_SETTINGS_FAILURE +} from '../../../config/constants' + +// TODO initial state with mocked data for demo should be removed +// once service and actions are implemented +const initialState = { + notifications: { + settings: null, + pending: false, + isLoading: true, + bundleEmail: '24h' + }, + system: { + email: 'p.monahan@incrediblereality.com' + }, + profile: { + username: 'pat_monahan', + photoSrc: 'https://topcoder-dev-media.s3.amazonaws.com/member/profile/cp-superstar-1473358622637.png', + firstname: 'Patrik', + lastname: 'Monahan', + company: 'Acme Corp.', + mobilephone1: '+1 (555) 555-3240', + mobilephone2: '+1 (555) 555-3240' + } +} + +export default (state = initialState, action) => { + switch (action.type) { + + case GET_NOTIFICATION_SETTINGS_PENDING: + return {...state, + notifications: {...state.notifications, + isLoading: true + } + } + + case GET_NOTIFICATION_SETTINGS_SUCCESS: + return {...state, + notifications: {...state.notifications, + settings: action.payload.data, + isLoading: false + } + } + + case GET_NOTIFICATION_SETTINGS_FAILURE: + return {...state, + notifications: {...state.notifications, + isLoading: false + } + } + + case SAVE_NOTIFICATION_SETTINGS_PENDING: + return {...state, + notifications: {...state.notifications, + pending: true + } + } + + case SAVE_NOTIFICATION_SETTINGS_SUCCESS: + case SAVE_NOTIFICATION_SETTINGS_FAILURE: + return {...state, + notifications: {...state.notifications, + settings: action.payload.data, + pending: false + } + } + + case CHECK_EMAIL_AVAILABILITY_PENDING: + return {...state, + system: {...state.system, + checkingEmail: action.payload.email, + checkedEmail: null, + isEmailAvailable: undefined, + checkingEmailError: null + } + } + + case CHECK_EMAIL_AVAILABILITY_SUCCESS: + return {...state, + // if we've got results for the email we were currently checking, then apply it + system: state.system.checkingEmail === action.payload.email ? {...state.system, + checkingEmail: null, + checkedEmail: action.payload.email, + isEmailAvailable: action.payload.isEmailAvailable + } : state.system + } + + case CHECK_EMAIL_AVAILABILITY_FAILURE: + return {...state, + // if we've got an error for the email we were currently checking, then clear checkingEmail + system: state.system.checkingEmail === action.payload.email ? {...state.system, + checkingEmail: null, + checkedEmail: action.payload.email, + checkingEmailError: action.payload.error + } : state.system + } + + case CHANGE_EMAIL_PENDING: + return {...state, + system: {...state.system, + isEmailChanging: true + } + } + + case CHANGE_EMAIL_SUCCESS: + return {...state, + system: {...state.system, + isEmailChanging: false, + email: action.payload.email + } + } + + case CHANGE_EMAIL_FAILURE: + return {...state, + system: {...state.system, + isEmailChanging: false + } + } + + case CHANGE_PASSWORD_PENDING: + return {...state, + system: {...state.system, + isPasswordChanging: true + } + } + + case CHANGE_PASSWORD_SUCCESS: + case CHANGE_PASSWORD_FAILURE: + return {...state, + system: {...state.system, + isPasswordChanging: false + } + } + + default: + return state + } +} diff --git a/src/routes/settings/routes.jsx b/src/routes/settings/routes.jsx new file mode 100644 index 000000000..1f56c3a39 --- /dev/null +++ b/src/routes/settings/routes.jsx @@ -0,0 +1,19 @@ +/** + * Settings routes + */ +import React from 'react' +import { Route, Switch } from 'react-router-dom' +import { renderApp } from '../../components/App/App' +import TopBarContainer from '../../components/TopBar/TopBarContainer' +import SettingsToolBar from './components/SettingsToolBar' +import NotificationSettingsContainer from './routes/notifications/containers/NotificationSettingsContainer' +// import SystemSettingsContainer from './routes/system/containers/SystemSettingsContainer' +// import ProfileSettingsContainer from './routes/profile/containers/ProfileSettingsContainer' + +export default ( + + {/*, )} />*/} + {/*, )} />*/} + , )} /> + +) diff --git a/src/routes/settings/routes/notifications/components/NotificationSettingsForm.jsx b/src/routes/settings/routes/notifications/components/NotificationSettingsForm.jsx new file mode 100644 index 000000000..92c0fb93c --- /dev/null +++ b/src/routes/settings/routes/notifications/components/NotificationSettingsForm.jsx @@ -0,0 +1,197 @@ +/** + * Notification settings form + */ +import React, { PropTypes } from 'react' +import { Formsy, SwitchButton } from 'appirio-tech-react-components' +import BtnGroup from '../../../../../components/BtnGroup/BtnGroup' +import iconWeb from '../../../../../assets/images/icon-web.png' +import './NotificationSettingsForm.scss' +import _ from 'lodash' + +// list of the notification groups and related event types +// TODO move it to constants and reuse the same list in services/settings.js +const topics = [ + { + title: 'New posts and replies', + types: [ + 'notifications.connect.project.topic.created', + 'notifications.connect.project.topic.deleted', + 'notifications.connect.project.post.created', + 'notifications.connect.project.post.edited', + 'notifications.connect.project.post.deleted' + ] + }, { + title: 'Project status changes', + types: [ + 'notifications.connect.project.created', + 'notifications.connect.project.updated', + 'notifications.connect.project.canceled', + 'notifications.connect.project.approved', + 'notifications.connect.project.paused', + 'notifications.connect.project.completed', + 'notifications.connect.project.submittedForReview' + ] + }, { + title: 'Project specification changes', + types: [ + 'notifications.connect.project.specificationModified' + ] + }, { + title: 'File uploads', + types: [ + 'notifications.connect.project.fileUploaded' + ] + }, { + title: 'New project links', + types: [ + 'notifications.connect.project.linkCreated' + ] + }, { + title: 'Team changes', + types: [ + 'notifications.connect.project.member.joined', + 'notifications.connect.project.member.left', + 'notifications.connect.project.member.removed', + 'notifications.connect.project.member.managerJoined', + 'notifications.connect.project.member.copilotJoined', + 'notifications.connect.project.member.assignedAsOwner' + ] + } +] + +/** + * Initialize settings + * + * as settings are not initialized by default on the server + * we probably get values not for all settings + * so we initialize them first + * by default we treat settings ENABLED + * + * @param {Object} settings not initialized + * + * @return {Object} initialized settings + */ +const initSettings = (notInitedSettings) => { + const settings = {...notInitedSettings} + const allTypes = _.flatten(_.map(topics, 'types')) + + allTypes.forEach((type) => { + if (!settings[type]) { + settings[type] = {} + } + + // check each of deliveryMethod method separately as some can have + // values and some don't have + ['web', 'email'].forEach((deliveryMethod) => { + if (_.isUndefined(settings[type][deliveryMethod])) { + settings[type][deliveryMethod] = 'yes' + } + }) + }) + + return settings +} + +class NotificationSettingsForm extends React.Component { + + constructor(props) { + super(props) + + this.state = { + settings: initSettings(props.values.settings) + } + + this.handleChange = this.handleChange.bind(this) + } + + handleChange(topicIndex, deliveryMethod) { + const s = { + settings: { + ...this.state.settings + } + } + + // update values for all types of the topic + topics[topicIndex].types.forEach((type) => { + s.settings[type][deliveryMethod] = s.settings[type][deliveryMethod] === 'yes' ? 'no' : 'yes' + }) + + this.setState(s) + } + + render() { + const areSettingsProvided = !!this.props.values.settings + const settings = this.state.settings + + // if settings weren't provided (not loaded) don't render anything + if (!areSettingsProvided) { + return null + } + + return ( + this.props.onSubmit(this.state.settings)} + > + + + + + + {/* as email notification currently not supported, hide them for now */} + {/**/} + + + + {_.map(topics, (topic, index) => { + // we toggle settings for all the types in one topic all together + // so we can use values from the first type to get current value for the whole topic + const topicFirstType = topic.types[0] + return ( + + + + {/* as email notification currently not supported, hide them for now */} + {/**/} + + ) + })} + + { false && + + + } + +
    NotificationsWebEmail
    {topic.title} this.handleChange(index, 'web')} defaultChecked={settings[topicFirstType] && settings[topicFirstType].web === 'yes'} /> this.handleChange(topic, 'email')} defaultChecked={settings[topic] && settings[topic].email === 'yes'} />
    +
    +
    Bundle emails:
    + +
    +
    + + + +
    + +
    +
    + ) + } +} + +NotificationSettingsForm.propTypes = { + values: PropTypes.object.isRequired, + onSubmit: PropTypes.func.isRequired +} + +export default NotificationSettingsForm diff --git a/src/routes/settings/routes/notifications/components/NotificationSettingsForm.scss b/src/routes/settings/routes/notifications/components/NotificationSettingsForm.scss new file mode 100644 index 000000000..d3090ab98 --- /dev/null +++ b/src/routes/settings/routes/notifications/components/NotificationSettingsForm.scss @@ -0,0 +1,135 @@ + // this is to include tc styles in the output library +@import 'tc-includes'; + +.notification-settings-form { + > .table { + margin-top: 22px; + width: 100%; + + td { + padding: 0; + text-align: left; + vertical-align: top; + } + + tr > th, + tr .th { + @include roboto; + color: $tc-gray-80; + font-size: 15px; + line-height: 25px; + text-align: left; + padding: 0; + vertical-align: top; + } + + tbody > tr { + border-top: 1px dashed $tc-gray-30; + + > th { + padding: 20px 0; + } + + > td { + padding: 22.5px 0; + } + } + + thead > tr { + border-bottom: 1px solid $tc-gray-50; + + > th { + padding-bottom: 11px; + } + + > th:last-child { + width: 90px; + } + + > th:nth-child(2) { + width: 170px; + } + + > th:first-child { + font-size: 20px; + } + } + + tbody > tr:last-child { + border-bottom: 1px solid $tc-gray-50; + } + + .fixed-value { + @include roboto-medium; + background-color: $tc-gray-40; + border-radius: 10px; + display: inline-block; + color: $tc-white; + font-size: 11px; + height: 20px; + line-height: 20px; + padding: 0 10px; + } + + .th-with-icon { + display: inline-block; + + > img, + > span { + display: inline-block; + vertical-align: middle; + } + + > span { + margin-left: 10px; + } + } + + .none { + background-color: $tc-gray-40; + display: inline-block; + height: 2px; + margin-top: 9px; + width: 21px; + } + + .bundle-emails { + align-items: center; + display: flex; + justify-content: space-between; + margin: -3px 0; + } + + .SwitchButton label { + margin-top: 0; + } + + .SwitchButton .label { + display: none; + } + } + + > .controls { + margin-top: 10px; + text-align: center; + } + + > .email-settings { + @include roboto; + margin: 20px 0; + + a { + text-decoration: underline; + } + // Link colors + a:link, + a:visited { + color: $tc-dark-blue; + } + + a:hover, + a:active { + color: $tc-dark-blue-70; + } + } +} diff --git a/src/routes/settings/routes/notifications/containers/NotificationSettingsContainer.jsx b/src/routes/settings/routes/notifications/containers/NotificationSettingsContainer.jsx new file mode 100644 index 000000000..fb73f1d18 --- /dev/null +++ b/src/routes/settings/routes/notifications/containers/NotificationSettingsContainer.jsx @@ -0,0 +1,54 @@ +/** + * Container for notification settings + */ +import React, { PropTypes } from 'react' +import { connect } from 'react-redux' +import NotificationSettingsForm from '../components/NotificationSettingsForm' +import SettingsPanel from '../../../components/SettingsPanel' +import { requiresAuthentication } from '../../../../../components/AuthenticatedComponent' +import { getNotificationSettings, saveNotificationSettings } from '../../../actions' +import spinnerWhileLoading from '../../../../../components/LoadingSpinner' + +// show loader instead of form when settings are being loaded +const enhance = spinnerWhileLoading(props => !props.values.isLoading) +const NotificationSettingsFormWithLoader = enhance(NotificationSettingsForm) + +class NotificationSettingsContainer extends React.Component { + componentDidMount() { + this.props.getNotificationSettings() + } + + render() { + const { notificationSettings, saveNotificationSettings } = this.props + + return ( + + + + ) + } +} + +NotificationSettingsContainer.propTypes = { + notificationSettings: PropTypes.object.isRequired, + getNotificationSettings: PropTypes.func.isRequired, + saveNotificationSettings: PropTypes.func.isRequired +} + +const NotificationSettingsContainerWithAuth = requiresAuthentication(NotificationSettingsContainer) + +const mapStateToProps = ({ settings }) => ({ + notificationSettings: settings.notifications +}) + +const mapDispatchToProps = { + getNotificationSettings, + saveNotificationSettings +} + +export default connect(mapStateToProps, mapDispatchToProps)(NotificationSettingsContainerWithAuth) diff --git a/src/routes/settings/routes/profile/components/ProfileSeetingsAvatar.jsx b/src/routes/settings/routes/profile/components/ProfileSeetingsAvatar.jsx new file mode 100644 index 000000000..25e46c8f6 --- /dev/null +++ b/src/routes/settings/routes/profile/components/ProfileSeetingsAvatar.jsx @@ -0,0 +1,59 @@ +/** + * Profile avatar settings + */ +import React, { PropTypes } from 'react' +import FileBtn from '../../../../../components/FileBtn/FileBtn' +import Alert from 'react-s-alert' +import './ProfileSeetingsAvatar.scss' + +class ProfileSeetingsAvatar extends React.Component { + constructor(props) { + super(props) + + this.state = { + photoSrc: props.defaultPhotoSrc + } + + this.onFileChange = this.onFileChange.bind(this) + } + + onFileChange(evt) { + if (evt.target.files && evt.target.files.length > 0) { + const file = evt.target.files[0] + + // for browsers which don't restrict file type by accept param + if (!file.type.match(/image\/*/)) { + Alert.error('Please, choose an image of type jpeg or png.') + return + } + + const reader = new FileReader() + + reader.onload = (e) => { + this.setState({ photoSrc: e.target.result }) + } + + reader.readAsDataURL(file) + } + } + + render() { + const { photoSrc } = this.state + + return ( +
    +
    Your Avatar
    + +
    + +
    +
    + ) + } +} + +ProfileSeetingsAvatar.propTypes = { + defaultPhotoSrc: PropTypes.string +} + +export default ProfileSeetingsAvatar diff --git a/src/routes/settings/routes/profile/components/ProfileSeetingsAvatar.scss b/src/routes/settings/routes/profile/components/ProfileSeetingsAvatar.scss new file mode 100644 index 000000000..2fad2f3b4 --- /dev/null +++ b/src/routes/settings/routes/profile/components/ProfileSeetingsAvatar.scss @@ -0,0 +1,28 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.profile-settings-avatar { + padding-bottom: 27px; + text-align: center; + + > .label { + @include roboto; + color: $tc-gray-70; + font-size: 13px; + line-height: 20px; + text-align: center; + } + + > .photo { + box-sizing: content-box; + border: 2px solid $tc-gray-50; + border-radius: 50%; + height: 120px; + margin-top: 10px; + width: 120px; + } + + > .controls { + margin-top: 15px; + } +} diff --git a/src/routes/settings/routes/profile/components/ProfileSettingsForm.jsx b/src/routes/settings/routes/profile/components/ProfileSettingsForm.jsx new file mode 100644 index 000000000..93e7c0347 --- /dev/null +++ b/src/routes/settings/routes/profile/components/ProfileSettingsForm.jsx @@ -0,0 +1,67 @@ +/** + * Profile settings form + */ +import React, { PropTypes } from 'react' +import { Formsy, TCFormFields } from 'appirio-tech-react-components' +import SVGIconImage from '../../../../../components/SVGIconImage' +import TextInputWithCounter from '../../../../../components/TextInputWithCounter/TextInputWithCounter' +import ProfileSeetingsAvatar from './ProfileSeetingsAvatar' +import { MAX_USERNAME_LENGTH } from '../../../../../config/constants' +import './ProfileSettingsForm.scss' + +const ProfileSettingsForm = (props) => { + const { username, photoSrc, firstname, lastname, company, mobilephone1, mobilephone2 } = props + + return ( + + + +
    +
    +
    + +
    +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    +
    + ) +} + +ProfileSettingsForm.propTypes = { + username: PropTypes.string, + photoSrc: PropTypes.string, + firstname: PropTypes.string, + lastname: PropTypes.string, + company: PropTypes.string, + mobilephone1: PropTypes.string, + mobilephone2: PropTypes.string, + onSubmit: PropTypes.func +} + +export default ProfileSettingsForm diff --git a/src/routes/settings/routes/profile/components/ProfileSettingsForm.scss b/src/routes/settings/routes/profile/components/ProfileSettingsForm.scss new file mode 100644 index 000000000..8c4ccaf0d --- /dev/null +++ b/src/routes/settings/routes/profile/components/ProfileSettingsForm.scss @@ -0,0 +1,44 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.profile-settings-form { + margin: 18px auto 0; + width: 452px; + + > .field { + &:not(:first-child) { + margin-top: 32px; + } + } + + .username { + position: relative; + + > .username-icon { + bottom: 13px; + content: ''; + display: block; + left: 12px; + pointer-events: none; + position: absolute; + z-index: 1; + + > svg { + display: block; + } + + > svg > path { + fill: $tc-gray-30; + } + } + + input { + padding-left: 36px; + } + } + + > .controls { + margin-top: 30px; + text-align: center; + } +} diff --git a/src/routes/settings/routes/profile/containers/ProfileSettingsContainer.jsx b/src/routes/settings/routes/profile/containers/ProfileSettingsContainer.jsx new file mode 100644 index 000000000..6cd1ea274 --- /dev/null +++ b/src/routes/settings/routes/profile/containers/ProfileSettingsContainer.jsx @@ -0,0 +1,34 @@ +/** + * Container for profile settings + */ +import React, { PropTypes } from 'react' +import { connect } from 'react-redux' +import ProfileSettingsForm from '../components/ProfileSettingsForm' +import SettingsPanel from '../../../components/SettingsPanel' +import { requiresAuthentication } from '../../../../../components/AuthenticatedComponent' + +const ProfileSettingsContainer = (props) => { + const { profileSettings } = props + + return ( + + + + ) +} + +ProfileSettingsContainer.propTypes = { + profileSettings: PropTypes.object.isRequired +} + +const ProfileSettingsContainerWithAuth = requiresAuthentication(ProfileSettingsContainer) + +const mapStateToProps = ({ settings }) => ({ + profileSettings: settings.profile +}) + +export default connect(mapStateToProps)(ProfileSettingsContainerWithAuth) diff --git a/src/routes/settings/routes/system/components/ChangeEmailForm.jsx b/src/routes/settings/routes/system/components/ChangeEmailForm.jsx new file mode 100644 index 000000000..bf1752cb1 --- /dev/null +++ b/src/routes/settings/routes/system/components/ChangeEmailForm.jsx @@ -0,0 +1,134 @@ +/** + * Change email form + * + * - Validates form client side + * - Validates email server side (check if available) + * - Doesn't validate server side initially inputted email + */ +import React, { PropTypes } from 'react' +import _ from 'lodash' +import LoadingIndicator from '../../../../../components/LoadingIndicator/LoadingIndicator' +import SVGIconImage from '../../../../../components/SVGIconImage' +import { EMAIL_AVAILABILITY_CHECK_DEBOUNCE } from '../../../../../config/constants' +import { Formsy, TCFormFields } from 'appirio-tech-react-components' +import './ChangeEmailForm.scss' + +class ChangeEmailForm extends React.Component { + constructor(props) { + super(props) + + this.state = { + isValid: true, + currentEmail: this.props.email + } + + this.onValid = this.onValid.bind(this) + this.onInvalid = this.onInvalid.bind(this) + this.onChange = this.onChange.bind(this) + + // debounced checkEmailAvailability function to prevent polluting server with requests + this.debouncedAvailabilityCheck = _.debounce(this.checkEmailAvailability, EMAIL_AVAILABILITY_CHECK_DEBOUNCE) + } + + componentWillReceiveProps(nextProps) { + // when form ref is available + // and there is no client side validation errors + // we will check if have to show email availability error + if (this.formRef && this.state.isValid) { + const isCurrentEmailChacked = nextProps.checkedEmail === this.state.currentEmail + const currentEmailCheckingError = nextProps.checkedEmail === this.state.currentEmail && nextProps.checkingEmailError + + if (isCurrentEmailChacked && !nextProps.isEmailAvailable) { + this.formRef.updateInputsWithError({ + email: currentEmailCheckingError ? currentEmailCheckingError : 'This email is taken' + }) + } else { + this.formRef.updateInputsWithError({}) + } + } + } + + checkEmailAvailability() { + this.props.checkEmailAvailability(this.state.currentEmail) + } + + onValid() { + // if we haven't changed email, then don't check it + if (this.state.currentEmail !== this.props.email) { + this.debouncedAvailabilityCheck() + } else { + // cancel availability check if current email hasn't been changed + this.debouncedAvailabilityCheck.cancel() + } + this.setState({ isValid: true }) + } + + onInvalid() { + // cancel availability checking if current email has client side validation errors + this.debouncedAvailabilityCheck.cancel() + this.setState({ isValid: false }) + } + + onChange(data) { + this.setState({ currentEmail: data.email }) + // clear all server validation errors when email is changed + this.formRef && this.formRef.updateInputsWithError({}) + } + + render() { + const { email: initialEmail, onSubmit, checkingEmail, checkedEmail, isEmailAvailable, isEmailChanging } = this.props + const { currentEmail, isValid } = this.state + const currentEmailAvailable = checkedEmail === currentEmail && isEmailAvailable + const isCheckingCurrentEmail = checkingEmail === currentEmail + const isEmailChanged = initialEmail !== currentEmail + const isDisabledSubmit = !isValid || !currentEmailAvailable || !isEmailChanged || isEmailChanging + + return ( + this.formRef = ref} + > +
    + +
    + {isCheckingCurrentEmail && } + {isEmailChanged && currentEmailAvailable && } +
    +
    +
    + +
    +
    + ) + } +} + +ChangeEmailForm.propTypes = { + email: PropTypes.string, + onSubmit: PropTypes.func.isRequired, + checkingEmail: PropTypes.string, + checkedEmail: PropTypes.string, + checkingEmailError: PropTypes.string, + isEmailAvailable: PropTypes.bool, + isEmailChanging: PropTypes.bool +} + +export default ChangeEmailForm diff --git a/src/routes/settings/routes/system/components/ChangeEmailForm.scss b/src/routes/settings/routes/system/components/ChangeEmailForm.scss new file mode 100644 index 000000000..cff61d03a --- /dev/null +++ b/src/routes/settings/routes/system/components/ChangeEmailForm.scss @@ -0,0 +1,29 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.change-email-form { + > .field { + position: relative; + + > .field-status { + bottom: 4px; + height: 32px; + position: absolute; + right: -34px; + width: 32px; + + > svg { + margin: 8px 0 0 8px; + + > polygon { + fill: $tc-green-70 + } + } + } + } + + > .controls { + margin-top: 10px; + text-align: center; + } +} diff --git a/src/routes/settings/routes/system/components/ChangePasswordForm.jsx b/src/routes/settings/routes/system/components/ChangePasswordForm.jsx new file mode 100644 index 000000000..2f88018e3 --- /dev/null +++ b/src/routes/settings/routes/system/components/ChangePasswordForm.jsx @@ -0,0 +1,75 @@ +/** + * Change password form + * + * - Validates form client side + */ +import React, { PropTypes } from 'react' +import { PASSWORD_MIN_LENGTH, PASSWORD_REG_EXP } from '../../../../../config/constants' +import { Formsy, TCFormFields } from 'appirio-tech-react-components' +import './ChangePasswordForm.scss' + +class ChangePasswordForm extends React.Component { + constructor() { + super() + + this.state = { + isValid: true + } + + this.onValid = this.onValid.bind(this) + this.onInvalid = this.onInvalid.bind(this) + } + + onValid() { + this.setState({ isValid: true }) + } + + onInvalid() { + this.setState({ isValid: false }) + } + + render() { + const { onSubmit, isPasswordChanging } = this.props + const { isValid } = this.state + const isDisabledSubmit = !isValid || isPasswordChanging + + return ( + + + +
    + +
    +
    + ) + } +} + +ChangePasswordForm.propTypes = { + onSubmit: PropTypes.func.isRequired, + isPasswordChanging: PropTypes.bool +} + +export default ChangePasswordForm diff --git a/src/routes/settings/routes/system/components/ChangePasswordForm.scss b/src/routes/settings/routes/system/components/ChangePasswordForm.scss new file mode 100644 index 000000000..f97fdc99f --- /dev/null +++ b/src/routes/settings/routes/system/components/ChangePasswordForm.scss @@ -0,0 +1,9 @@ +// this is to include tc styles in the output library +@import 'tc-includes'; + +.change-password-form { + > .controls { + margin-top: 10px; + text-align: center; + } +} diff --git a/src/routes/settings/routes/system/containers/SystemSettingsContainer.jsx b/src/routes/settings/routes/system/containers/SystemSettingsContainer.jsx new file mode 100644 index 000000000..d54fac75d --- /dev/null +++ b/src/routes/settings/routes/system/containers/SystemSettingsContainer.jsx @@ -0,0 +1,63 @@ +/** + * Container for system settings + */ +import React, { PropTypes } from 'react' + +import { connect } from 'react-redux' +import SettingsPanel from '../../../components/SettingsPanel' +import ChangeEmailForm from '../components/ChangeEmailForm' +import ChangePasswordForm from '../components/ChangePasswordForm' +import { checkEmailAvailability, changeEmail, changePassword } from '../../../actions' +import { requiresAuthentication } from '../../../../../components/AuthenticatedComponent' +import './SystemSettingsContainer.scss' + +const SystemSettingsContainer = (props) => { + const { systemSettings, checkEmailAvailability, changeEmail, changePassword } = props + + return ( + +
    +
    + changePassword(data.password)} + {...systemSettings} + /> +
    + +
    + changeEmail(data.email)} + {...systemSettings} + /> +
    + +
    + +
    +
    +
    + ) +} + +SystemSettingsContainer.propTypes = { + systemSettings: PropTypes.object.isRequired +} + +const SystemSettingsContainerWithAuth = requiresAuthentication(SystemSettingsContainer) + +const mapStateToProps = ({ settings }) => ({ + systemSettings: settings.system +}) + +const mapDispatchToProps = { + checkEmailAvailability, + changeEmail, + changePassword +} + +export default connect(mapStateToProps, mapDispatchToProps)(SystemSettingsContainerWithAuth) diff --git a/src/routes/settings/routes/system/containers/SystemSettingsContainer.scss b/src/routes/settings/routes/system/containers/SystemSettingsContainer.scss new file mode 100644 index 000000000..8a984bd66 --- /dev/null +++ b/src/routes/settings/routes/system/containers/SystemSettingsContainer.scss @@ -0,0 +1,13 @@ +.system-settings-container { + margin: 42px auto 0; + width: 452px; + + > .controls { + margin-top: 30px; + text-align: center; + } + + > .form:not(:first-child) { + margin-top: 33px; + } +} diff --git a/src/routes/settings/services/settings.js b/src/routes/settings/services/settings.js new file mode 100644 index 000000000..dbce193d4 --- /dev/null +++ b/src/routes/settings/services/settings.js @@ -0,0 +1,112 @@ +/** + * Mocked service for settings + * + * TODO has to be replaced with the real service + */ +import _ from 'lodash' +import { axiosInstance as axios } from '../../../api/requestInterceptor' +import { TC_NOTIFICATION_URL } from '../../../../config/constants' + +// mocked fetching timeout +const mockedTimeout = 1000 + +const mockedFetch = (errorMessage, data) => new Promise((resolve, reject) => { + setTimeout(() => { + if (errorMessage) { + reject(new Error(errorMessage)) + } else { + resolve(data) + } + }, mockedTimeout) +}) + +const checkEmailAvailability = (email) => { + // for demo we only treat these emails as available + const isAvailable = ['p.monahan@incrediblereality.com', 'good@test.com', 'bad@test.com'].indexOf(email) > -1 + let mockedResponse + + // for demo throw error when email like this + if (email === 'error@test.com') { + mockedResponse = mockedFetch('This is mocked request error when email "error@test.com" is entered.') + } else { + mockedResponse = mockedFetch(null, isAvailable) + } + + return mockedResponse +} + +const changeEmail = (email) => { + let mockedResponse + + // for demo throw error when email like this + if (email === 'bad@test.com') { + mockedResponse = mockedFetch('This is mocked request error when email is changed to "bad@test.com".') + } else { + mockedResponse = mockedFetch(null, email) + } + + return mockedResponse +} + +const changePassword = (password) => { + let mockedResponse + + // for demo throw error when password like this + if (password === 'fake-password') { + mockedResponse = mockedFetch('This is mocked request error when password is changed to "fake-password".') + } else { + mockedResponse = mockedFetch(null) + } + + return mockedResponse +} + +const getNotificationSettings = () => { + return axios.get(`${TC_NOTIFICATION_URL}/notificationsettings`) + .then(resp => resp.data) +} + +// TODO move this list to constants together with the same list in NotificationSettingsForm.jsx +const topics = [ + 'notifications.connect.project.created', + 'notifications.connect.project.updated', + 'notifications.connect.project.canceled', + 'notifications.connect.project.approved', + 'notifications.connect.project.paused', + 'notifications.connect.project.completed', + 'notifications.connect.project.submittedForReview', + + 'notifications.connect.project.fileUploaded', + 'notifications.connect.project.specificationModified', + 'notifications.connect.project.linkCreated', + + 'notifications.connect.project.member.joined', + 'notifications.connect.project.member.left', + 'notifications.connect.project.member.removed', + 'notifications.connect.project.member.managerJoined', + 'notifications.connect.project.member.copilotJoined', + 'notifications.connect.project.member.assignedAsOwner', + + 'notifications.connect.project.topic.created', + 'notifications.connect.project.topic.deleted', + 'notifications.connect.project.post.created', + 'notifications.connect.project.post.edited', + 'notifications.connect.project.post.deleted' +] + +const saveNotificationSettings = (data) => { + const body = [] + _.each(topics, (topic) => { + body.push({ topic, deliveryMethod: 'email', value: data[topic] && data[topic].email === 'yes' ? 'yes' : 'no' }) + body.push({ topic, deliveryMethod: 'web', value: data[topic] && data[topic].web === 'yes' ? 'yes' : 'no' }) + }) + return axios.put(`${TC_NOTIFICATION_URL}/notificationsettings`, body) +} + +export default { + checkEmailAvailability, + changeEmail, + changePassword, + getNotificationSettings, + saveNotificationSettings +} diff --git a/src/styles/main.scss b/src/styles/main.scss index 361fff1d6..aac4bc779 100644 --- a/src/styles/main.scss +++ b/src/styles/main.scss @@ -1,17 +1,15 @@ @import 'tc-styles'; - // This is the partial where we load all the Roboto fonts for Webpack @import 'fonts'; -// Make the fonts render properly; under Chrome & Firefox Roboto render really -// bad, so we have to force geometricPrecision. - -html, body { @include roboto; font-size: $tc-body-md; line-height: 5 * $base-unit; + // Better typography text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; box-sizing: border-box; + // Prevenet jumping of elements, force scrollbar always-on + overflow-y: scroll; }