From 4ef129ffe21c6bfd81b86ab2793d4e7241b5a8e4 Mon Sep 17 00:00:00 2001 From: nada Date: Thu, 19 Nov 2020 20:38:49 -0500 Subject: [PATCH 001/149] Working skeleton blocks + Magenta import --- packages/scratch-gui/package-lock.json | 882 ------------ .../src/lib/libraries/extensions/index.jsx | 113 ++ .../musicAccompaniment-small.svg | 1 + .../musicAccompaniment/musicAccompaniment.png | Bin 0 -> 52953 bytes .../musicCreation/musicCreation-small.svg | 1 + .../musicCreation/musicCreation.png | Bin 0 -> 52953 bytes .../signalAnalysis/signalAnalysis-small.svg | 1 + .../signalAnalysis/signalAnalysis.png | Bin 0 -> 52953 bytes .../signalControl/signalControl-small.svg | 1 + .../signalControl/signalControl.png | Bin 0 -> 52953 bytes .../extensions/signalViz/signalViz-small.svg | 1 + .../extensions/signalViz/signalViz.png | Bin 0 -> 52953 bytes packages/scratch-render/package-lock.json | 619 --------- packages/scratch-vm/package-lock.json | 1233 +++++++++++------ packages/scratch-vm/package.json | 1 + .../extension-support/extension-manager.js | 8 +- .../scratch3_musicaccompaniment/index.js | 96 ++ .../scratch3_musiccreation/index.js | 162 +++ .../scratch3_signalanalysis/index.js | 83 ++ .../scratch3_signalcontrol/index.js | 142 ++ .../extensions/scratch3_signalviz/index.js | 87 ++ 21 files changed, 1468 insertions(+), 1963 deletions(-) create mode 100644 packages/scratch-gui/src/lib/libraries/extensions/musicAccompaniment/musicAccompaniment-small.svg create mode 100644 packages/scratch-gui/src/lib/libraries/extensions/musicAccompaniment/musicAccompaniment.png create mode 100644 packages/scratch-gui/src/lib/libraries/extensions/musicCreation/musicCreation-small.svg create mode 100644 packages/scratch-gui/src/lib/libraries/extensions/musicCreation/musicCreation.png create mode 100644 packages/scratch-gui/src/lib/libraries/extensions/signalAnalysis/signalAnalysis-small.svg create mode 100644 packages/scratch-gui/src/lib/libraries/extensions/signalAnalysis/signalAnalysis.png create mode 100644 packages/scratch-gui/src/lib/libraries/extensions/signalControl/signalControl-small.svg create mode 100644 packages/scratch-gui/src/lib/libraries/extensions/signalControl/signalControl.png create mode 100644 packages/scratch-gui/src/lib/libraries/extensions/signalViz/signalViz-small.svg create mode 100644 packages/scratch-gui/src/lib/libraries/extensions/signalViz/signalViz.png create mode 100644 packages/scratch-vm/src/extensions/scratch3_musicaccompaniment/index.js create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js create mode 100644 packages/scratch-vm/src/extensions/scratch3_signalanalysis/index.js create mode 100644 packages/scratch-vm/src/extensions/scratch3_signalcontrol/index.js create mode 100644 packages/scratch-vm/src/extensions/scratch3_signalviz/index.js diff --git a/packages/scratch-gui/package-lock.json b/packages/scratch-gui/package-lock.json index 2966ff04b..ece23d525 100644 --- a/packages/scratch-gui/package-lock.json +++ b/packages/scratch-gui/package-lock.json @@ -1082,12 +1082,6 @@ } } }, - "@vernier/godirect": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@vernier/godirect/-/godirect-1.5.0.tgz", - "integrity": "sha512-vMS0fQubI3WSSLg1Ry3aey/qWCl9XoCsFzgwOWYkeJs45YxjPel+42pLh5pO7uP6oF47sjZUKx8kGOoTiiiirA==", - "dev": true - }, "@webassemblyjs/ast": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", @@ -1321,12 +1315,6 @@ "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==", "dev": true }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, "airbnb-prop-types": { "version": "2.15.0", "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.15.0.tgz", @@ -1556,12 +1544,6 @@ "loader-utils": "^1.1.0" } }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true - }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -2076,12 +2058,6 @@ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -2143,12 +2119,6 @@ } } }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, "base64-js": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", @@ -2176,15 +2146,6 @@ "tweetnacl": "^0.14.3" } }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "dev": true, - "requires": { - "callsite": "1.0.0" - } - }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -2197,22 +2158,6 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true - }, "bluebird": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz", @@ -2322,18 +2267,6 @@ } } }, - "brfs": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", - "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", - "dev": true, - "requires": { - "quote-stream": "^1.0.1", - "resolve": "^1.1.5", - "static-module": "^2.2.0", - "through2": "^2.0.0" - } - }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", @@ -2454,12 +2387,6 @@ "node-int64": "^0.4.0" } }, - "btoa": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", - "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", - "dev": true - }, "buffer": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", @@ -2471,12 +2398,6 @@ "isarray": "^1.0.0" } }, - "buffer-equal": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", - "dev": true - }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -2577,12 +2498,6 @@ "caller-callsite": "^2.0.0" } }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -2611,12 +2526,6 @@ "integrity": "sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg==", "dev": true }, - "canvas-toBlob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canvas-toBlob/-/canvas-toBlob-1.0.0.tgz", - "integrity": "sha1-m/MrKGu04SUhiyCO7MgyH9Az5sM=", - "dev": true - }, "capture-exit": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", @@ -2861,12 +2770,6 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", - "dev": true - }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -2888,24 +2791,12 @@ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true - }, "compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -3486,12 +3377,6 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, - "decode-html": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decode-html/-/decode-html-2.0.0.tgz", - "integrity": "sha1-fQqIfORCgOYJeKcH67f4CB/WHqo=", - "dev": true - }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", @@ -3704,12 +3589,6 @@ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true }, - "diff-match-patch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.4.tgz", - "integrity": "sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg==", - "dev": true - }, "diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", @@ -3835,15 +3714,6 @@ "domelementtype": "1" } }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, "duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", @@ -3929,55 +3799,6 @@ "once": "^1.4.0" } }, - "engine.io-client": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz", - "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~3.3.1", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", - "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", - "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } - }, "enhanced-resolve": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", @@ -4106,12 +3927,6 @@ "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=", "dev": true }, - "es6-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", - "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", - "dev": true - }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -4882,32 +4697,6 @@ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, - "falafel": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", - "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", - "dev": true, - "requires": { - "acorn": "^5.0.0", - "foreach": "^2.0.5", - "isarray": "0.0.1", - "object-keys": "^1.0.6" - }, - "dependencies": { - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - } - } - }, "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", @@ -5096,24 +4885,6 @@ "locate-path": "^3.0.0" } }, - "findup": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/findup/-/findup-0.1.5.tgz", - "integrity": "sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=", - "dev": true, - "requires": { - "colors": "~0.6.0-1", - "commander": "~2.1.0" - }, - "dependencies": { - "commander": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz", - "integrity": "sha1-0SG7roYNmZKj1Re6lvVliOR8Z4E=", - "dev": true - } - } - }, "findup-sync": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", @@ -5214,12 +4985,6 @@ "for-in": "^1.0.1" } }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -5237,40 +5002,6 @@ "mime-types": "^2.1.12" } }, - "format-message": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.1.tgz", - "integrity": "sha512-6gBXI+MOE9pu9QNeZf95V87GKYiLCdUvhisjts75xonaPAshtBu20NTZt2l8kbYcoMtxNyH9E9af+aieIRfVmw==", - "dev": true, - "requires": { - "format-message-formats": "^6.2.0", - "format-message-interpret": "^6.2.0", - "format-message-parse": "^6.2.0", - "lookup-closest-locale": "^6.2.0" - } - }, - "format-message-formats": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", - "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==", - "dev": true - }, - "format-message-interpret": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.3.tgz", - "integrity": "sha512-OoOdB5yHLzW89RwDQW4fj+8p2Eay9Dtmx4B7Tz8C/QQl/j+aVjy65A5xasQhQD+4JumYU/OxMBdjYzBSR8+ivA==", - "dev": true, - "requires": { - "format-message-formats": "^6.2.0", - "lookup-closest-locale": "^6.2.0" - } - }, - "format-message-parse": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.3.tgz", - "integrity": "sha512-ZSL3nZ0zaDktDAGwkoGJ439rS9ZfTcMOrWAVav9BOAoKs0qE2Ozal2H6vVJOuIdDhwaJuFqvJ7fdRSE+qR5oNg==", - "dev": true - }, "forwarded": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", @@ -5302,15 +5033,6 @@ "readable-stream": "^2.0.0" } }, - "from2-array": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/from2-array/-/from2-array-0.0.4.tgz", - "integrity": "sha1-6vwWtl9uJxm81X/cGGkAWsEzLNY=", - "dev": true, - "requires": { - "from2": "^2.0.3" - } - }, "fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -6215,16 +5937,6 @@ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", "dev": true }, - "grapheme-breaker": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz", - "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=", - "dev": true, - "requires": { - "brfs": "^1.2.0", - "unicode-trie": "^0.3.1" - } - }, "growl": { "version": "1.10.3", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", @@ -6297,29 +6009,6 @@ "ansi-regex": "^2.0.0" } }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -6641,12 +6330,6 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, - "hull.js": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/hull.js/-/hull.js-0.2.10.tgz", - "integrity": "sha1-LT44P26Hk9TsdDVakrfaLrit41s=", - "dev": true - }, "hyphenate-style-name": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz", @@ -6708,21 +6391,6 @@ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true }, - "ify-loader": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ify-loader/-/ify-loader-1.0.4.tgz", - "integrity": "sha1-fpGe6A3RBYv9Q508GPY8CKixayo=", - "dev": true, - "requires": { - "bl": "^1.0.0", - "findup": "^0.1.5", - "from2-array": "0.0.4", - "map-limit": "0.0.1", - "multipipe": "^0.3.0", - "read-package-json": "^2.0.2", - "resolve": "^1.1.6" - } - }, "ignore": { "version": "3.3.10", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", @@ -6838,12 +6506,6 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", @@ -8620,25 +8282,6 @@ "immediate": "~3.0.5" } }, - "linebreak": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-0.3.0.tgz", - "integrity": "sha1-BSZICmLAW9Z58+nZmDDgnGp9DtY=", - "dev": true, - "requires": { - "base64-js": "0.0.8", - "brfs": "^1.3.0", - "unicode-trie": "^0.3.0" - }, - "dependencies": { - "base64-js": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", - "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=", - "dev": true - } - } - }, "load-img": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/load-img/-/load-img-1.0.0.tgz", @@ -8802,12 +8445,6 @@ "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==", "dev": true }, - "lookup-closest-locale": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", - "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==", - "dev": true - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -8833,15 +8470,6 @@ "yallist": "^2.1.2" } }, - "magic-string": { - "version": "0.22.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", - "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", - "dev": true, - "requires": { - "vlq": "^0.2.2" - } - }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -8882,26 +8510,6 @@ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, - "map-limit": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", - "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", - "dev": true, - "requires": { - "once": "~1.3.0" - }, - "dependencies": { - "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "dev": true, - "requires": { - "wrappy": "1" - } - } - } - }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -8970,15 +8578,6 @@ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, - "merge-source-map": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", - "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", - "dev": true, - "requires": { - "source-map": "^0.5.6" - } - }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -9272,15 +8871,6 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, - "multipipe": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.3.1.tgz", - "integrity": "sha1-kmJVJXYboE/qoJYFtjgrziyR8R8=", - "dev": true, - "requires": { - "duplexer2": "^0.1.2" - } - }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", @@ -9484,12 +9074,6 @@ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true - }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -9538,12 +9122,6 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "dev": true - }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", @@ -10012,24 +9590,6 @@ "@types/node": "*" } }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } - }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } - }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -10638,25 +10198,6 @@ "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", "dev": true }, - "quote-stream": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", - "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", - "dev": true, - "requires": { - "buffer-equal": "0.0.1", - "minimist": "^1.1.3", - "through2": "^2.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, "raf": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", @@ -10979,19 +10520,6 @@ } } }, - "read-package-json": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.1.tgz", - "integrity": "sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A==", - "dev": true, - "requires": { - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "json-parse-better-errors": "^1.0.1", - "normalize-package-data": "^2.0.0", - "npm-normalize-package-bin": "^1.0.0" - } - }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -11676,113 +11204,6 @@ } } }, - "scratch-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/scratch-parser/-/scratch-parser-5.0.0.tgz", - "integrity": "sha512-7kjxoxivLgYYvmAJVLOOWnca4CigwuCpgjy9+6UuxOMgSZKO1xqIjxIADupabmh1ZLZZDVe45DBM/CQTdtVDkw==", - "dev": true, - "requires": { - "ajv": "6.3.0", - "jszip": "3.1.5", - "pify": "4.0.1" - }, - "dependencies": { - "ajv": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.3.0.tgz", - "integrity": "sha1-FlCkERTvAFdMrBC4Ay2PTBSBLac=", - "dev": true, - "requires": { - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "core-js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", - "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", - "dev": true - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "jszip": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", - "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", - "dev": true, - "requires": { - "core-js": "~2.3.0", - "es6-promise": "~3.0.2", - "lie": "~3.1.0", - "pako": "~1.0.2", - "readable-stream": "~2.0.6" - } - }, - "lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "dev": true, - "requires": { - "immediate": "~3.0.5" - } - }, - "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 - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "scratch-render": { - "version": "0.1.0-prerelease.20200109074051", - "resolved": "https://registry.npmjs.org/scratch-render/-/scratch-render-0.1.0-prerelease.20200109074051.tgz", - "integrity": "sha512-Zns4BcZcjMY5cOK21q2rNpygniY49KEA1+VqT1htDmsSVdW4iBf419oJRf5XFBwmcOpkGh+5sHoxRKcSduy+mw==", - "dev": true, - "requires": { - "grapheme-breaker": "0.3.2", - "hull.js": "0.2.10", - "ify-loader": "1.0.4", - "linebreak": "0.3.0", - "minilog": "3.1.0", - "raw-loader": "^0.5.1", - "scratch-storage": "^1.0.0", - "scratch-svg-renderer": "0.2.0-prerelease.20200109070519", - "twgl.js": "4.4.0" - } - }, "scratch-render-fonts": { "version": "1.0.0-prerelease.20180906193204", "resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.0-prerelease.20180906193204.tgz", @@ -11792,17 +11213,6 @@ "base64-loader": "1.0.0" } }, - "scratch-sb1-converter": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/scratch-sb1-converter/-/scratch-sb1-converter-0.2.7.tgz", - "integrity": "sha512-MF1NzmRLbgCiq7wiSTuk2C9rQC8uM5Wj7SaYsn1SEMWNK9rtK0uc3LSm8FnEt14QS/1Icx2YgMsUPKR0HaPDdQ==", - "dev": true, - "requires": { - "js-md5": "0.7.3", - "minilog": "3.1.0", - "text-encoding": "^0.7.0" - } - }, "scratch-storage": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/scratch-storage/-/scratch-storage-1.3.2.tgz", @@ -11847,92 +11257,6 @@ } } }, - "scratch-translate-extension-languages": { - "version": "0.0.20191118205314", - "resolved": "https://registry.npmjs.org/scratch-translate-extension-languages/-/scratch-translate-extension-languages-0.0.20191118205314.tgz", - "integrity": "sha512-r0lvpgQjPMjbhI2wROrgoXzBhCvWJdkbAqJMfl2CdNqrwBpUXqLvNNtI3VtNLPJAcp9VfxEylkU9lVZ0gvU46Q==", - "dev": true - }, - "scratch-vm": { - "version": "0.2.0-prerelease.20191227164934", - "resolved": "https://registry.npmjs.org/scratch-vm/-/scratch-vm-0.2.0-prerelease.20191227164934.tgz", - "integrity": "sha512-loaXhKW4pcY5f/+ARXFAsC0LYC22R/QsTTFxLdfhiWDnbO/ZRYQ4FmAlSzxCx0d2VPhI3uu+um5WkBtPinv2jQ==", - "dev": true, - "requires": { - "@vernier/godirect": "1.5.0", - "arraybuffer-loader": "^1.0.6", - "atob": "2.1.2", - "btoa": "1.2.1", - "canvas-toBlob": "1.0.0", - "decode-html": "2.0.0", - "diff-match-patch": "1.0.4", - "format-message": "6.2.1", - "htmlparser2": "3.10.0", - "immutable": "3.8.1", - "jszip": "^3.1.5", - "minilog": "3.1.0", - "nets": "3.2.0", - "scratch-parser": "5.0.0", - "scratch-sb1-converter": "0.2.7", - "scratch-translate-extension-languages": "0.0.20191118205314", - "socket.io-client": "2.0.4", - "text-encoding": "0.7.0", - "worker-loader": "^1.1.1" - }, - "dependencies": { - "htmlparser2": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", - "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.0.6" - } - }, - "immutable": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.1.tgz", - "integrity": "sha1-IAgH8Rqw9ycQ6khVQt4IgHX2jNI=", - "dev": true - }, - "readable-stream": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", - "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - }, - "worker-loader": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-1.1.1.tgz", - "integrity": "sha512-qJZLVS/jMCBITDzPo/RuweYSIG8VJP5P67mP/71alGyTZRe1LYJFdwLjLalY3T5ifx0bMDRD3OB6P2p1escvlg==", - "dev": true, - "requires": { - "loader-utils": "^1.0.0", - "schema-utils": "^0.4.0" - } - } - } - }, "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -12122,12 +11446,6 @@ "safe-buffer": "^5.0.1" } }, - "shallow-copy": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", - "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=", - "dev": true - }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -12333,70 +11651,6 @@ } } }, - "socket.io-client": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", - "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", - "dev": true, - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~2.6.4", - "engine.io-client": "~3.1.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.1.1", - "to-array": "0.1.4" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - } - } - }, - "socket.io-parser": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz", - "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "has-binary2": "~1.0.2", - "isarray": "2.0.1" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } - } - }, "sockjs": { "version": "0.3.19", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", @@ -12638,15 +11892,6 @@ "integrity": "sha1-RtLKtUYseRGArMciPju7wycshZU=", "dev": true }, - "static-eval": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.3.tgz", - "integrity": "sha512-zsxDGucfAh8T339sSKgpFbvg15Fms2IVaJGC+jqp0bVsxhcpM+iMeAI8weNo8dmf4OblgifTBUoyk1vGVtYw2w==", - "dev": true, - "requires": { - "escodegen": "^1.11.1" - } - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -12668,62 +11913,6 @@ } } }, - "static-module": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", - "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", - "dev": true, - "requires": { - "concat-stream": "~1.6.0", - "convert-source-map": "^1.5.1", - "duplexer2": "~0.1.4", - "escodegen": "~1.9.0", - "falafel": "^2.1.0", - "has": "^1.0.1", - "magic-string": "^0.22.4", - "merge-source-map": "1.0.4", - "object-inspect": "~1.4.0", - "quote-stream": "~1.0.2", - "readable-stream": "~2.3.3", - "shallow-copy": "~0.0.1", - "static-eval": "^2.0.0", - "through2": "~2.0.3" - }, - "dependencies": { - "escodegen": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", - "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", - "dev": true, - "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - } - }, - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "object-inspect": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", - "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -13379,12 +12568,6 @@ "setimmediate": "^1.0.4" } }, - "tiny-inflate": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", - "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", - "dev": true - }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -13400,12 +12583,6 @@ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", "dev": true }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", @@ -13555,12 +12732,6 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, - "twgl.js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/twgl.js/-/twgl.js-4.4.0.tgz", - "integrity": "sha512-W+uFP2DyK2dNhE38PcpituNi8CBm+YO5gY6o/IWEILT7NNDTT1wo3YcMmydwiCfUbnT7tz+EcjV7KlZLgE1PlQ==", - "dev": true - }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", @@ -13744,12 +12915,6 @@ } } }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "dev": true - }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -13778,24 +12943,6 @@ "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", "dev": true }, - "unicode-trie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", - "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", - "dev": true, - "requires": { - "pako": "^0.2.5", - "tiny-inflate": "^1.0.0" - }, - "dependencies": { - "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", - "dev": true - } - } - }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -14029,12 +13176,6 @@ "extsprintf": "^1.2.0" } }, - "vlq": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", - "dev": true - }, "vm-browserify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", @@ -14864,17 +14005,6 @@ "signal-exit": "^3.0.2" } }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, "xhr": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", @@ -14934,12 +14064,6 @@ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", - "dev": true - }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -15004,12 +14128,6 @@ "requires": { "fd-slicer": "~1.0.1" } - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true } } } diff --git a/packages/scratch-gui/src/lib/libraries/extensions/index.jsx b/packages/scratch-gui/src/lib/libraries/extensions/index.jsx index ba18b916b..8f5665dd2 100644 --- a/packages/scratch-gui/src/lib/libraries/extensions/index.jsx +++ b/packages/scratch-gui/src/lib/libraries/extensions/index.jsx @@ -46,6 +46,22 @@ import gdxforInsetIconURL from './gdxfor/gdxfor-small.svg'; import gdxforConnectionIconURL from './gdxfor/gdxfor-illustration.svg'; import gdxforConnectionSmallIconURL from './gdxfor/gdxfor-small.svg'; +import signalAnalysisIconURL from './signalAnalysis/signalAnalysis.png'; +import signalAnalysisInsetIconURL from './signalAnalysis/signalAnalysis-small.svg'; + +import signalVizIconURL from './signalViz/signalViz.png'; +import signalVizInsetIconURL from './signalViz/signalViz-small.svg'; + +import signalControlIconURL from './signalControl/signalControl.png'; +import signalControlInsetIconURL from './signalControl/signalControl-small.svg'; + +import musicCreationIconURL from './musicCreation/musicCreation.png'; +import musicCreationInsetIconURL from './musicCreation/musicCreation-small.svg'; + +import musicAccompanimentIconURL from './musicAccompaniment/musicAccompaniment.png'; +import musicAccompanimentInsetIconURL from './musicAccompaniment/musicAccompaniment-small.svg'; + + export default [ { name: ( @@ -317,5 +333,102 @@ export default [ /> ), helpLink: 'https://scratch.mit.edu/vernier' + + }, + { + name: 'Signal Analysis', + extensionId: 'signalanalysis', + iconURL: signalAnalysisIconURL, + insetIconURL: signalAnalysisInsetIconURL, + description: ( + + ), + featured: true, + disabled: false, + internetConnectionRequired: true, + bluetoothRequired: false, + helpLink: 'https://scratch.mit.edu/wedo' + + }, + { + name: 'Signal Visualization', + extensionId: 'signalviz', + iconURL: signalVizIconURL, + insetIconURL: signalVizInsetIconURL, + description: ( + + ), + featured: true, + disabled: false, + internetConnectionRequired: true, + bluetoothRequired: false, + helpLink: 'https://scratch.mit.edu/wedo' + + }, + { + name: 'Signal Control', + extensionId: 'signalcontrol', + iconURL: signalControlIconURL, + insetIconURL: signalControlInsetIconURL, + description: ( + + ), + featured: true, + disabled: false, + internetConnectionRequired: true, + bluetoothRequired: false, + helpLink: 'https://scratch.mit.edu/wedo' + + }, + { + name: 'Music Creation', + extensionId: 'musiccreation', + iconURL: musicCreationIconURL, + insetIconURL: musicCreationInsetIconURL, + description: ( + + ), + featured: true, + disabled: false, + internetConnectionRequired: true, + bluetoothRequired: false, + helpLink: 'https://scratch.mit.edu/wedo' + + }, + { + name: 'Music Accompaniment', + extensionId: 'musicaccompaniment', + iconURL: musicAccompanimentIconURL, + insetIconURL: musicAccompanimentInsetIconURL, + description: ( + + ), + featured: true, + disabled: false, + internetConnectionRequired: true, + bluetoothRequired: false, + helpLink: 'https://scratch.mit.edu/wedo' + } + ]; diff --git a/packages/scratch-gui/src/lib/libraries/extensions/musicAccompaniment/musicAccompaniment-small.svg b/packages/scratch-gui/src/lib/libraries/extensions/musicAccompaniment/musicAccompaniment-small.svg new file mode 100644 index 000000000..7ffde85e8 --- /dev/null +++ b/packages/scratch-gui/src/lib/libraries/extensions/musicAccompaniment/musicAccompaniment-small.svg @@ -0,0 +1 @@ +music-block-icon \ No newline at end of file diff --git a/packages/scratch-gui/src/lib/libraries/extensions/musicAccompaniment/musicAccompaniment.png b/packages/scratch-gui/src/lib/libraries/extensions/musicAccompaniment/musicAccompaniment.png new file mode 100644 index 0000000000000000000000000000000000000000..f8fa9aa3ed134903ea8ef4e155a2e8699bc4d97a GIT binary patch literal 52953 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-gui/src/lib/libraries/extensions/musicCreation/musicCreation-small.svg b/packages/scratch-gui/src/lib/libraries/extensions/musicCreation/musicCreation-small.svg new file mode 100644 index 000000000..7ffde85e8 --- /dev/null +++ b/packages/scratch-gui/src/lib/libraries/extensions/musicCreation/musicCreation-small.svg @@ -0,0 +1 @@ +music-block-icon \ No newline at end of file diff --git a/packages/scratch-gui/src/lib/libraries/extensions/musicCreation/musicCreation.png b/packages/scratch-gui/src/lib/libraries/extensions/musicCreation/musicCreation.png new file mode 100644 index 0000000000000000000000000000000000000000..f8fa9aa3ed134903ea8ef4e155a2e8699bc4d97a GIT binary patch literal 52953 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-gui/src/lib/libraries/extensions/signalAnalysis/signalAnalysis-small.svg b/packages/scratch-gui/src/lib/libraries/extensions/signalAnalysis/signalAnalysis-small.svg new file mode 100644 index 000000000..7ffde85e8 --- /dev/null +++ b/packages/scratch-gui/src/lib/libraries/extensions/signalAnalysis/signalAnalysis-small.svg @@ -0,0 +1 @@ +music-block-icon \ No newline at end of file diff --git a/packages/scratch-gui/src/lib/libraries/extensions/signalAnalysis/signalAnalysis.png b/packages/scratch-gui/src/lib/libraries/extensions/signalAnalysis/signalAnalysis.png new file mode 100644 index 0000000000000000000000000000000000000000..f8fa9aa3ed134903ea8ef4e155a2e8699bc4d97a GIT binary patch literal 52953 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-gui/src/lib/libraries/extensions/signalControl/signalControl-small.svg b/packages/scratch-gui/src/lib/libraries/extensions/signalControl/signalControl-small.svg new file mode 100644 index 000000000..7ffde85e8 --- /dev/null +++ b/packages/scratch-gui/src/lib/libraries/extensions/signalControl/signalControl-small.svg @@ -0,0 +1 @@ +music-block-icon \ No newline at end of file diff --git a/packages/scratch-gui/src/lib/libraries/extensions/signalControl/signalControl.png b/packages/scratch-gui/src/lib/libraries/extensions/signalControl/signalControl.png new file mode 100644 index 0000000000000000000000000000000000000000..f8fa9aa3ed134903ea8ef4e155a2e8699bc4d97a GIT binary patch literal 52953 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-gui/src/lib/libraries/extensions/signalViz/signalViz-small.svg b/packages/scratch-gui/src/lib/libraries/extensions/signalViz/signalViz-small.svg new file mode 100644 index 000000000..7ffde85e8 --- /dev/null +++ b/packages/scratch-gui/src/lib/libraries/extensions/signalViz/signalViz-small.svg @@ -0,0 +1 @@ +music-block-icon \ No newline at end of file diff --git a/packages/scratch-gui/src/lib/libraries/extensions/signalViz/signalViz.png b/packages/scratch-gui/src/lib/libraries/extensions/signalViz/signalViz.png new file mode 100644 index 0000000000000000000000000000000000000000..f8fa9aa3ed134903ea8ef4e155a2e8699bc4d97a GIT binary patch literal 52953 zcmV)^K!CrAP)`ZEsnMtiR zxvHFa633n-RGe5oBFSUPI!Q}3n{J9^vk&%##{I7S{@(B5;Q_^!o|b0&zS5 z@A!ZI-{1dth%f%ki$Y+51$G2XltfV#rLcrM9dAnz717y_C0M#;nO5~@$)X^Y{%s1D zWzp+J=bxr#_UwmShNY)xx zU!iC5m57DiA7J{5f;_-l1xqNDxTuH@9V?+oFEcF{fx$W4T@dnNsG6|Q`K{2*5eLA? z8o^-*EUC#3yXDF$TY=&q6jHTQ**PO zQ3%^Naz;OkCl(ulzB^8iyD@zX=qG0 z8;Tf<_(by5W+A`5%s+M*iWN*0WZSu_wKfV71+zwQIt11!2%U>6A_eDDV1W&W1Pn{e znBMA|lKyM@^$rVd=M(v*OhJ&UF8b%_B3g z_OR#7PTV8d`lQWEQ1|E)7j>(bu~f~1kiT@WQW#iZfduqfNwSV~*8;7E3esjF#?403 z!4mY09z^+di+rsHyS9El6ClHaY{_7uSulIU9i{0n7@P@#1=dH#Q84?1-3F6~lw5J} zYxGiJPMtu?Ah^$GH-jR%{5ynCx6g1KbR%zcduG!t2!k0`V1f0;=p@+^FeDwpxv8Ta zOXG4C@E{;~1qZt*2<~ftf~88lYTGAnc6<{hu5>&4S84YA3oNj}4tqp!yr4(ect-B{ z=p@nAkr*iP6!uR^PKZvLe=v46b86Z9lM&dbcn;B--#w>yQy>hModXN(@J1;v$4>`Y#TEM*?28O=AWRooXlLb|hX@1v40)j@-p!$3r_Q(j~~X7bIO{%jHW_6x8Zj7spRi zHN_*mEbZh%C;uVdRZ^&pJ+2n}rT31OEA2X7BJ=NF|MY9UqhfXI^zrwZMkr z@^F%YBr4t^ilQ&H>*)K~3-y#}ZBh6Gul*dM(JJtQHb=o`mWwFLl&5rx*lJapfPejL z%7~(+G#@87$^mn(Adh}nnJ0<;o_y`bPn(vRH;3ClA9z8VHzzu@xj_*86GQf?ZU{#z zl(fvhp**87hDBu`@uW1GbEWmbw?4Q7D;4-xBwnjKWS!UXZ;@j%hzJodd=9Q47PKWH zXyjUpmEc}F-1&%lJ`DYZ-{msveMI_@g!!>wlN%+V;P9wDxm5IM7}u8Yqtv82Os6Fc zSdqXB+BDMiQd~@{Z-gieJH4WY)5R`_J0t0is+ata)l1`dQnmJWd*B1dFO{nV^xR_vVW zpshQZ%)IH>v361q-K$Be@g=FXfY$HDXpXW3>>>zhwxwHvBQzl2VC}2HSSjT0NJF_0 zXjgUN&!42mdYPhsDHEpg_;n}? zG^St`Eg@vP92KdrM#aFRUUypKU+9w(?9X1F(B+0+azMTzJ<6OBIP}97mpjl+u#HCQ zC^>$~jcM6?AnJrKk_s%CTnN;CCHYkAQXR$JWm1; zcG;VuNDlmhv)R{CxIZPn9FdRKfwt?MkzNT?`nIAfB>qa1JPcK3VQ0S*+L3gjoeEv$ zBjt9x)N?1P@Ov4ny%rhv_b1=`A+8n$UeG3d68;7X1R(5!>~mW=2j_9uMytO1M$WKx zR8>B=5$8SN#Kq`V%?UgB$GQ-IX=Tw?iX8V*?OC;Biw+@G2H(P7t>7LPhu}^)s?8=_ z7yxkMWORSG8Gta5eSSq5OdO0iyA?(f!T{pO%QKJ%|Rs{hPbETl@an&o3~VDl^_S8Y!~coaSAZ625|Mo|SIY+=ggG)7Q@ z;qNeq+8z&!`-d&3mSbQYn4Z=f7tUtqDtJkOrm3FhH#^Im-7m>@#69XQyBxY1MHPVX zpixhej#e47{x&mzXcP>31p0*;XLax(!}On{FM@{y5C+jM17oyE-rEyn zh?C-bE#=#aaiGP*v`$GEl1LeT?)a#gTn~$r`n$1|$fZY#yIh`>KfF{=hrdHhI1CWj zp9nnKAY}NJ0$zd>ZvaNpLhoADAC;u|-i&E>%2(URj##*-a{)pM7_Lm7F?5<6(ZPyJ z-B>)P&!W-TawsU;T(ngw^}{PR#lirAEopHM9`14O%FzO0;PxEU%fnt+>d_ezw8`~x zQ1fMV$8yp$YWoQa2IrnTWa{Ev%qF5iUxpVi4=lzOAh4wglhgR&Fl_ii7{G4`{3Ja{ zCJRFN{5@p7b8Xq5MWQg$s~Vx!!Nu4D1hz22D4JZ8;Sj&WaDtE*{Ai6mfZyO--R1`V zoGU?6d>6*GyxGeVWxW%HUKScoQ>Ut58X&L*he4rVdjAa%2)TtykmomSqpH>|Z;7)I zs0L??e?wbm%YmJXLOCj9cy+%(c^=%2vV2^O4ImWCA4f%V0t7ZQRVtc?aGne;2<<|J zPRvVi{te@tu^Ud&pq58hX7@Ss5NjPcNr!fAwz}t1#!uG*m4XvQZtxqNQBCc!K5qX$ zkRWv3p23RFkk1@*zFsp!+$Oi1MhPTl{U)dutwhLSS%{L0QcvlJ)wh8XEh4hF?j2#z z{x0mp1S9o5|Gu8(_!X!uYJkATdR;sGRlp$uVY$Lt5Ycx;D5&|SFoM#c?GF%fMIBQG zJAFml(JGFJ?U2L^sn` zgnm&!5Aladz(WlL9U>5Nwx1e!K98y#>|D(Rb5l4r#j@S3Bbb`Orj& zDTv4MNN6$y)P-lmRV;*1!&B~2P!dW#Sa$J; zEp8+-FcZH16o2l@UvO3((ebyltB3;#gIG{sba`Q;fGaUH9wHWwhcrRUujK_(h|ENw zhwz%>W|2i+K`(%URV>6?xYsVN(xnYKPP$MXSMjc%j?M;EqH&V{I`A}jgF?$an*tWP zm#uclW$_0bgr%^TAc`+Ap@ZVubQXmI|GD23(JkPR`y$~Yjm$@QwgI#Nc&_gYckoY_ zh0tEgh_ilXWDSrHua|Q&p2DWcjakb}3HjJ1F+qv&A&M;*w6=yQh592_#U;=-dCJa> z7>^_k`zjG)AVKJeKQ#z@39NeZ9!S8x0-=#Nv>i>3$xwLAHVk}VTh$7XmxWxT4u=vi zbD2lm+11ohH8dH@=kxA?2LF_V!rgkkD$~zjp;w3KFp25+Mc$gu%*RUSiq$3$usyBvL$m@?PkaBCJL`RPS;Xr4CjvJlwGR{I}(C(sk?(+ol2nx#sT8Jda9A0gWzM;7+s9I4?+S$ECNxytcbsW zuFnd_&bwDe6iWO*sL>$Jv7*f-+t}4m3E@(?DmUkM4MfajOOpu-gwf0)JKMVsLUMkF zf}Fp=S~+JzqEHa_Pd1&hv4JD~@DNC%&@zffQ8OyK5J}|aQ9^PEfB7}KsT(H!<(Kgb zR9RIeRVaB-)lroi(Axp1prEVLfI||LcA*x3MIq(g+e>vbL#lW8vrHY{DaBAFcfzVm`3!I;UwdFielWMu&o85~%2q8Xn1m^X8-pB)i zHJ>dQg^ZTLfdcaY!kRCjZnvTsmcubMCKQFjMxm~t+|z+cHKF=mS_s5-r{?7u75ms# zr?Zmlr)_^v+I~^?sSb2Z>F{|$djZ0-!zviH0_zBdLeLJd_Xso!M$sg-2X$8U0uv_h zDv9f=Bduo5{A`WwSe6jKswx>%A2HIWYrcShs^=q01UJ%uHd$p!rql)kl*qUO2+55Z zS8$&t8o1(CGSgFfal6d~3>wxe-^x*YkfEV?X#b*S`+HS)@+$`Nlo*_J_;{$=J*4*el-G;PK+! z$8*d7pe8aIhc$*INr7aHT2VK+6o2>o1C*qKud3~6{_F#gPo{BG{MyI^|4(BC0)8{&1i3a06kOjH?xuudLl~miNKXWQdjz zJ6I{CRuxr2F(TDLWzZfSMR>#!*n%Pq%2ovy*kI51Eh}5dW-=MQ;0*DAU+n(hf>7gs zE=-c(3#lccrU`f<#2>U>Cx$J|PtpzAF}E*7w4l-BfMxXL?}nzH*?a9*YOW@xiw>t1 zNueAJNe#<({kFK$UU(-7!I)fQLT{Btq0e~&qR@w{gpGrQ14URq8-lV`fdw|`R?rGN zyE~S&B1hK1KRLd{i+?Nxfx3Ih7j~VJ3@e@z)_zR5(nT|n$=$!cy@%8Q80v{RCogrQs#143M61) zfep40)U8zhwmI?pP<}N7UKVV*)}(Ewh**1Bq8GFy*f|y_mnrK=Jcy?t`}T5<7R0me zn&N?5zPV0YU>q9h(|Y<8-_dq1>|a@QSU4FSog9TagsiD*Rzn3&H;Pp_tSbb)+_IZX zP`pgmA4qV*BBd4fjqi~S1{T;bAh2kfc~jH1qEXbN zS7H}_fmQ@1;qrjE!Ycz1vbED z7ev(o^tH1!N8MSwJC7Y_)80cpT0kOnVam?Sr*@5VWWRp#a(;_Kl{Ht?O| zWmj(=%tBRGBXT4xheaT4OvQ~7CH*K>%24E*e{ILnR5TvwArA3v^^6_}!2pDT1vaDv zER}}IYx%U6mPW3rW3Pngo|5BBthe@4(Dgk+^W_RcHt&R}K=YlPt+8a-RdZux@KqOQ z>MG9WSy)zwlZoVsq>(p@n?=9AtrVffBTKWOGTR+)1+T>HK?DtjhUSdmN(n$1SYX46 zKsN&{ZQc>){;(=8bbnGry=WA`kCO-w#qh0etUA(=BT;b!7vr&Ngzx2ug>1#Uk85^G znwkNn)af^=j?IrnrD$=@HxT+(fX#!$F0#-PfWRO}FaTj-fej-9E9-!y)fXZU{=8cn z1_*(+8;e(i&8xifsF|bUM{UvtT=*&g5S?b-I|OG1qGK^=?(ySa;~YwzQa<7xdL$xcd`Wsc=%oT&aMHLJ84?i%oZwen0fu5 zf_>C(w>0F2$HSon73>}fjf9o3S4nFrtqnB#UXt5MF*Gf(&`${3Nsxy?L581V2N^Y! zfCpM<^gcej;_E>R_A)eve+8A{ zY`t|hbzt_dtZOHx1mjF#f%Pc?>z9JWXlxw+4~o4gc=}ik3Nj}^L0%LbI10ij4PPdT z<5zJ0hSw-J(az}L7sw+^k>kIazx7G)YqX4p8}4MJ%tUlT6luH;O@$~^Ff1K<6p3Y7 z(dhy9?N3E(t;Tp1|svn-pL3 zSx_*a_{+$#&k1&oG_O0frsuGwI%<7o;GAKQE?l+)YG%i3#I-Wu!NSnY=k(q0*Y_T( zvByj!Q_RG}aY`!ZYTfGLgAic054LZk5J}Z8Glfg9H0%6qYKwhwrUf8u{d}{lE|Eh+ zH(dla!^)b@7G6&d3K|5)XNj{ASjTGz4UyK;TI6!_?Efv;p`l*FRmGCvS?(a%}R zbs-Ea1l@7t`lVGRX%=TFrW8LseEc`{Z~w=d+sSI#h#FBOrET!=mCga5{UBnh&K!!4 z>00cG zUk{)8FEP7!5=d~5$J+@EaHbsxTQ*tkdQeyxjZkFip4|$VTUFpe{7n9hl!iD>lK?q- zEqc$dms{bNeEqGLp=563RhZk_r4F{KDV zSo_#G@Y8!&42cFojZ%N)uuRQ71Hb9fu*P0c*V5)4>C~r_rS^gQ17w!hh=K=JX&F#U zM1{n0f;}&MLi<7;rnBWA%Q6wqs*{&QIi0`tNwYY&Ur%R>88B>AAC=5@_7Pp4c1L@< zLc?|e(xTaZ+@t7xt4>d$g6VttwBF3i`={z#5H;$7pG`h?cpmm)5ds_zy{DmOEND&h zrb*Q7=fDA$c;wtYgY5`y()Mz~(rp4i_5-w_Ln)IqvAZ~0xbv~%`bR9II^*6+tH=nE ze8gF$YxU~1LFg?ILn(1aJNX!$cW9yjnLXbEFP#t=wMRW@sRC+$r2HRgM;!U1>}rI1 zO2^4Wg%~umFMQS(br!`}>YpBFf%$f9bxQN1deC{J84Bh@FS`_6m=qp7MeBlI3S#JA z*%bKMqd-9xh^LP^Gl0EPt0nA{x7<_qmxkw`jKB3Kl(E0vCqwK%s=2G}wx`DE2xbi2 zxU*8L-7S1)i7zv6pj}BQxb?0LpVdc-P&%R`QI0SJ{_&KgKYLVCl1*9lV@r6E^@a}Pw^S>Gw9i^L>Z3{8dF8)Vu)N9^Ki zv{=|WM+qb?elmG+qq35;U7&~BhP|%}jSejcnSYM+GdBz!DFYS`*1@7xz?9ZuP`eg? zjvFe?j8#yOLqb^hJb3ER8b|blVSd2XQ}?pMtKX%`fwyuuXOdV@PKispbbJ5XsZY~h zaeHl>E3P?3qFYy2Jnw05q~bULj#6ofOwA8#oCV+OCBW`z*#Lws^KaO&(dC@kzz$sk zR#4E?LMJ}MqxqO8^6}P&lP19{Ve*mBJH^u zWZrM5&>&w-_A>R6;9uowM0Iro>ysH+-lW`{Rsul}w2ZlC-21O0_xu;3R3^=}^=(@N zjRq8~VTmXO)S5t(kdA6E!|5PvcGaM%A1kb`|020wsNqa6RKSwpb$*ES2GJaD=PW8Wd3fgP0; zsc+fPOX`{bgO>&&Wlk@YpW?bIu-UQT7}T|sbGCOhOX^vb35wCMkQ@0%XRkV?meKY&n=bDp~XG8TJ@2sc!C)UzBZehHwZA9sBp{@n5Tb za4ln&nkzb#USE8Y*QA^iA*`IHPehMGBRpG=UknM-s=X z;5CQkzr`GazuS1COvh6T!u1s)R}l30rIEKRWv_l}fAuvfB&Bv!VnlR1+BZ2p;W`^6tXdxbL`dbDbVk zW7lG*|5fJdr`)&b1wAB$l&BJ$jpZ^qMNnj+*`)`ZAv`6OM`W%a>(6jMT*F@HMR1NB z2)U+vpA=*5bETqZbSgR%nBOz79xp=Yjl44ZmkbXt1)*#(c5`#3(+f2^(Raz9>eAUV z1vv;4-yy6D1rTHU*LsF?u0)ED2J@-_3>Ip-kj@FA(I>?c2nD+a zsZlT>3e^NiF6bdW919n>i{#L2j)l~^4_Bfj$T1lwQv2bNqB9;2(|oLRilhGk5?9G3Vl88slNq20 zbETBNyD6u8aMcQEmuzvGKAKYL?WIjfLpS;aPzMN$!m1!&2^;6iXM%1P_lmelA;}uI zsA1E1C|}4oDeq`0M>p|a%HC5&$&}iNXzQd-O@I1V1|s$OFhLkZ!T2_kW^^^F28)G* z#lNx^F*VMe_ev!&V=wCr=-oD`x6NGw1|x8P*Wb2{`{lBMte`A@6l5;6T0B;rCF#4x zqqNqyo2H$)>xrEiiPCQb9SiceRs8`;tcJWK#!z_21}M+1r$Z-8zyWOm(eEe>vg`+qf8~pC;j@w*FIu%g zC#p|ArDz?e7Y0x(#Bh*AyI^b74WF^ za;F3mu-iMCDh&pKGajLA>ix?=nlw=|l zp`c<4lGy)tbwt&1_T<|wx+c=;cVriRFcx86K0sf%yC4iCV6S}^;_sx)|%@n^TT z8Hgf$M8UWI94FDAoGm}Tmn$j4F4X)2x`05aF_w2gU`-10!eLRT>sGYrs7jwH{Ml2hES97J48wzrs1Mt~6Ftt@Hc(BJp(A%NOT_%+0en;5&*EL4Q zs6wT%)5SJEnlHdM=lvEf6Jka?xDXvU3U&>IK`#6uvd}&Sk01-FosFG=Iw)sdLD*Cu z_-9PPvx{Y~9o39pcSz&A!w?(ic7{SJ5pcd%sTz=pGdH~0tC=0o+3WM(SB?@vnL79& z5DwhU6{xEsKCwz2LKot zAI-W3Hup3ye>XCFNwC`udIiw(szbqU#E(D^G2u?m)lgk`HY@y@_+s-7>zZ=x3>aPvl;CI;Gz&uRYpAz>X5y^oK1zed!oj6r z#~|!xKbpWgWue`pQI5((l3!Sgd>J_LS5poe@o(^buXq9gxKNp2X?#@_Tv~CEv!8-) z;0!)D9;^MD-Hf0cj=I9u+(kHuDn%~;lcP_o#2LUg@6o&U(&`td=}WF{3#0M&_W(X+ zcV91hfKXM4)>|oIBI&RY%mxd;b5lqc((&W}#=QP1cV^EO*VGYJi7Lh2qG1}cD7SRF zc57d!OVKE@Q?#mL3!?}y@STFp zIqn^?KW+tD&HZREn1zzF6n{mrtg#AO^=rIwC}24RnWj7V0T*2b#!8o22<>}wy&8uE z;23@4w{ILQN$Y~J&VW3g5bo~K7fWTznJOVgn4J(-?g|<4rI5NRXpSh}t5DRr-Pxoxc5EDsId@M* zvOGTY>MbG@o&}JqJ{qI(#tuOX?3NJA>UCKT0aRZ!u#HL0DB&4Hovh zq>G!$uwU&F1#dd{t1=vRGeiqtJkUT6QwKkd3w{Df^S0XKDl_=&RmPN4u|RZWM&bpn z&I}rSZP1sy)u*%0(k6dmJW38;L%piz-c=3tjHc)G*i1|dY1C+G=O9sN(W(TwVN_9; zWHZ-(_SqOB@=a-7+R5^|EILg?eK6G3=NZzPyj5VLa{S z$L-i*BV+qw9@n?a&3;`qmMxGF)VlTs!9sjQBvf8Cg!qFh1+Dk8HP#FHD|u^#9%%c+ zWcC{un$eB@BVXNO)0F~(*xOT{17}t?TPVP0G%h(ak2f`};5O^}@`_)gWt z22LBkM2!;sEbAz%y(TSs@^^Wl_g2|vLimVAx2?qDbVXFo)mtSxR+g2?6?(S^APwEn zO=973ii^P>Slg*^(&FpktGc<5%^2rMv}aQ2Zq3I-qtwPi+tXTBb@nQn5?5%V*;dsw zPOf)!VILR}*j^R#eg~nps|5p7V6HzWfLOOp8+k4~_tbth=5Mv6ht&hJDe(RAE83&rh#f2=#$K%{ z2PH+~p1ndFrC%+lY8u63wB3xNAL27C>U%n@uAQJ$L12OPkbuS9(QGid}NtYv5@O?O;f^#{%fMhM`t$I_N{n?77h=ad? z=Tnk4;VflUocLU|R*2F1QE|7}-Xb5lSnNfIb`T;ub!rYBg!uAWN*m$@jsS##1=c$& zjDJp!FA27z&(%HLs22ZRnDp&~7%=fl1p~ma1J>)3%^#ji2*3Jns@&ZPA{9G<>&{e( zMV=pUv*LQzylXe4R7=umn9?d}zl}aANa-q)38e;sSuNZ02y3@R1f~l@Xu-YgA@7z{DbAAv zXPAXmSrg5qS2i!$um?al><}+I7pCluh-qWu$%@U|RYN0_5h)~PikX&zR%p?kJ5hAd z-S;pH3fegm)ZA^@EdXI)f%V9WMo}GmMW{?>z=-dAK^ay~Ac{9ehWk!%y1EO?mVAlb z5*(g!9xR+4FDu$A4c8#36~9GlCF*%3>M+>-bgs1q)8m)CqOh=C;Fj01nV1}rTM~s_ z^_~jkn(g>Sop{kh@{5|9Io$5h0EB@B*7LcwWfhEqsL%)-^|ZI;5q~P_+Xn%wOSkDx zRmucwEN{!Fe6e44PPR}X*MxmuP?oTpyA`i=4Z0SLY>74TsFPNo-B)W36f`0)mJgh1 zW!JMt!2k=R(@`_tthVE)(RME!u5<}N|QSFA(R5?i7 zo>g$IQG7&``=PL1$Zy)%jFmd~9&{!Mg3z{Wk@3mtygf6Hi#Z}~WpNOtkR-=sC8-1; z3@ort)t(o7_>22g-&~cv#d)Gs}wWi+E; zP?5Z522Qh#!?s9RDz4U(I*8n+=19cFV4fN!_~8Z$Ql&}!7Yt>A1=bq-6cO5v$d^=D z?d`{2J!3^!^hgj{?nu^D8L$6UMVe4|_^bn%R&8ZxeCh5iSa|u)@ow+fuu^6oFA7#U zZ>#3*q-%GZDlS@g^xrodV9JWcGxgq*+sLJErJB)sT&oMGO4}skPiauy$tMO1T>E~Q z+bY;Cj&aRms!H?JuvDe#0}uulSQA$f&m!Zt=8G%1Pvnz)7@t_WWqop%%C##5OtG^oq5C#@lL--{~_Bpf2 z4xChqM8mBVst)#GXQp2*>0Q_8esh!S-EwZtSX3?k{15#3`T1MS!asZEk*4^}3mkUR|AhcBwW9-2ftYKEt(URK*eQotx8BS`?`Cc3aaXrv$WUcdPeZ2xg68 zT@j>YZlBr5-b8MmZJ-CK-NWmTQLB+BVr zfd+J_A69|;Yo4`jU`8`*f$a^aAARK6Q`2kgAcZ=_Kk?w@JIA-Paj3@g^Ebz186S5S zb`JMoa{E#I=cms<_3Gls9(!gsk-EMjL^_^2aFmVLnd}A=X~K3$n5g&0kQ{1>g=XG# znlY(T8%=(=of$Vu>s-B2bEw=9cEFZGQYX{a0EB@ZRsPAuKZ+TXdl8kF*YoPk*VDG^ zvY^q;Rvu1wTwg%QITGN9*EQ+YQWNQ3w`-f1m!FAIxhih{#X<*(;CWS*Bwr z#>ot-{Z(hi=$pIicA0{TPki#($A9u|Up34u_pk44YEr#7T(}k^UkMdHTzAZsTGMu5 z4_F9ANbb$HD!YPPPX7wAgSw;OX@1z6C{e&?n0kzNIE4*dqk$bc{yD+Z38n2QhPEhG zP{#fiSehyoe97d6tv$L^RRYFe<475oj!+bxlvM-me*Opk91?IlI|2$q1-}0+ub!X3 zg{PnteOWZHS66EbWR8&mcU@mGK8s6l zi;3qbN1~45q-jHk+1u@4zwlaNyJ>}vFLa0~NUIoj28~4 zS-N^TU!*a2#Iu0MO!7qzx|*-5h&G4MxYbSdj+5vYMz>urD6n*TYVBih{|altuP;3S zKz6wObcxed4H`$n+AsdyZ^lB}-AwW;OBb8jR5a8`f8iA1$$>ZMX4L-rO7fe!uv_nq z4H#MX1TZZlV;I@?vt+OZzO|tyDM2thJoVC`|8Nyk+LC|4v;hbM3;5S{D;h;n$#6BV zkg|V_^XF4AtnV+>S(TpAd4mg}j`Qm|t>U-7_P*PQp(}1M z3myzf*&lo8nXsb0^yb`?e|xd>J;uwlUJxcr9G6C3Yas61h^8S?*a3?0_Evj2F?}g6 zbT|?OMM}!#EO_4?IROZp(%^if0wSIprX=poeXz;I>cF~t$n2E^nl>IP|GXMP*JA8~ z^A<*7zu!*Ux3Zu6OGQ;xt|@lheQ-NV0v4k1s|WH|MXQ--4g@buJL=O2L|vaxIboIC}yK&82&4SM>4nVXgv`|=xSAqrz5?V%H^ZGTYB`UCtR zWfL}(_z@-2pO*lJ9iuQTj!+E7VcC~ez(5h!fEJY-fPjnHwL(T!E)nTe4B>KFN@rO+ zqT|RubS-jp<}o;$&F9Y^xHaE(q%6rs>TQIOz4C+MkRx|6&|~QDaMr})2^92>?^S5* zyoR%#EJ4vRpMBx6>vv~Q+2q50a1l?P@&kmfc*Ue4m8o!D@(SyF?tkO4Gt|Z&EWEYV zehaIbJ3O7Uv+RwzMsGA5DJ?@V@>V`=rul~ZhR}-|o@S9$Ak_;U0t%K?AO>Wi`-A9^ zD?%E}a84@{%e$^u?b~-Op-!wqAPT#P55mz&h3*%2i0v2^= zr4XlQBt!!}ZWw&Q$Yjh(9%#eZ=~|VWpUzf1sQPimf9S&VE4$;k{npps=Y72M^a-!s zwWC#%mBBaoA=pb`kj_8t-%D#ChC6|910ReTxU(s5HoH7tg^bRCfYDK{+sr(UVRp#@-C3KoETq^KLr8oQ-TR7@n&Ar<&{;eoyFxt9F6c~j;K@JZoXyhiH zNYr-O9cWZUZL_*d5pT*{<{MW@hXdw#Ec5d}@aJE6#Ivl)HQrQfPAgU`!VPU>TAgmNwOwO(%h)Pf#K_yl z+b?Bb0u%wii?NHxLdWQ9i=hd5VpR4sT?VH*B;b%F$R7p*hXI7_z+~q2rddgA=cr)~ z$zpXs8I_O-)hYWa+LIwmusXvRjv8H!5;Sv36LPh!P>7mNrwuWXWGR78h=Akk{0$Wdl)I=y=I6surRDaNEv~_*+xPHQp!Q zY!f`fbc{zF$bIY`FER^1`_1#vi2FCfLXZ;*s|>rE=O368K17jn#lwZ18 zxQV~`=TA-l6j%tn-PP~j$ld_?*0eSJ6Mq{B#BXH2A?({jv+67uiNE0DtTH>J&P2r4 z79EEQfqY#@4lS;2z(7dklgqch{;rl_WQM=FSC40lVyNNTt>wJ3qXHZ}Cgu%_(pE)T z@PUO~ahnjU$HdBNpIq4_?D5V)uB~koz}l$9y)Y>(uU3E%XvBRyvc65-dijxpf3Y)N zqF_w}rLgPb(J~#6PozHa-fwb?iC9Sc@wZ*Bddm+#^oCH!$H_Z^+w*!gDD2wpw_MLY z4fp|sURnRwdw*RNig-|xq;Ry#JO|lu3Wit>Cz?qb8>Pr z6bhx&>AgLIEwl5@;+yWmf5r2;m0#%91?i^}3MZbg4sRP-sny@H)!YR~6kvi1k)I%rdl*N+tPPZ0TXwWPgMN`_7E0^(DliBqygJ_!4{q`YMN_mQ# z>DY@mCSO>dTiKl~=$FdFv?PfoyKCHa0Bl<%62V{oCrzFVBbUqFxpU`>U;H8-0R{0O z{$9R(`PQvlk3II-{QP`08kOzTNIb%S^ZES7#s=;{U*dK(e-)2MqzG7u+u870uPb%P z5Xd=c{V=dA{keCXI*`gCIE#INAWqb@E(8$t<4j;jXiGbvt1?oBVxvvN=K=|y^ zVhbR&kLT)c^7X6pFTXi=voiXW`RA4uowN-k<2z7(K-&Iof`Tju!L~x70M&@UxKE(9 zA3t^Kl#5dLFWZJ~H*enLJ0K!%UlP6qnfPGz!TXf^;>GyzAdqLbp?*nQQ2J=dQzXt? zALs*Y7R(_DUmnn@qUEpR^+7opoiq0q^bC+BTTBr0?$WZcTi3UIZ%yPGPR z_XXhJ@BGg1OixcU5%I{g&z3`KlO-D+9i6rf_xTR%NNf!n5l~!OT3Rctt!Zl@;*2!& zi2TSI`Ak>{5AwBrXb~}e3PMNrsnVds&mDq|tPw=VbZ8y6Q(^ZJ*F$i^K0BP*jL;N1274|0nS!FE1ZrH)Y3k7({K^Q&Vc+S%F7izil1Lt9#*rupYioy6<7-;TdtpqVjysnPxW_76;(!j!1o&UEOOC_NMpS zAqc^uNs1v5g8gxkIANb6Da#JMNlsPC=Drkno(oNfiW|i$7V4%RR@MEDA22#|LVYB3 z02`nV50r*@mIFsuHk~$pJmN1*(j&{OPGl)={JH&U`{PAf9P=9CNOQrJ_;smlbzfg^ znkIHjMAd%k?ca0*i`;15_k7=CWSl6tx3_oW#*O9WWgxJ;olqzqk1s4N0DI%(;}a7T zZWOjCzDHw~zIFV-Cwymu#`~?~T*IX`l%QpT9u<*>8GpA3V z1`$u&h6k@)xx&khuNkl5c3e6RfjBSCm(L|Z4T+)t#35Jx?OV+wzW6gQ_GT||$oufs z;T+aRmxDe}q$!t58|<+440SsTOBAHgMC$;2C@2UeYMGX{t9iqQck{bO^uL?Oe*vTI z1NW2{y3#qyZNTU})m(PjfzhNpX@O`3Zfr#^VS0bQyt6yVguCEBM-kMv_ z&drbK7RPrd|-vvj{}6~&!2}h z#2sf!luCW;Ti*f^`6H&psR!i;6JlaPT3}rm6{G#dLc2x`O-%dPx(h;bdvf8&p)52u zjEydb$yLJbIxVe(I2Tb+;tKwnIkQQpH?eRs#FstTS=@34#GTwu(I_S!`p`}`Jvl1O zj+aEFC2VZdUl6W&mnm2XB-Gn&H#aC*0vkNNP<{}DJ}JVOaQ1ll5g+p?{Icym;pV#V z`Bxvmy<5>oaB3u#h-4pFNS&P8jfS+Em14X5`ACyrye_5R;Ps z_U(7w*qXvWq37* z4?`LPs6b#koqpkk7hZd<+#&-k{Gj^5NpTXouzMwJ+PDTG1p9yd?}}@5$oa?PR}d7_ z;S@}v>Y!a+Edc+VzTWN5Rh%V#Q)qta7av;KD5y!5`^Bibs-?=b(RbdV#x6muK>x8W z!44RSk|@Njc@Sm`wCEKLQC!UaHM7|<0%28SLXOArk}neKI}m1age%xb9(ieXZ*DUa zy}31dYb%*8s&_L<+`hY6mSRwflkpsgI60ENcw*HpA_Lm7N7SVtz1Y5ksX(!`fSTP` zR>pO`=B=;2-Ac3fy=kUBc}pa{8C|IqU4&<;W?tXR2~fnu2I)3!|GCPTTI#Ql%K1h_TH~3|zdpc&El8 zFl&dHVz=nJv)kR{12LM;(JVn+`1k=w)-V7b=AW*26mg^|3KNmO$MMH|PsviZEH(aA`80TbxLpoukZ$WVGNp^t2tpb~`6x)o9G*>91u!JK@s@zgiQ1U>^9F&*yO;+`?a1_Q|&4K~+^1+d!s}$M{*8Tc?Jjk+B8da?v*4 zrZEJ6%A3@kz?P%C^|J(9-sj&5G&R}lmmuV zs6gC^e{tdphlWm%m30qgO&A1&Y`(ur%&cuYN%S-06|(r|x>E@I__Wi$@!&%*Ix_<( zKiuJ;jE&&$?6{yv^z$vtnKY>OA}cVc8CXH0J!LSO`#XxT%%RAc(h+w2sOsE8&6bJlL4Q&*4p9>Y1!tDJ;SE0|F8wz zQd#;4?BsRO=;P|Kp9HG_B$t0+A*(k)i?blc$H!x_nCsPS z{{*uGYTV7@b6GFq)7kIJL=^VLo#LN(oRbUJ*4AA2EM60j$7g3}j~zR9|NZwvCT?Z6 zAPs2;cF#>J3hWmgXs2LvAS`)7DHm|)TdrF+0Rj~A|ZfRD4z>a2!G5K&8%(-q6(W{f=Xwpqoo#rRavk+Pk zmkb!}CJ{Q1%W_W3;W~{P^+3#l@wir7eBy4dabPd2vJ>@$E7nd?DBb z2uld0@*G1i0u9T|o9#u(2UbC#utev~;Vu=}mDL16==^9>gfO$vE)Ce^25C(+B2%Vm zWu0zGq(MzHG&#JcPF^bNWe`$YTb^(jR)u!c&+7aH%Z^7a3ggKNS#dttyl< zIFTqz!$|SPP~lZE`DiRL!x1j~w+5vJMD=cfwrhXG7>6tn8HcKE;gaD#bm7H|7io2H zW8;lC-Y66bkcP=*64G#ad3h_d^}6|bT#V01Go4=M!y*I^0O6r6?eyHZMkpmk7y$x1 zqff~fdg$kj6EA8Cz9hPkpTMxFH43v(Yhs%g)uSONiXc`M9#SPWr{_dzPZ;|G)Cu6^ zjqfjNL@X#6ADu6N+*XSGeqdfST(Kw!5?FTH0B*S7OBO-`F5RYeN_;WwfqUmGz8Ic; zbIplfIWbqa%C@ToK|z6f@LsLiiN0e0D~>M2-<>p_s-SEnbq_0 zV+sc>;S-k?6ro-mm8PG>a18di_)!$6=n4Kt!oIPPR|?ZvQhwxVtQ3Fos9l*_C+ghY zB`(H$l83!~hZHafH#07rn602-t{{Bp7BNY%V`LhCpR22rzxCy}33fvL->KDoV!x&B z^a<=1%T6eCGE5|rhE71KSrm4k5%yjX$KNAJ6|;lU(NWo7!QLVcIkLvZAy^2RxIbp+ z#EBE<&z}biH#ax0T)8qoKM#JNIddiwi9i~Hg$1E-uXJx91Z#n?--fd;4U%3jXdnVR zA7|B)^PsQL%pGY&!M9nCW#dhCikBX&cyb0_#{Hz|vWm)9(J6VF*Yk#D80s}cxtTAN zJ(k=jh(j4o^MGa)Eg3e8PqFM}NC2-YSd9+KMaI`sakmy<+sFE4F&DI@ml8IkJ@34q2^wUzSKDAPqM*HtyWH0~T`QLl6;n zAQSJHcT!gBjC`hr$*!FvIIKQG2ZSU9ZD-CfOF+$*fPoj(Mi{x09m6<6wPq{=p?w5bs^^r zXnJ)JCUyQBBRT>JRDshDGm-rs44^pQT%(K#SMBX5?(Gfw0?@2yjvtUUm@BHEy7YJ| z7g?N0{iAn%OO?%fFVhW~pT&;dwE>(Mq20^TLmWP{nIa1EKF7=e(hx#fu!_RgB_a2Q zIQlrGA!q*e%jsQOBjh+5-8Qh$dokkKix)5A&h_ip0l!o#1yKkb&dkhEV=1j!7CLlL zq#+*62!u|6!;tzy9SLa9&;tqRqY&(CCy8Z;%t(H+kd_G*d+AYYVRIZZLp2B$iKb$E zMrJPq5K6^4UEGo4S3w2Jnke=TVF_;8?I{34PG12O@%5k`!AK#$Y;8Ry#_o@dp6X?oOjGBiB)Oha zmWKO_eV;ykdVGAG%XTvhCnhFNo;>-+8*enjLW=wvk%vBIK>pb1D~yFHii-hbsyGJ(u5LLL z1SYGp3HRF{Ja^&p?U`6e`=8$Tjmdbf!7IOd^&Y6k3yZ5-v0&M~CcJ7G-w+>am0EM` zq-hGmgvL*v9;0)751Tjkth-;3tW0F)y?uD5bM_W3K^tSV`^u&{9c{P~w(ewhPG zIh6E37UFCtAsCX5!l)*H@|~X?HUjE_1U#xjumKCLj#x;3QM;NxRa|R+J3Jf980>N3 zLPaK2qETS)mXvyjkbGWHx50_YQAc~>Z_dss^gWeA;8++@$QPUd8Gx#4l@4eGDuAN6 zT?ZU5+e+E>&$bC0hOJX;YDB6DkS9+gzBBIJu#49Kx&_S%4Ta9DnHLYS2pX}!6d!tG z_5cm~#h35@n=7Yq=jYz{jeDne8vovxZ_aO~WA{#Oj78J5R+=bBA>q3%uiCnB^#1UJ zPg;8~2-+sOPt#O`l)nRJ2DovlHf`s{!s;b;{9!pf({E=w&Lx(H03jDItqLejBog=E ze?M5bzP`S^yo~!`;r#skl`B`)t@W@N=DxnwSGpt~k&#XQ$B+NxA>p5CVYbetu>%Qs zbcJ9&7Rq8L*%Vx2hUQpBv&pm3%sI0$d~|4>6i{)yi0>nda#k<33baC2_I_dN&w)J* z)2@RwZ-`=5wcg^jC+1Dj>6O^rFcT7 zn}v<+jo+2j(a`wA{V5G$ToZMFa)ryn-Q8VCLuf>>kYi_-&E;}V#jwZ43@HfhNw*^b zgFw(g2-aeu6GSR>(4m+8qJ@K--8-47x$FT>-26W@TwydB6>wDa)TsB&A*fo0To zqA~*UTkc(;kH81vjWzMcUQ^h8#|gRz7Cz-LQQY}E=dM5T;I(Fc>Dq4M^2$s^)!w?W z;?<)!R_&(5a$Gv|Z$>5_;B_@|{JlbWLD+d3zYgEcT{7hT;O5;IHlEf~SHjcp73FZ> zU8<7gx=F!8{L{N+=(2EYYs-zDVHRF9ubq+4#Bs8Y40Y7x@PUx{S8yiXL65*L3c={W zPYc)$Lb5mm^C?^sml8#S1vI&piwm3t|58@KYWFc73 zg9`dW1wv4=7F?LBjp6+i{M4n#Ia%T--u`Nnzfm)!XO|Y^;llTxy6M(&n<6(Jsoj$Kzfd#v9wg* zx=ERZ-qyk1-{@r_UU~fZao`Xj+}PT9Q+x9*(YGj~a@5AUzW%|Qp=qYZJy0;q#>f%$ z1?=6m1Q`>S1&mh4P|Wxw8p(`en?FX*%5q4yWJ@pTuKNL8Gz!Ln`$y6V5jiVoYNkhN ziv^Zjf@a8%}adzD255mT=WkRW) z;2#Z9mO_)+iqL{Lx011t_D`O8ra`jAehaHwMAh<|n$=?QsIxSiw&P62_=QL$5)Rj5 zzMPQG|DpBWU$*Xk0nEN~LpXg*NR(>a%ufpO7?p^Fx=mgF<>KbEqYwRtq?Q+2xgxfA zdmO{k<8wY5rEgp;77K*}Mp6DJ+rq-aM?d<}C!c)s*=L_kCX?sRoqOVmCw}kues3+c z_NCO9et7hU0}%EF|FT+^yO=Wn$oUzFzuqyBJb|<#SR9rgB#Baya^c$sp`Zz&5%O>f zAwkdUT1q3THFrvyJEj^}#Tn5|n_5QGv%0GbGg`);=ZzTI6LRd$-AoyTAm2o?%tG8( zyLqv)G#pPj(JO0PPMcg=avpEB5fXEKW7p|-K^=qb-;M1ow&+cK@^3G;M?uV3u41<|G!t`gk0u)ZD)HW56%vmEhXCHyo5I2*AaHu(rHaPp8*f`=009XOefrhD7+Ue+}hYOP0FJvYBVaJI`!Yr-~Tnp zveOHsld6Vte2ye`orSKYGPHzNto(6QeP-10+2V#fV0Oq8gbD27FLWM%$vc~l@bZXq z^8L0dG{5-r{a<{E2IZf9?>8T6B22VAnCMhT27f>Q^2L{KF8=Vvt3UkE8~jyYzd=zv z(Q}`oYN7{OLS9L~^0P*k`dZ*!I6z(%i=Vl&>D*s@>^Ei}{P{MAK275`yijkxYsXwJ zhmA8AtBT`%_OqXT{`u!23V-USehT9F#TQ=$7sF!srzd}UR361#EdXJ!EnP@w3t85G zJKD}O*=JtMza|70SjWaKbuh}fy}aADNF)-A#dxBC@g za633;qobo?rMUXs&+aV$DdXJhCKc@ULUxl9DHq;z`U8I=hsHYE=Z1k3BcIQ6KVE-X zh_knO5t%LfNLD2UMnM5NhUI*l=_)h{zWJ&oBn z-h1cH9e4F;VLbgmzWZC*9HF|ZCp#{Sjcxi15QYw;$QM-9+Lpiqn0weVX}rb)F<+#o zKnq}xGA=rnuuy~owOD$iB?|7O?Fo=dyU`oG%IlQ)s*#f)7Z*O>;1J{ZPTA%@xc=&= zZ$A4AeBbLP<>>;uNr{x9vC~idNn-vzzU=vY$vP(@vk*TGvoUWR>Gt+EScqpId+f3E z=g;FczyJHckF)xn@pnEPr#K)*RAO>$xQB?t1fi*s_%k$PC%3~9bgc|UoZj{ zMF}VvScisF2-E=rF`D?eS(b(vo_2P2+5q#hW5+P`+`fI=yF@fUw)f$Oo{y+>EmWmp?9FzWkZbd?pkM{m>8n(3ijb<(oGh@qHqC;v=&kiAWKM!r|71 zy-uH?`Y&23+}sX<*(>aE=|wt|^z}bZ{jpH$%RKazUIXjJT+eP>!=dCpZWc-o!zDJ3 z;i=X4s;ZhyCb5ORy*;j&%#Ww@;TM+Y?w#I>hl^Yc+ATLqE$r=-11PONxh%L;X*^oD z=-Q!JD&x43ClVEOT)yL^Eh>roMjrZ4RTN~EKRP<FM?L^_7*C7hZT_cXt<)yyM4@W8%1(-&`rITu59nEpxa**rTXX%C&<2)2o9&b9#>J zF0%dU-k&lBYgT!;=(rwF$sgXbW=yLo%g^0{Yy(rn3;isAOHBr$HvB1S682W z^2s-IZ>|;BW<#@vWejobOcy~2<`Ma91lE=6T6vw}wZdz=#x74=YEm$D_J6kI{;hhT zkDM%yKa{xk+s#V~%(>j~4X75Jm#y}BsajFT)r*a^)I^(C=6NBVFBSF<4VfGlZS!S~ z(9uJ-)4sh8@&M#YNgOZt2x7Ck5&6=U)A!A8MpS)mtLz{J|Db91vZM${j$-wXgAKC; z)2`a;^;q6mEm82;C)D{LkBp4FyB$>UX4maMM)hpw!Jm&WyywQ#|3h~3rS)wgouz0} z{!oghS#aE>Am!CByw`U(DNd3R+p^g#(A5$S@vDJ4UU&57JL16)eBc8h-`w0BD2PYq zY+GJlE|`U(KXZHrVHtkCQ+4L=@(|C$Xus#PiWZGOE;f1b?2ml;<}<&r zdG#}#bboTLyediUJ7N?;Q`Cf&7k*{$&eNSolh*hSwqY>ARor|u4H(ZW)0m2R7Yljk zEZcVSdVk6T*oAga^UTc6c@kKd&4t*WkD9P3_GFAY@acW4QIDw@WaK*}~pB zSlAeZ81lBax9cehjMR8`e0;ny3o)BZrBZe0#n~*jgN-y`A*b{(GVX zN!#u~23wi7JlV6SMpRfajmxTTF0jDmM{5cbvVR|R`bxSrz?Hzkt5tv`3A zQOxRvJtcEP$t*Vj%+Aivfpa%-4rgb*D-h>y0}8q_2p4vPSuL&^T;$l>7|`qKB<^a~ zj6Cggvuxw8H0+1$oP`)qv9)H>pRs#+kmWka_yQP)xGXY`BR|EO)$21z=fuUybRwL~ z7pNeaOS_Og(Bo>;4ZBBDL5N0#qa0NR1n%W*3fj_n!n3cq->)JIqi^|NqT}~tpJR5& z%YoSWoCeBA$9qZgIvi^zUV7kos|M0Ax%k2C`Zu)PY9?P@n{*-}C=z`=%gAqDeNq&} z#Df1URYdYrvn*TxOb$Mt^x{Q0|g@2;<}^UEH7_+gyqyXoDC6ge3_d89!| zgfj%ISV=yvdDcN@OHR+ZDHCkZWS0K?wXb>7B#KSZ|eLcXzj$ahy-_ zn)?$M0OpVQi;uty8n6(LyZPgT&O(L|4{AIVcH{yGhZ%$iZpT|di@S&8Etth)B7y-I z>V$_dt7JkcEHG0DUpT(T!1MNJkVGd~Q8S#v+_59MWQdVz*X}LM^}DGQT(TmI0~9Q1 z!o<`<==8t94#(c+5g&NtM1q=|1uVUODI5qc`_dqrOO4G-stH)`)tbejC}eJ9}4zk=6UEz1>$+XmrCm}bXXt&@2sK?SjD zK81IU$AnB5s%SO?LNKh!tzmXnlRy}GTZ-4ODGD(PxZOJsWMMs;4k8ON_VHYpt&@Zb z7Sr76=D-t;m;N)*m+Y_*?dCA~#@S1Kt zmz5+(#!midIB{}sA>|dxj(CnvsS$_c+v! z&qMc=#@oTdt*xyK7cNXsPp_=3Z0&BTqIx1Uv@3;@kvI0=oK%NyHubAAII#rWQE!F3(mwxL$jzOIDB~JZBodU$2UORby>fFz{kxh+L4nV$Z%9=vL28P4?Xv zu6YIG%p0v^HHX)l`eS5dq~7ameyEqnUKZAjqw_K4pic}xnK8yb(zZd!rD|BrVfd(r zRn~m&->S(wz6{3J?d|Q=)m7daD2P|Gw+h>Q>e~-~#u(L+n@U$u2a(u0|=+4rWzOLVh=x05WSDT|NZaB-)EnF z7JrZ1mN)a?$$uvRVPIVWArE#ntx1O@PInHzs2OnE%u1Nc!cG*@z#R+TGcDy@RvBk; z@zey|!hskY8>_hw-G#}TdXZNy+2hS)F+al5J^1GfH%|QLufOy8H&2t8Fr7|Gu0an0 z3EZuzs15(I!!J$S@#gVZ1qE{jLg3PhlP?jS`rZ@oe@acB7fRK|>QNAfY;tn4UIu+l z7B()|$I+y?;SLqGS*4pR*+D_Dkn5*sH($E)x$og}-rX?#DE2WlW}#OUvOW6fqnO^M zQmHFft_XI|Cj9+c`fC9Q1MAdkf(^sp&d$#6KEs1GeUep!DF$CYkGWbzW4~Nu7V_6P zI)}q8?9$PotZ5i5u-|wb0k_;E(yH;1awjfT2QIHEU%h(jx4!a@wG^eQaSH|4=f`dIbzS(M(52UqWzTCc&zXBlo;7 z;5eO{yO$GPgne1|9LrNReD4)vfAHKxfFkbS^0euMFq$4GFaU>89$@6%T^f9c28aBk zKs)>{{3!fhZ+8wnb&~`B<#_D=f4T4jPaS*fPrD~MUtjgM47Jp}7OZ07!GbJt@+}{E zk((5Pf?(mHxJhv?aSN~pEUYOCqtWPwZLTPMCHG1I!oWH`9h(ootQV{4)*?TUf_#zJ z1Yt`q(DsIjBWM^z07BPO>cu4Y9mL-%)y}QM`6=%h!~wk=xL@^_ye5DCh0{Fx-}MN1 zATT*XosU2Wu7X|EoJNKNZTvG?=5lBGNT?!NuskP_EGf>b|Q7AZ)&9882ej)Mq$rF}XXCf((jIMJXSSt!`^FvE6fO+36QC0%{TTMJNcvi;3ft2>#>keyebgB^PTU+ z-=(D`Ow^LeGT`MkQvG&Jd_X4YSoT~R`UqIc8zW|4UfONQu`@9UhiF>%-{FH(FcBU|8^Re{+XDV=%nK*7jJ5E znOP2xO`rROQQXa}Kc^YQc)&XrE=xmTKAWfPXS`r{`ST;QZ&zb;-8k)WM(rOrIFp#y zx!sWm1JU*C*Ecpcu%o7@r}0YxML`tKMa~6^FtCo!LU5%)<{2KxvyF8aHi9cKl}a_x zg4|ZEp6tU5xZPR_GTMm>p^mecc}H=uUf&yKkweXE7(hn7<4#heQ|N|)TvYV z-FII+9_P37TMD}JnXg|6hm=H&bm8kaYN$guyMUpBX9p#}!WFXo6XMa@^;GZflA96x zV{B@1^r7FVJ%O%2=^Py$?cCeZQeLmngqw86?v0V%eCg^J-n)7AGriP>Jmsz0W9%Kh zc8%1->C@zsznZ@~eBRLkR)qa#dTz%kW)4(@%pR5_Zb>Z{PMiqQxG6E~Id{d;JCt+P zd~Ag41vma0tT}jScBKi+O_roXQ&XlM>A5Lxw-uo~+o($6=YuGeI;L{Lw!OVQE``j~ zbKG|)Pdht1JYnazWVPsPEAz)E_Tu3@^(ib6JgA_FRc=@)R_a3Nr*w{b%Ht9IXne0e zteuDNxtl3dP~CR|;#UBHw>QXZieHgPCg;EZ_uT-|Dyvt9sd4v-76#DP%Q8g99+)`& z_tSU2qUBb(m&i!e`I-31qa#E_>N=w5ca}e2+`Exjc#q_F`?;FB5T_Own(>Z52v7g zUZ$}q~t7BtR8rLhCwM86y!;W;b%GIg0O~b>(M-xYP z_;&~(Y=CIfuP1u0){`tcKHR+gI(~M^WP~;rlHa^dN1Pj|T^igdub4BJ0u5#N%AL^8 z>9s*LWjR0~Ew<6)SN-CZtUTq*+}s@c8d!*LC)Xr7I}<*0;nH8em0Z;^`~J-%n^#TJ z)^ZyQnH7MBk`n<%@VF_R!w*;&a0R&78EQZ-C&T1-&v*7wtR>HYZ$XuC=BY6U1Zu0~ zu4`9be0%?f-ziOvSb@%)WO%Q;=Kk=&^(XdzMo&(k8s|AQ$Yq9Eo(p~G>ey-iT< z{{yw}!`{&PP$<;XQ$id?N_pLEo?l%ETLEFqILinTQgtC`C8FlU4xR2x z<MheST5G4(kv3qY=Os__#{&NIs}0P zjez0K5a0PwL?$khYNUcxUq!>;e z9Uart({`ifEEa6vzWs$4UZ7ZOv`jc@OvaM2kT)cNP>7H=;f25_ngSDzv;D{`xh#su zEn!*DCZEqo8zD+ctxPgAGqb`H=Z|D}#gFICox=$^MSlIx`a`3=S8q7Ewrjk@m$@U+ zvZ)AP6kON00FC5@*?sXRpku(tcX{JOEYKF5>9tMQJy!WjH3rexw`6TNodZa~4Bt_xPz@1`U(Y2?h_jUW0^wWuN39t~HTw^4Ll`{@P- z2Jn6Q^l9n>peDxKXmWJ3cXMsuP2FVpm$s;?!BgZ)vV;$lne35S^`1m577H<`a^n8m%Y?u}FhYzs0O7bkKA0Z#s@`h8hCsVCKsfVV z;DoI4UT3aK=J(!rERo{$Vr3@}OsXxV35s(& z{MA#sE^%&(P&zI2IGmm+7LrQC-V-W1Q$-Q7JgF+sj#IfI{o5J(9i?Ca|r z9v+@GW)pg%3P5NwBV};pOLNXw!rPiO0G4XF3Mke}KuE#(g|Ze>Yk~FzBZMNzi9uYs zM59rPkXOZ#JUKau89J0c4(v^(1=l!9YeUWb=J?v{eE+3y%iqS$aauw2do!Ga`?jPl zCmJu0@YxZpG)O7mEa+&(khOn*Ha@?JFl~C2fjjiRPfnhBDP?A(RHDj^yn$Jx`z#9H;e!jcU;8hG2AKX#N&s4_}uJ^?gm%V@O%{>;Prs*hY^O;=3l4Svfe2vT|xwdTxDk`~#0q9>)o^ zH9j8*iIh-Kv?Be8zXI(R^IM^^NUO`J(IsZEM|iiRyI-dv!|(Ck%=u8vC9bH_7)ZR3Z2GA|O=(ODGjBe#AGlKQYC{+)9g>n~a2E8olWYe<}O^#JBQAqvOSdm9ql) zm!8>b&hAj+7i+SI1Do$$pyx#+_=e#dHZ^YhOiy3VrgsAcC8IDz;nMg-rKnA<&YU@e z@4>;r{EjH%DT+V2Ng_duo72GG=0SL>p&XuR}g;dxDl{@{`$3RN4 z7OU=}Y@3^)M<~~lZV6d9T|QTSt#H{>r%q8)1%M)L2qOq54^oh-?(S}~Jr)H(%M)** z{xagL;-^2(*vF+TtIOy-dH#gNd;ElX;92SsQU*6vCRvhYbE7XdTg9ZI;M~#n3w1wZ z0A$Y1%~g(qv_jSp0ne+CnUprX7MVF^GTNKG2UB`Vv4Sb^%?~M)oH^^Ke5wJ2A~A1u zw6l;VZ1$>vZq;iApdvdeR6O)Jv~!0gD^{!kzbV@hk@7da_uhN>##G%_VE_PdL3{%U z^VzMe%BoLQG=)Q8!bs1iEh1QREe6$z?+c8(AUYQab0UJ`DGDzB;YV_mE$ODv-Du%T z`jqyPH&$JcnG}SNSsqD8PjMn>3zJ@+4}5<^6x@1)9Z}F5?;DNKJ zj=8zcr$7B^+Ya;a!w-*)jJPTFx&P~%_Hi(rYq5Fsfp44|e)}t5`O2l2E~ue1>DQOP z{AHI<`p0+OJAdW>?>;w0Hf`E;`|Y>e8t~qG?{!(~^Pm5`bK>m$>)UU?{f%#Y15bqK za{dl&ZqKie9Xs~G0}r^l*U-?=9e3P8$7pl3yqi+D+;YnYKlnj9rffuRY6!|@?;-ou zuYUE*U;fg~y>7hm#_O)Tj_BZX&po$yuPZ(B=YRg^Yu2ox;}>6i@tJ3yDZ+99RJ2m~ zXMgr*8#ZJj7u)WRww3j9OFm|a^9pEo+fa;VN8=Z-8!h&r-BztyH8C+kCRtzD=Lva$ zg0zJ>6-k*F%(^Y)Kw0MeLJI*oR#0@bbM1LCztEEOJFpfFSn9?Y^2=?Wqy;?oa?nV5ZcRxL;;PM5uc0uz5a%@L$%_|2u3JGNMX2QrK}N_ zj0CzKi^V8L8VQc+rnR^uMeBwl1EIn9#TQ@PzqUW%3xNM6r}%VU^{f8g`suQ?;cCSf zpas|iS6;btWq*G^fV}c-f`Bw!6Ybz~wI1jD{r*~qYAZv?OxiWXCrM-`jW`1I4D|3A zH00yJ)nVrX2!#kK41@$r(oCI9Mb1QKM!6S>8c?;4TwSkd3IH-Z7{ z%6hxKV3|u+h874}c8w4%TySx;x3?D%2+$%bR^9mlra0kn81NPd1Pb;qrIoe46 zHs|U|zM1sYxC1G@JT_^U<bq zrK4bL89WB^IiV59icg82iRLUK0{om9sdZ}c@wlE`bfb}OWd1ZQO%v@vmCl{x?xwWz z1lR*(!!d1yuN?>hTz!_~a;xB1p*dNzL=$I%3jO*-v}rPJ44zL}IPBFwQgNZ!twLB)&& zOEA~A?yB|{t30w=BN-uwJy2R*<_D4_tg}LzoEPHFClyKiP3Zs_S&PWG&TXJ|eo}MF z1jtDtsdID2V+E*|no3C#3HmM`je`pU;Xn$3e6jJEje6;h)2+uRrzTmw6tqzW2R(eh;e2k{+|(bWrgsRZPQFa}<&k zi6_hODQZYnJ5*1X2M0<(0juTvKLiR2X$2weOm3*;v8k$REmH8*loT!j`AH*jE@9_> zOV6g`XX5x)BqgkcSNd1_nO{Gz6aIlO1_y$Kf;cCAJ{{6R_-K+gcV;d*leAB>8Kg(? z;5t3N9!=5k;;XWn#6L^ya7#yy93jq;hrGOOL2sbvxGaA}iB*{!l&`4%dm%I>t zK`2PQi+Qw6MI4mi z!5L7krYn@d!q|I-b0v}m74v^3qR8E{?X9QJ==z*)ry$_xKr_yzrL+WcDajJJg67jy zX+D8k+T=>}J?XtUHs|$vKk>3cZ8lJ$v?S-MV#reEiWzADv6gp&!?n zYp74_M+g1Yq=VIAgc#ufXOKKKoF#mI1uRgYppbSII~+`nmXrwXFcSwP1cO02D-;yB zcAGj}J$qD7pGg}R417{&Qu>7gPBCD6N=lKZWNA{8XJwB(@0OY3ahLhhAnm4yN~H+S z_QAPx=YWniN}S}BM;>|P&O7fM8yj<9aqKlbH0gZ{JR=26m?Os5S*x4tjo6u{gPoK8?5q(;> za10<_Rlla{e(=hwOzxcx1U&BU><jpK`-3G95i2l~eeAxJol_=1@f$9PA2m(Oc_=&I0$Z3dV96e|Yv{fd zMUJ*htdx;Bs7Fn&ZmkjZAwWEeN-E`AFOTY`=od48Q zPqFL>L@XY-#fsTo){VGjBQy>sNqk%u3Cci7Zrmhn5B=c}1Ovf^2xKxnotfb%atT0a?-g~gO>p=5K^Dvf zLQV4)1j6#%3w{2QBiuXV;=4~13Kh8d9ues)$bBr;^D*ebD!f-s{npjZcEO7IkcT3J zi^j}Yh++RWrp*tOTkHuqCO#KzZ0waLD|Iq-kB3z=aWOH!mxsz=cjCi1cBv1y+euFT z>p=|0p0}HL0ST(spTp5hMnTPY)*sI9+rN)7V&>Zo{>_L-TxR9Ab=c65Iw8_y==r|i zb8Ytcex|XS%>=USaT}gMo$wWj#j^2tl4eLedqJ;{oG>u4X%2}1x zJ1jaNPoDghEgYw5(_eiENi1*yY&tpu^#s4G;tX5MjU9v!b<5vEX0HW4p=FTJ=O02S z`GiI7s1!G2m9s-8YdP{6Z=fC$1%*)5$H-XrDZAjaIe&p(4>u`!6jjl(taN+MY~UW1 zwFFE=K|Y0lO;*dhPr!Kdb9iefxhrRVA38qh5gHmHIx5N^5rQjanvBtxM5rq;TgVs9 zYSvkD`_SP8` zo00~ds;YyIAxt;0*9*7y>u3Q@1zb;B67!e`%k>8EVVsaRK={myPUZD55Q2;&xI~pN zb4#wcJ&}fKuWA&g)pS8Q^%}j8G|WQ8LP3eNiE7!q)smWJl;q@i)I(;(EmgDZa_}+|4mbin}-NUrMitG9Ei3*S%4O{7=?P?Es!$s6ylYv62p##12JkQ? z1zzd~6h$O-FC#@5Od|sOtL;8=c|@4NeQMzfzh@ylBnP>O_R++sfbR`IPOwf$PZ%k` zRpu?MP|^H{YL*)k+fX?C;V-cM3Ki01T156dRgw6SqIp=^A5EDY(R!j@f!E&(Ma0&| zQpCF!#0E^BPhphakF6+wj*!Ou^#Pd34VUG3d-wZAbw-#V0p*wX=5(nSgl3Vz%|uNQLzy5cWd_G(ooh$whiV^cxsNSjqWU}h z+VxtcormI=z`e73IYFDHh0veY8j3XX(K9uAB0%KKy|M`~%-|tFrX?b>sbjV4el}fG z2u*PMXtdkn0|h+{FG8WN`G~xW`lu`KNC&!H>!S$(<+!W>+SN}p+Y0UI*8ub|5%ap* zf&$@rww&qZ)zxEoFHqD#Ls^EW&c9K2dOQ${nU09QyE{c1O*th?4cb7iM!^)jP;!)< zf|x}3Mu!{Zr@7%JaPYL=PH|(g{#w&W{p4;NrK9~}-r_2!0|&h5f-j_%bry-2DOZc| zc~GbbXiCE1_-mcDiY@}srlzKT!65z^i0i9%^85W@V@Ha#=pyB~M6?#yK=*@y&RA^) zZWZ!U0nVKPPMzR|v2V{K4vCpU+DwyDEPDNR2Zc(>wh8&T zdY^lxNe!72ZNY zdXkZX$iRgBmZHCLYjA)k;N{E>LA{}4fp3tJz;!y~v~{TZF`4`m49-R;DMSv6Y<^jEmez48$6fS~`zvq)X=@gnQ9~-`678*-2YN{KMFQ>&8kI>G z8?(<=jt3Nf1bTPxP7ab^PNKk0T$TG+?<{842F(2bA z{&u32`etf#zq2QO+cgAO{Bq8HAdR7+4%bz*zri^LEGWk)02#+pdWx;>Lr(j@wymtK zaNc697_rPZ=pw$3sTgvOt5fnXre!f#|5vW*{nD_Wv0rK8G!NJKHUh&pwg}na*;3;{ z0Czpp+2MLVb_GeBOS?v&CeuDmQlAQD>#w)%G#o?NVv`N9kT3$~IgnhD-FGkhvzIpA z_c)@b^}du(g{oq`G(`5J<{MSy=7!t?BFG4H5P7Vs67*0awa6VX&_F=Xfe}+GQDMal z3wxMnboE;(%Xg5}^h!jh6A)DPFzL0og&GPx3k?J~S+6(S03rrCBC-G>ZY3I6A=B@( zT=Z!_VY?-%u#s!Ck&8#H9e>MCJ96P~_+GYKU9?O?Wk4b1Kb^O1Z6;S2?(gfwBIoOC zEHR8xIm*rXz?s&1?0td}mGx;|6)rfM+kqb(!dh?z=0|fEL(0-JUgvSAr zSDkI2XNM4SL~4Te>8t04n-y<@5Gvb5W|2diVga^^{CMmJJgcn~KN>W(8Fns(Dm!%Xj z>VgP2Ek<=6Ll=BsTRCp|!1 z1jVa6F4|=rB{c`ysr9S!TrC3n*{U`oqI@#utYK)YwSf*tXP~n)AJaU z9(4P>g5|etxN2(`=jCpneNST#L(XTMA?48T8N~O}UR9tc+82CA_6y7v+7Oy<+57y1YHW zW(Mr7*>3CCtSA;*>hb7tTvv`^GBL;*^~udN{un00cpj2lSIqY&A;(XO4={5&|HmQ~ zw_6sR)l=}Uxuln}bpu}ja( zNrg7O$8k{#V15Brmt9ej? zK{21!@(j}FU-moZ*M08GPK^ zu;57rZF4rwJs5^2;RFA+Dutp8Mf>210<~y~jTF2BzU1FGMU$2yBB6;BJy=T!n9ula zZCpgCpjslM)pgj{_V3?#*#9V^KDBr*FN6DY^SS&D3qaM`?|!|2#8+}H0oK35-L*sw z4S`=f6FFaehVkgz9hxUXk8{Jt7>q0_r*tDfYBhjlrdZCF;VjqaUlyxep4=xbU(HGD zF4}MO!#a4JX2Lo=>oCaE{(?@yU44GKxYYJQ(&g|{wUl6RO&Vy($ozVdQ?YhrR(0_- z4#i($j=t4>-lC+bW0N^}t!>v8e3`}VW|Z?yE# z=hF3;-87z3*Q~ZBTwlpn1<6ntQy3>eYHdbp`U> zXsca>8%0S)mM|!$k8IB(3mj##+pXXK;?y|-h9qNedk8eDth-ipH|0uex=%tM~gVth5O zzfMYo4-~R7-fiE*_k=@`fzeI9WtZ@{_X5IqD)ca&R{OrT=-@q;`uq5!(c>L`?@UeU zKs@zZee31a?r(0B%3{(8^)hCzl=zKo-x{?S*<^W;*KoGXolI@g2RVNU#xRXD;3|;c zf$V5mvEZ25{-*zUlTywz0LUMwS4xGegq&9?2f84LfWvxy3G)O%10wHpqC8Z0^;?_2 z$zr{eB1wAm`$Z+O%6`26$)op;oWlAu?ih>hdC;E#>_Blpqo&K?U4{3jS=llY&#_5i zw4)z_)!SX&H%T>MZ<&umWxJ{V?FVcruegVRI8zya@oKr}DWb=o4=egw`dX=!Kf7NO zfnBE_^pQT#{yZ(Zj&xg9Fr`0J?zZLQ26#-_jOLg;Lp@!~fcVcua1K$9wv z;R_~z;1KmakI8vHwzr9*x9Xriv$C?FH3fyAz4_jvKad zSUkhON)7Cz!#Tx!vxhYXHbkDxqF<-Zhr9nv`TQu-=jG!Yo22_`CP!hUSigbxN<4{3 zFL@m#p(_-&_c%=G>uqEN@yY9PW6Xv-ROH<)ApSUJqu$Lwd{kaezOQ-j&NH>~vlZ*) z7BIsNxVV21T#{#!xx9(y#%hf!#^MbE>~G(6>p%bCqO%kPSvHn{0C5UjE4 zz~vL|@A_N4=ORqV81hK1bTJ!qQlwn0$8fCx4v|0%g6(Jy8wk@C_Ce+uG*LaD`^7h< zR@^ljvw&T`HL|L@RlIxqte%&O9?w4XH@ANDb%|&%G~T9Zam_}U56fky5)gv~yK{0r zmu1ikwDc_4NE(|$na-}!IrH?EPt3o5`+V;Fc&p{=_l%zB49aZx-IcnZPY0Fcs>HrL zqOBCmhBpN9!VQ1UsN2>DDEJKUeT6lB?v51S_<-mk ztFjvEn+hYpJssYK4Lj7fhXlWS>)JcVe-h~V2v6k`Jsl~_^SW&LJpSjtsTJwk()dbs zK0b&lgtxmm;LZ&QF5G%vb!QxY?9>ettao{F-uK_b5b7S0Zt7P~bYUb`7vcyOBKgIN zOR4jE{y5kV_Cxyd3t(EnSeag@3<(m~q1OgC1y0Bax1RoR`r&YHzLX7Ne&f~4dBvU6 zGx)b;LFM_Xm-BH~a{V4Q?Mseg+F52CQ1MeBpH$Z?YUgXg*33(oz@V8z(iny)B=A?q0j56%7K2Z!z7 zP>!6mwC4jx-%+nVo@MwSM{&Q?YOIM0BXwmFNX}==^z^?IbYX)FM6l$mnCt0FN~-0N zkESZ8OF^Vs=y^*iz3&_8ov@`9E-X^8ZNzWlLwk_1seeZ@lGT-_3Ft_SLr#%OVx!De zYNi#pV9cXSxzkA;>VJ+%7)p-v#o05Hp#OPL6ErpsEnp>p)BD(ZJUr<_q5Cs(=F-65 z>){Oiv>*IKT65dN)X%k8%-)V@QXe;R&|Lt>^m)X5C+}@}C)?}7aLH5z^#T~rvE*zd z){0NR%W~T!26gU5bI)u)HN&!c4jQm{!ukY#K4iQ@|E?p$67Qo}Wm%aLC=~!t>fQoN zujuG7rZhmEVYz^oRsS9Sv*|pg%o|TYi{qL$wF;p@km*=G+knYQC51`sbPoDQeRfrwv>{@;g`MI z&BZ*22lh+JqN9CJ=9DR!WGSMin{1Z|&rW3Lepc^vEI6 zF~;)lPcm~tE%zF4`3^88CnuxB#PK(!zhRrC#mk zC=gN#7&i5Jyvvub4Bj$6845%mn4b#(< z5jTEMMU@>+Cd%UDr$;i1gb~_NVTp?z4mYFkO=7Meor_SK836?j_>{3!SzB?B*Zc%-0DRkeqsJ}}#+;Q%Q(O_Au9qBU9nx@d^5^GQ>+l`SQD2rD*;058L zmah`DxK{IpV@sZA?)?sQVwoyU)=T)hDzj7a0{!to1#RlW>li~}p_p*Gnxu8-9Z$RE zmPA0c3mDUmcpMI(@V^1v?BaL-KrMNSgg6N(-A;|4hm1%N5ToM7R!2VpL0$OrGf>Fq zn-|&CYJ`IOHRlT&oeF&U`XxT+{mkrct1EftT5gY54mNG|^Z<`Czqp*4e#<2BvGR;M zG++{guh>+e6}9*2bYCG*Y>f)S#j}wjOcI>fKoRDVSppApMIsrK$V7@e@s@IXMrX%9 z72+Z;ooFM^Qm^}Eqzjg}UMWj53gCV9a9r%@o${NveV?UrFcGgsj-A85t9+jf9c8EJ z0ZqPxw>Kx`WhfoMldm*fik?koH_X?oMQ7);^M`h&jmnnQ&!+Rxoq5ICBp-s)o%W|Y zF)jo>(S~#RIAj&w{6hs|%&c+TajLcHar>XO09gs1l&c_|4H?n}+E|}{zXLN}Vr8#I z{orESC_A-pN(E9@Z$Ilx+JNUWefDZ>d9Cx?qmtdbR2Lh`H8C?ATcgkG!+-V%M8W?l z&FNeI?q=#J9R{tgt_Fx5z7+}Df_Tlq{l1D%PQKj(DFht9`DN3?lpaY*X#yW{rpEW( zs*zr09soL`33#Opa5yk}3JAq}+{)U;laWhWbsLEg82&(OLqNBcbIv1^NoPQpW+?ic zs5u2PVnulzY1H}Kk191^NA;qw6gRZhCme|_#X_d#+%2a;{nO$4Pi z8jtzb|HP=nS~wmgEIS+TSv_egfK%&N`-(Yzyr}iE(Kz>W%16NWkza*i_cWZg`snz$ z4H$_8M#&{(`{}itXE246b&a#q()z5y-nh2O<@O#VXFe&C!#? z#`mr@`*ufpsPX&fY>LSR8?lhqdwQkMpMG znKkp=`1p{?yUnHvy!ipg z-)a8O&IT@L&N6rNH)9sbHkj+G5o>eRLwv8j?Gs)7Y2Zgz2P_eRL|*p?Erjs$$^Irg0;s3}hy|4xX9cp^Br>PBC#bHFlbVZ!Uv|1T z&r3IdEcjcnx%T^qGsWRnxHSkpHYw|e{KVZLhP>bEc28r^hd(R+7_`EuK>zGV`eujPcadcmA;CtODF_-Z6q}LCUTAYwAQX{Scv}B# zwyy4t-$C4u(=?ac=SZdTsRmYs1f;IO1Gs?5NT=AyeT;U!NcsS=f2s5qPIptm%;BkE zFl)cVym-c9fBM;E`2tGe)-k)8nW*Mn%5;i1@e2(#2EWZ z5)v#&`UY3)gWH8Z#XG#Ua6wve7{{o%U?age1JW*-O+>=%)UqdQo!IP$AuSt~C)9gA zHtBvF8Qn4-c`n;P^McZ_w*+aCM!nMjhYuR+G%{O|P;IVW;65<&nXI>KR) zK5##;pRe1A#J=@wU-=wYY30kf}A6w8u#$=jWKN3QEJN5sbeV;s3S%6i6#Tw$W zP%|Z-a?Z5pTk53zPnxky#Y&;iXm1mQ~93O^_tvE$~ z_lmJCjSOs8`S7Jhl^Tl@jKYk?1Qr0IhQ`83^qB~axY}^n#on4yaLJjOl`QXsJ}JIe zNl!5M3wd+bUA29>Do_1_Pi7Av%bu!!+~_g3zDUO8*|@uF%u*wvjEuv8o;3n=^sYcZ zJ6rycmR_7UdFH0_v#q|5Y(=$i9=ViEO6;|FP`5Jl(3#ZOfwZh$?}IkdL?-scn- zNL9o(y2_pt7|^I0poKzzEFw5E7VSas>>l31c;E2xX57j15TLJDNtmI0SE|P}(FFG2 z`m#a5EsB0Ul8ds7a-Tm6GiiYEL#wuTkA2a2;Xkbr2wYF@+T32aXky%z*Ujq}oAsw} zna30c`xA_a6<*?NLEqP~9R{}@HgPbB3G=Z5sM8u5o>r%SEr|h}YYi1hm5uUZ-0N?6 z=P`P{eFujJ-#HH)Lf;&(e_1os;fp*|UKN-}LEo*JbDbxUhsAmJINCKQXluX^lQa zQwId_iJm-61wyP5c7ZXZVwkVXF|W{2r8-1OGOlg>FDuVE7hWNpBUFdpFHRAyRX~Qb zR+dEtXF$j|94VSY$0^p+*sxiFpb^%x^Zme4DG&(6P~&ANv>WdgoHF2c!=9up^$t&R zKHvWB%Xhe(s;!IP<%JN?ga(+eFA9n?*(wXZ{+sXnf*@6?>KCi?Gu$lF{09+T_Npq7 za&2yZJuisfqU%@c;U@;02x7O>B{4e zw;K=PImwUKUVRm#aQ?smp0>udvuqZzPCqM|?$Sv$JNq}wqVTWrq>X*eJbl`fxV1=y zt4n_bsCUcU`}l2ctzTttIBU9JXhfAsuPc;law=Z#6v4w%+wL5-f_>HRK+I~5iOf@x>QZQ@P&f}{$GzA7gm~Oota-L%! z;BnqWU436D7HPQ7y^?u;B-Un5rT&)wG*5C+6BqWToM;Ssg7r4q? zv!=JK{YJ<0G_g+qrjnqrhoiq$Oy3glxYx$-0@uY{$n)863*dxGpt=LD*zr<|fqT&= zi9&lRisdS$#l^Jj|G1KbtQPV>S^7#?ScHl^E#3*>hP@aXXYxeBK8}QJEH;l15;#pW z=Skf4>n#a*hmol2N3L_ahoRKz*iV+?kGR`?0H-LNW|{@@1{Uk=;u0r{b_C42Ko&1% z{!v;$a4C2jn5e(bKP>g-L)ewP?tI86$|G8v5$lUNu{+2mT1!ZV;iZGb_^r#RGR@`Xk;oETHoHGTiyI+}8uZ0>hz3o6!5JPih21)ZQ(u6|nnv zqxE1=S$yxBfumPMfHg^ku;u|k_6z3Uatt+~?Rg(+q6FPB-itNLg38xbbh+jd?t700 z8jz|Q7Gld`Qdf#a3R=>4Ti2j{kByD#t_Sii?j)Vzy^=c@v-k_4Vl!4T#U(edOVO6U z01YBS1y3NC$p!vSPzS|IiJuS?hJk$jdUwY*V#JynrwF?MbuUAhMZGL<`CRa4;XZWv(6qK zy&)L1boe*Mu7}lST&3mfBljsrU(Rc{+b6nlf|%j&tCHIJ!JB2?6 zzu@L0>>fYKc$?Pse9(MU#NCbL@_6NZwjg51TX!~@{JlC(53%_+F(bHP02_UMdA)i; z8U41Iz4a~+fN?{YfWE1C0fFmdW9xkb&$hL1(;Ar^13AQ^2Rsisc7Q`F4*Kg>M3u=> z_)IDV6;b;{aY-o{Ibm@UDU+99j_$Mu9Srj0e9lMWd`EONAU9h)39BLtS`>WfSPQCYy(bI7(IN{sDFsyADj7m zBPIWK9Hw8%PK5(C`A)}OSOP0iC0wrf*>OWEX;$+fseZlC!b-!EIy=bRb_zbo-Qh+Z zKOGiMu`cXr&9yUar)x%AH#dp%~ zAA^ya*ef6nU>*0^U+(!}cR2k@t9EyHxBYrjQPcgj8AQHo{eQ0kprPoj10c)`6xM_f7bx$S zohI@k^0udytqA4xDw)sK_SDuy`V9BcF}n| z)w1bXvEY@YQr^&TyY+FtB_MvKW0Kgvf4AYbRV7b7ai=&Y+X1)@BEKWD*V(Ldut}E{ zRRetGW6{xsl+>(`Zn7sJ5YO@b@QB4LRq14(y!;*2!o3YYL5|2M7F0O%b?xgb`YVC7 zO{-Ft2DQU<`f)W^o4B{<`Z?a#B?RZU6XXQ3coE==S5)+n5r6^y6Iev^l_C@`IWvk$UFREW)X z@b<>X{j$Z?y~*X;#hmG@zpc-QAeYM5$lA~>gNh(ko){P~q4mw01GK-HcYU+mqq=k# ze@ii3Q1mP!BX9cGIQK@1X?bwZ_djpKR)Trf886LVbe~vop}HynW>(;&p`O? z5Z}JVB-vm;fJN$dxFR7Vqmx2u&j)~a!aNS{9r^)+n^YIG_*buEmmeHSp#|)Ysf*!a4U$*V-;UsW| zy*^$J=d^2_CA{Fhn+}pA2+i~>D(m*CS+jeT>vfyV)POQu+0abp=t)Y|2NSjI3i`+8 z-v{4EDWeH8v+cevT zRFd~8iU<>}g-Ul^=5H)g;N{XR#7fjD_?#t)(#=|u)R~g+s!CYvMOxBa@U$lpzFC() zWap4ib+>5+1PzFPITz#M6C7wz6_J1DA-@g_I-NKj`y{G>uUuVzeq6F?uK~Ec-xVNH z8t|sYjPO~H2MlIh73rzRQ#XDK5era+gW=lbk{rseGnoSP4_#VzHeZjz72-SmzipXJ zJI2-BAFa66VYGWMtr1gz>zx3bxe-%KnF zw#^T#Khz+(xMCGJ&$g*&zdrkVfA$p9tJ6X>1J2syRX7TL{2$jb79Iw>XBLl-o+sj; zQ5V6qP=S5qx_CsX3Gr53h8$w*>eJ=Bov5uJXFdG&mt~Z|#HL;s?qy(xSJzcPA_obF zA+?N!V(ppIQ9TBwob^gAF@LuhpVoh;Yfuw;(#x^DujkU)oD#T`{nE;ABjUP96?Ym(d#8I|jPl){iq3{PqDfjuw^> zmHkwnfJbVh2dV zX69>P4CM^~UywKH>QCb>%m7}$aQ=#}l;@9A&G*;gKUSBl;;N<~k-h*O`$4$(p8@L= z)l4-S)9#ys8LCwlOK)sU;Df*{Mq|6Q}Ag}ZizS%g1=lV2ox%eQ3XS$WY142 z86UW5jy<5#7Jy_~fnyd9_nunRipC^G$ZDoNB10*4L3zf|*+K5_J4tU?NI$2o_@kp{ zxLVj4t>{46(xc@@C&G|A0&$Ctmz-ikcxNw_=PtguplC{noU?`Cf%Qb{=udb7=wKWH zxGc$@cuo{;A>aHW^D7!H3ol^07Wvzc#;tf55+lA3!Dicya8KZ^U_ufUV14}s$YzJ> zM{B+Ju(Q$RwNRnC+1j@B-G6!b8o?gq_RMa-lDB4<6N9XOFA84Z;?C2y1amNwzCG-> zV3-<7R#67T0b)Iozf3=K&R*wcQqrT)SgeMOITTlfWlvx8?C2jo^p?4E%z;qOst1j> zD`)xq#3^P;V4MDP=dFZoq7^_5Tx^%czAXA<$q#xi2bjk8b8Qa9GXP|HKqasS28n}@ z4~1{LS`Q5?9YAu((1;-MNiKX8e@O1P1zdc$GY|s)i>uZb_8;V-|Ik{qgT1B!ndTI+ zLC8+pBg3!DX9Ctk6VF`KZ)cCR-?VlVukCMkb4prim#Y3$(XJp!CMO#B7YRy?;8~KP zrhh@zpw~9PW$C}qzP}{fLJOA(jZN>d`nZ>sM)*l>-l2n?(A2Q$f4M`1uMuk-t59pT zW>%0Z>O)qOpP4?N#XaVS1a2#KA3Qnu6;jak;9ec-C+y?rVd-B)k>^qQUqaDiy?FT6 zO~$6CFrn@z3)J2*8b*O6#s_0by`s4w@q| zU|zk*@cyn^0rf$l`_q{yS|S+4ehfl=qobpoTi&dg5zp@*;|v{@B_Sm((3raUfll>{B?!#v|Mgy0)-P^WfA;fdRxZPz+RzMnqhd zZoIK8{Vp|aVM;P1dYW2LEVGP&GeJ`w5Rs_1kG8(dFT2q1{qd%Rj}=5*nyRXa`9nkL z$@y8$#@G&aJ@hpokFr@KL+#}J$!+qa`~&8cqO(>}=z?kxBQ*7%9zazT{FYu5L5j*;i(W%Ek7gy=ES?)W))O6ypFqs`{+(*K7Vk$o&1au_@>N8J>Cdv&L-+JNJ+(x zKA;F;PABhk10&<77#;ZlC{oD|j!lNtG!c!ls>vVqW@jeE*M0|9y1dgdyCJ$r%HL;p4e*vZO3Sqh|I}p(cMZnG78R#_?z`Gw)6Z&q zAlR}Bblgc2B@!GV&51aky+db(&mAX!(a0y~U++*Y~D8&!PkwCzl)pM(x7uPl!GE2sNU z^Ks`Y#252_XMaX9AgmvNV!Pv2vm2Z2A^WiS^f^7HSHOVLTqqdO7}I35kW355Z2tTaEi|A4~=MWMl#qD?dlXl8z?Z7?FJ-+(_c8Wno> zEN3XUJ+cNIQDa{`GMF`(kdWZN378b}D?B{Bf}duxFq5|_>3bK~(@1C&f_=Py2%;<| zZb0-#psKAug7aF)G7I+KYoYyOHDQ#z`FUTR1ySabACR#~3jKEzdK?s65#V;>)_w~;}rCP9P$AF%nALB$5!%t;`TX> zB-wP1z#>aODZ)ri5M;b`Vo(=tt`BF;gz9N5pZRr4#z*t09%%zFJIC`wVBc>>9}uB4 z^!5NH%c%-C7Pp{sqiKZ`6;JvYu4so)8X;+&OncwcaZE`uqi|8)q^=P$YW{SMJMUa8 zT~eYKR;uv;dhHd&?H*n$+)^kc_e(A-1JN(m z?n~n=LO{7mQF}SjrInX{MrV*dedxjJ4s)Ng&`N*K|A&#sw zW>VRP)Z(ZN@nxw)BU>?%#0u|PwGP8Kz7MSUd)?LT=0Hbc*lsG?ojnm0L$aX`gxY-r zTw6sf81l5FVgCr#{G5y&>v8G=Yubpw&zSFSao@{Wlug9^$l=e`G*LA?w0Ee#{J9dr zH47M0>HFnV^i6pk7&8Vlk75o_x4`hxoo?zC^;bYDE26lqingua>~jB+T~M3ox65`I zOaAZuiIU9h%W-iW(?p{{U;cnhQn-5%;^>4_23chN0GDayC*|RR>1dP{uw4_DDDK-@ zKIK`zr4Mt!Vr~*{fzx%$@pkNQ{9s?jiY-tWOrmc_Eh60wZ9&t(=1dx&oG%Hf&d~E! zT^`-4=Dq%{&f<-}b)q+<_CTu?Lov+08U=s|WOvWTGb$JqDob;Lp{Efq?q3n%tUrIp7ycHHnYc!07S`2F0fyVGq98nW!T-}#qegP47B1$b$`ho zAH&BuH5b)c<{N}ixOwI>B&8A$>1KXr4JQAa%T%*t;nX$JYXXDTGz1O)EyXMdaC7cI zIikqutte!{H6nt3NAwJ67}fL-AeTvFPLP6w1EFfL`*#mytkj}qaX6W|NDZ!Bu}9kw zbUVZja)h5W;1yhcqy(hwJ_k-%UHeGBm3c9%N!i-JM-hEYt&mpMc$zUl?FfC`f zO@;P4_Ol=}NuFV=nSd}AN{Ac_DG*O?XQSSav(Oir5M?hY_5?CmI>fN{WR-xRdMQzb zsva&|14zM62~q8jCXDPls+~;F2`shDF?DY4jE*!O2D&U~0y^r-Tt2l{!LBLz8^YQ{ zR9_EeLFv3Qh^kau<2yimWA@NF`*5DZum?SS8l9yxdZ1V<7H{-@d89jks1LH0BbW6v z3O*IBH#Rw{a%b8_0PC?O;H+-6`nJ?@A%6yjY2@fL4rvr|0AYW;nU@>T7ZCPyblC~wD+?~)BN&kDz$Fsl{-gA z4zv1=PR4eCT)|PJ2}gL=69!X1c@0WbPruG}uI`Bpfb))eXIB+5ac^hWXh7 zwQX1vZA;@YuhY`{{iJ7bqFNzt%LNtRWW7%f$50b>U{HvGTOwzkTR1EI*pi!in8%)S zgT(jus?bCYHtG^vm#BkiF$`-13PSlHCl-a7%g?q9$u?L)z~c-WYN;2Dl$MxYr9^|c z$Q|CX!2FRFAQxcjoA5G>;!1;YE`10hV};$RH6#+vgWGnOZ)&FN8w5hT=6WwHhG|9x zp)2dt^6A6q@WtpQLh&5`s_f_LpPZe2dFk*DM@cnf?({S99~A9ecpv!Yo086G(>+`uSi}>ayg{wjI+Ll z$j=>}Ji|FXYd@E&pC=|JP+~;ni<=W= zpuSNZ;bY^UC#O+MEfz%O>4*C&aw8^1BNxDpL8`{h4)<>{lv5^=`8Rc5x2htN8WIb&TW7w) zo_n#*NBb)az^G_r#dzoBovU;M{aRbPaV7_(JU&;~=X1zWO4Z@g_~dws4jNr_!1$f4 z#fa{PIU9i|jFZNpF7ig~XwMhf0}~+xY?Mv}6a+eV1KJf+FT_xZVBu8XjD4LvpA^r@Rt-TH%$z3AHf?GjqPn4M0z zxHmE(rg(ny4?uzxA`qWsq>@)dER>CPtiz`wsyzsC@VJ=VRQx#!sY42jS%}ADLcW(! zYzsW>whndP#K2He?ouEkVfBr|>Uh8)u>u_|gDJ<1F`prj7^_hwnqw;!oy`~D zViIj@a~0XJ#J+ym{b1HTfng$oSp8GD6^3r z>V~$`!!I)b^yM%r->m)^<~zcP^!iKgq?b2uZ$AqUJRGvwD&6)~p|j)P{nwf6)gl?4 zvgo~zolv;9^_m)Q@{I_)7tw@9K^K5V43AAb1<|~ktWDP%M}R|TkW9SXKnbljoMnB( zP4}*U4t_{NfV1|3+sA^(XI^^4XqZEKFox8IfMCteSLWQ^a|N!HG38*-NSORn6r^#a zb-PwEQQ;RHQZ(>y)gu=f9EErn)1-YWA{3(-g={g*H*0S5|`q1sr}Aw)js z1kpnX0vZoC2&CqPBON!QB*X>$)uG*YYg?dsczkFfXD~TW8Ij~X+N4U42{w!p7afJV zX4GXXwqfDifh59D{tX^(5Y9n@Jl5bhKtBdTwuA}?>p>%R*0_X$QqoENA~#O#w>6X< z0Uq>qlcX^Ctz7@h-m@X;Z4k!O0t#G;lOsG|VDzyKs&AgyPsNAvdhxReb5FQPb@~t* z&TyFM+Tge*ahrl8?$7N%ROyT}Hw3E~l43Ng_Dum*8iv(if>0#c@p9m34q(RpA^C1F zg={-UH6Tc;-PSLNKss~~^xJAZrraN3oWcO}3Ow2Nbn&rxY6*?*1Nl=RjO%S^IE1OD zIWnxqs+73yh|QXm9hV!4Sen7zg;n{FBSNeS6_~3hKZ_WpIS0E+}bI?IU&>qD4oX6A?U3>aUtp(61h9~9qcUl|4dSdSmoJm*y30pVWK#!6PZaN zNm!_@8ovP?90{sJ^yGh)|C61^GWa6o8u+b{BixgE+X3sAWtD`~3LcEKUiPi^C@C5g z1Fvtna4=}=h9w*UPREf44$k@)TxFa())sqeimko#oRHwe-#dU(eKEvQRb7lTE%;weo}!$xEH=C}KJM-6F{Vc!OB}!;01}nJ4sw#gYeUXG1qYX#v>LT?N=BLMJF~!_m zTO5T#^hfDLnqHWi9J6L{ZaPww@5B6y{XGmKBBdqD0KA8VvcJu-&+8xvcK*3l%}FsKrz``)usu4Y2RrM4z9tn7d~SS%#6ouhvJ!o%k! z4kg~V>M9~=r3#IzVV0mYiJiBE{6i5+!in8JSX`#!%VB$oU-LYYtut8~zXQWhP|~R_ zNOx`>LIUIFw-8-nh9^muL~(*7?`kQ-JV;iVeb*Q9HQoVa&DbQuJ%v{!xu6x*jHyqu zn?@4<+pm}WpDpmWzcSS_KQm5#_!c<_R(JuYV`Ef4U0wSxspR~q*5-9cuaOd%VQOAz zu0gjkiKM#w{2)(=Vv`v0YcPoGE)Bb89E2N*1--Vqhr%^5AV77K`iPl`%0KDww;hZnfM-;8DK=_#O!`T3(D_s2rjngX{wRgQg?}*CggJtE zJ~EJmh6Y(@@Ni5Ph%Mko^(+Ys80hzF!GYj3I-Nu>{$i2@D0b1bL5_oO|Gy*Fqy&#H z$xwxSZNx|hEnavT4)m;?Ar|*VfkyswK-L%F0HPHCPXH$i*z~YL3xRb9!j{sK&=h9U zY?QueF$fg7a|ID}qp{aKKt|DZeG81DnRJ84suo$>sarGnr#8S=Pw1Fo!mKvo&DsM6 zn{_>98RuyfR?t#rHX?CgD-pqlMt*mu8|>-G{J6jC_Ic~5I!4hloL>YA3J4THXbmUB zG*hOafbBGVg*c^l>61!$%ho&qM#vURH~7v!RALm($ZrBSeTbcni46ag29?|q?& zQ8Yj7=Q5w!G$agAr4R`H;g?&t2Wz!PsK<3axNAK%Fs)sH76c0W=dzl?3E>*EX;6@h zm1xOc8eB5npl$gS!*9Mzo51O}bR}Xf2m0ieewEbPT{=CRRsu>b<_JK(4FA&w`c(jd zVt0Hizq(E5Mxlp+g=140MhFztEmq@9H@IB3{gp?l6PD9&%c+qTk26KV=+&COt9-_) znN={mnS8Fq!7nWWVG9Tp!kUmb$Y=l9So2TQv+Tfe{@={f;Co+?VwYt0{Hc;KzZX_- z_014jH6mCWo>SM!M>Z>2&9_g`*7Z`~1P*%!fYdtB#j>A(Kp_j?spi`YB)#`}$vbMU ze1aelqRf0uo%vs-PBGq=B7$+fwN`eZ&w+w1?OUE>g|5>+LjK;S=G8GH_h?C4fP7XE zcV07rdIAE46rqF7YCuy?{*^TSCzOv~nY~F$T*?&DT}5?qOc23F5+bmIT7?Lt(|UY zRdq`>q7w)pYy}AP$*t|dEJR4VLSW0T1-1tftd={H0Kz67qheE_5Fr8r1raRB1FLF? z7C_jP161P_P(Yv%AkcYJh>&K3z*gQ7kt2MM zU~5jb>(C1V2pc9MI;apK&8m8>9T6?=3*($^w`j1Kx^Zy((gFx;Fcw8n7$HIg1+3@HyG6q> znoN)B&9FgJ0AckgAn;FewCCfsY>vbX>khJzFsf_0tFB@&G-|mfI@^c zp@v-sCeX|zyfvLdTP14;W*7np7ax4W5mbnfX4J3k>;>8$5ZFBXB9?AmKMzMPfN&8L zgxCuxL`ahf@Q+i#wq639*Fr5Cm$AwAMJ$ei3&N2LAat}0r3Mt?V1x*1HvA(O7;{-X zZ;P%4@}7#f0t6Bf3@FYP7C^{Nppr)tUNG${d;!Ve{uFpW@eQE^=LCo+Z1XE(0@Pd` zr<>#j+V)F;?ErzvmPy};H$6Wu)v^XcZvXTMFPL_Oy)@UJ{Nut`jiaN5i&cC1^%@d_|c~cm;qlA3@9RgY)yJOwOrzVE;h87_e? zw+Ilni?yN6)uO}Cvx&@N6t=@BY@t=|=;i7BnX8oAXkS+AE(b24gT8VYx!U|gO+-O! z0r0aNUYc+g$yJqKM3JqUqFmOCf9Wd@NIM_ZT> zD(>uT@`v>DUHofrrNmQ4#Ptf_wZbIKV0E4|mHfVEhj()Uq1Xa1z^^Jg%b96RNZH-J z+>M{@J}F1%aw6!Wi@8ljw(_({)`85C&%I4JvopA=VG%22z_hS!li;QRLa_zDN#BzO zZSt!`G7u;RQhDUh^89SBC0>DlH6nsZLys-u6k~y$tjdIWm77&4(;4$Hennc0Oc=GW z#Nx`bUU=2Excgosfly?DXln3lwFQIL&E?h<8Mn2t9OH*JP$)Dj4-jm#nuZbP+THn3-V1^yQvF-uBj&);%Q_>f~ZAOa-Z k5t>m&nN2Z1|9=4n08}j*=m!fzlK=n!07*qoM6N<$f=yjPhX4Qo literal 0 HcmV?d00001 diff --git a/packages/scratch-render/package-lock.json b/packages/scratch-render/package-lock.json index 4e0ef9322..d4048a952 100644 --- a/packages/scratch-render/package-lock.json +++ b/packages/scratch-render/package-lock.json @@ -238,12 +238,6 @@ "integrity": "sha512-Jg1F+bmxcpENHP23sVKkNuU3uaxPnsBMW0cLjleiikFKomJQbsn0Cqk2yDvQArqzZN6ABfBkZ0To7pQ8sLdWDg==", "dev": true }, - "@vernier/godirect": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@vernier/godirect/-/godirect-1.4.1.tgz", - "integrity": "sha512-5RaBF0UOLJR85UWlPTUv4c7aE3OW3wtaWd6MFEEhVrHTfUuEJPq7444U8tC4hKZnrNyppV/bCN9JtSmN0OlHkg==", - "dev": true - }, "@webassemblyjs/ast": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", @@ -464,12 +458,6 @@ } } }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, "ajv": { "version": "6.10.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", @@ -623,12 +611,6 @@ "loader-utils": "^1.1.0" } }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true - }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -1440,12 +1422,6 @@ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -1506,12 +1482,6 @@ } } }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, "base64-js": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", @@ -1536,15 +1506,6 @@ "tweetnacl": "^0.14.3" } }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "dev": true, - "requires": { - "callsite": "1.0.0" - } - }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -1581,12 +1542,6 @@ "safe-buffer": "^5.1.1" } }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true - }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -1789,12 +1744,6 @@ "electron-to-chromium": "^1.3.47" } }, - "btoa": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", - "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", - "dev": true - }, "buffer": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", @@ -1928,12 +1877,6 @@ "callsites": "^0.2.0" } }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, "callsites": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", @@ -1952,12 +1895,6 @@ "integrity": "sha512-yWIvwA68wRHKanAVS1GjN8vajAv7MBFshullKCeq/eKpK7pJBVDgFFEqvgWTkcP2+wIDeQGYFRXECjKZnLkUjA==", "dev": true }, - "canvas-toBlob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canvas-toBlob/-/canvas-toBlob-1.0.0.tgz", - "integrity": "sha1-m/MrKGu04SUhiyCO7MgyH9Az5sM=", - "dev": true - }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -2269,24 +2206,12 @@ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", "dev": true }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true - }, "compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -2451,12 +2376,6 @@ "request": "^2.88.0" } }, - "crc32": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/crc32/-/crc32-0.2.2.tgz", - "integrity": "sha1-etIg1v/c0Rn5/BJ6d3LKzqOQpLo=", - "dev": true - }, "create-ecdh": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", @@ -2569,12 +2488,6 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, - "decode-html": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decode-html/-/decode-html-2.0.0.tgz", - "integrity": "sha1-fQqIfORCgOYJeKcH67f4CB/WHqo=", - "dev": true - }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", @@ -2669,12 +2582,6 @@ } } }, - "deflate-js": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/deflate-js/-/deflate-js-0.2.3.tgz", - "integrity": "sha1-+Fq7WOvFFRowYUdHPVfD5PfkQms=", - "dev": true - }, "del": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", @@ -2773,12 +2680,6 @@ "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", "dev": true }, - "diff-match-patch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.4.tgz", - "integrity": "sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg==", - "dev": true - }, "diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", @@ -2839,30 +2740,6 @@ "esutils": "^2.0.2" } }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", - "dev": true - }, - "entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", - "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", - "dev": true - } - } - }, "dom-walk": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", @@ -2874,31 +2751,6 @@ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, "duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", @@ -2998,49 +2850,6 @@ } } }, - "engine.io-client": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz", - "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~3.3.1", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", - "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", - "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } - }, "enhanced-resolve": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", @@ -3153,12 +2962,6 @@ "event-emitter": "~0.3.5" } }, - "es6-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", - "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", - "dev": true - }, "es6-set": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", @@ -4059,40 +3862,6 @@ "mime-types": "^2.1.12" } }, - "format-message": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.1.tgz", - "integrity": "sha512-6gBXI+MOE9pu9QNeZf95V87GKYiLCdUvhisjts75xonaPAshtBu20NTZt2l8kbYcoMtxNyH9E9af+aieIRfVmw==", - "dev": true, - "requires": { - "format-message-formats": "^6.2.0", - "format-message-interpret": "^6.2.0", - "format-message-parse": "^6.2.0", - "lookup-closest-locale": "^6.2.0" - } - }, - "format-message-formats": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", - "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==", - "dev": true - }, - "format-message-interpret": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.3.tgz", - "integrity": "sha512-OoOdB5yHLzW89RwDQW4fj+8p2Eay9Dtmx4B7Tz8C/QQl/j+aVjy65A5xasQhQD+4JumYU/OxMBdjYzBSR8+ivA==", - "dev": true, - "requires": { - "format-message-formats": "^6.2.0", - "lookup-closest-locale": "^6.2.0" - } - }, - "format-message-parse": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.3.tgz", - "integrity": "sha512-ZSL3nZ0zaDktDAGwkoGJ439rS9ZfTcMOrWAVav9BOAoKs0qE2Ozal2H6vVJOuIdDhwaJuFqvJ7fdRSE+qR5oNg==", - "dev": true - }, "forwarded": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", @@ -4958,16 +4727,6 @@ "unicode-trie": "^0.3.1" } }, - "gzip-js": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/gzip-js/-/gzip-js-0.3.2.tgz", - "integrity": "sha1-IxF+/usozzhSSN7/Df+tiUg22Ws=", - "dev": true, - "requires": { - "crc32": ">= 0.2.2", - "deflate-js": ">= 0.2.2" - } - }, "handle-thing": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", @@ -5005,29 +4764,6 @@ "ansi-regex": "^2.0.0" } }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -5172,33 +4908,6 @@ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", "dev": true }, - "htmlparser2": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", - "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", - "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "http-cache-semantics": { "version": "3.8.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", @@ -5383,18 +5092,6 @@ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true - }, - "immutable": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.1.tgz", - "integrity": "sha1-IAgH8Rqw9ycQ6khVQt4IgHX2jNI=", - "dev": true - }, "import-local": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", @@ -5465,12 +5162,6 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", @@ -6134,26 +5825,6 @@ "object.assign": "^4.1.0" } }, - "jszip": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz", - "integrity": "sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==", - "dev": true, - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "set-immediate-shim": "~1.0.1" - }, - "dependencies": { - "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", - "dev": true - } - } - }, "keyv": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", @@ -6214,15 +5885,6 @@ "type-check": "~0.3.2" } }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dev": true, - "requires": { - "immediate": "~3.0.5" - } - }, "lighthouse-logger": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.2.0.tgz", @@ -6296,12 +5958,6 @@ "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==", "dev": true }, - "lookup-closest-locale": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", - "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==", - "dev": true - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -9607,12 +9263,6 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "dev": true - }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", @@ -9970,24 +9620,6 @@ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", "dev": true }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } - }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } - }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -10777,112 +10409,6 @@ "ajv-keywords": "^3.1.0" } }, - "scratch-parser": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/scratch-parser/-/scratch-parser-4.3.4.tgz", - "integrity": "sha512-2MLf7rcAsJhU645jHkex+BZQwDXkv6FIkcDJyGMoR0IkzH8ocHg8GBn3e3pp9IXpcaXsgdXA8/mtjBKAmuuO5Q==", - "dev": true, - "requires": { - "ajv": "6.3.0", - "async": "2.6.0", - "gzip-js": "0.3.2", - "jszip": "3.1.5" - }, - "dependencies": { - "ajv": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.3.0.tgz", - "integrity": "sha1-FlCkERTvAFdMrBC4Ay2PTBSBLac=", - "dev": true, - "requires": { - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", - "dev": true, - "requires": { - "lodash": "^4.14.0" - } - }, - "core-js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", - "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", - "dev": true - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "jszip": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", - "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", - "dev": true, - "requires": { - "core-js": "~2.3.0", - "es6-promise": "~3.0.2", - "lie": "~3.1.0", - "pako": "~1.0.2", - "readable-stream": "~2.0.6" - } - }, - "lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "dev": true, - "requires": { - "immediate": "~3.0.5" - } - }, - "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", - "dev": 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 - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, "scratch-render-fonts": { "version": "1.0.0-prerelease.20180906193204", "resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.0-prerelease.20180906193204.tgz", @@ -10891,25 +10417,6 @@ "base64-loader": "1.0.0" } }, - "scratch-sb1-converter": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/scratch-sb1-converter/-/scratch-sb1-converter-0.2.6.tgz", - "integrity": "sha512-8vouxo89XGDvLKwmic640o3h8oOLVYB4NCFCxio1p30Qp1bHE0AEDjso0JpY5/VqnJfEcLNnDleCUedE0fmMkA==", - "dev": true, - "requires": { - "js-md5": "0.7.3", - "minilog": "3.1.0", - "text-encoding": "^0.6.4" - }, - "dependencies": { - "text-encoding": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", - "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=", - "dev": true - } - } - }, "scratch-storage": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/scratch-storage/-/scratch-storage-1.3.2.tgz", @@ -10950,58 +10457,6 @@ } } }, - "scratch-translate-extension-languages": { - "version": "0.0.20181205140428", - "resolved": "https://registry.npmjs.org/scratch-translate-extension-languages/-/scratch-translate-extension-languages-0.0.20181205140428.tgz", - "integrity": "sha512-vNE8LSIrJl5cCCS1yrR6wivtFhuJmHFhbZnTrkt/E3BfyqMBJgpqJTtYfi+up1sorc7AixhpHTARE6/t3D//MA==", - "dev": true - }, - "scratch-vm": { - "version": "0.2.0-prerelease.20190213162739", - "resolved": "https://registry.npmjs.org/scratch-vm/-/scratch-vm-0.2.0-prerelease.20190213162739.tgz", - "integrity": "sha512-Wh4m1DCNVC25o0H+eBNudRgYVJyJb0cBXOnsA6aKz72FmBrZ6UPWJmIbpJklchXl9pUffHtk6FLXvOAEvVmIjA==", - "dev": true, - "requires": { - "@vernier/godirect": "1.4.1", - "arraybuffer-loader": "^1.0.6", - "atob": "2.1.2", - "btoa": "1.2.1", - "canvas-toBlob": "1.0.0", - "decode-html": "2.0.0", - "diff-match-patch": "1.0.4", - "escape-html": "1.0.3", - "format-message": "6.2.1", - "htmlparser2": "3.10.0", - "immutable": "3.8.1", - "jszip": "^3.1.5", - "minilog": "3.1.0", - "nets": "3.2.0", - "scratch-parser": "4.3.4", - "scratch-sb1-converter": "0.2.6", - "scratch-translate-extension-languages": "0.0.20181205140428", - "socket.io-client": "2.0.4", - "text-encoding": "0.6.4", - "worker-loader": "^1.1.1" - }, - "dependencies": { - "text-encoding": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", - "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=", - "dev": true - }, - "worker-loader": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-1.1.1.tgz", - "integrity": "sha512-qJZLVS/jMCBITDzPo/RuweYSIG8VJP5P67mP/71alGyTZRe1LYJFdwLjLalY3T5ifx0bMDRD3OB6P2p1escvlg==", - "dev": true, - "requires": { - "loader-utils": "^1.0.0", - "schema-utils": "^0.4.0" - } - } - } - }, "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -11116,12 +10571,6 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -11321,56 +10770,6 @@ } } }, - "socket.io-client": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", - "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", - "dev": true, - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~2.6.4", - "engine.io-client": "~3.1.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.1.1", - "to-array": "0.1.4" - } - }, - "socket.io-parser": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz", - "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "has-binary2": "~1.0.2", - "isarray": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } - } - }, "sockjs": { "version": "0.3.19", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", @@ -12317,12 +11716,6 @@ "is-negated-glob": "^1.0.0" } }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", @@ -13463,12 +12856,6 @@ "integrity": "sha512-MjGsXhKG8YjTKrDCXseFo3ClbMGvUD4en29H2Cev1dv4P/chlpw6KdYmlCWDkhosBVKRDjM836+3e3pm1cBNJA==", "dev": true }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", - "dev": true - }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -13591,12 +12978,6 @@ "camelcase": "^5.0.0", "decamelize": "^1.2.0" } - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true } } } diff --git a/packages/scratch-vm/package-lock.json b/packages/scratch-vm/package-lock.json index ac128c126..ac0be7ed6 100644 --- a/packages/scratch-vm/package-lock.json +++ b/packages/scratch-vm/package-lock.json @@ -1088,6 +1088,207 @@ } } }, + "@magenta/music": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@magenta/music/-/music-1.20.0.tgz", + "integrity": "sha512-/WSdKaKt+omMKXwf/LRHb9UgfwcCWQKbMwM6HFauXATTReg2Tz/5sIZ2FTaXfNvmX+d7/NZp5ZGifJGpzRUI/A==", + "requires": { + "@tensorflow/tfjs": "^1.1.2", + "@tonejs/midi": "^2.0.15", + "fft.js": "^4.0.3", + "ndarray-resample": "^1.0.1", + "protobufjs": "^6.8.6", + "staffrender": "^0.2.1", + "tonal": "^2.0.0", + "tone": "^13.8.21" + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, + "@tensorflow/tfjs": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-1.7.4.tgz", + "integrity": "sha512-XWGwRQ/ECEoQacd74JY/dmbLdnMpwtq3H8tls45dQ+GJ553Advir1FDo/aQt0Yr6fTimQDeiOIG4Mcb5KduP/w==", + "requires": { + "@tensorflow/tfjs-converter": "1.7.4", + "@tensorflow/tfjs-core": "1.7.4", + "@tensorflow/tfjs-data": "1.7.4", + "@tensorflow/tfjs-layers": "1.7.4" + } + }, + "@tensorflow/tfjs-converter": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-1.7.4.tgz", + "integrity": "sha512-B/Ux9I3osI0CXoESGR0Xe5C6BsEfC04+g2xn5zVaW9KEuVEnGEgnuBQxgijRFzkqTwoyLv4ptAmjyIghVARX0Q==" + }, + "@tensorflow/tfjs-core": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-1.7.4.tgz", + "integrity": "sha512-3G4VKJ6nPs7iCt6gs3bjRj8chihKrYWenf63R0pm7D9MhlrVoX/tpN4LYVMGgBL7jHPxMLKdOkoAZJrn/J88HQ==", + "requires": { + "@types/offscreencanvas": "~2019.3.0", + "@types/seedrandom": "2.4.27", + "@types/webgl-ext": "0.0.30", + "@types/webgl2": "0.0.4", + "node-fetch": "~2.1.2", + "seedrandom": "2.4.3" + }, + "dependencies": { + "node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + } + } + }, + "@tensorflow/tfjs-data": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-1.7.4.tgz", + "integrity": "sha512-WFYG9wWjNDi62x6o3O20Q0XJxToCw2J4/fBEXiK/Gr0hIqVhl2oLQ1OjTWq7O08NUxM6BRzuG+ra3gWYdQUzOw==", + "requires": { + "@types/node-fetch": "^2.1.2", + "node-fetch": "~2.1.2" + }, + "dependencies": { + "node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + } + } + }, + "@tensorflow/tfjs-layers": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-1.7.4.tgz", + "integrity": "sha512-5/K8Z8RBfXsucL6EaSeb3/8jB/I8oPaaXkxwKVsBPQ+u6lB6LEtSKzeiFc57nDr5OMtVaUZV+pKDNEzP0RUQlg==" + }, + "@tonejs/midi": { + "version": "2.0.25", + "resolved": "https://registry.npmjs.org/@tonejs/midi/-/midi-2.0.25.tgz", + "integrity": "sha512-zT8pZy/upJCGqXHSCO1+U39wgWIaizDg+sv7nVReJehMcT86Peh+zo5kQ42Guwgc/gnv47n7fJhoTRGsJVaqJQ==", + "requires": { + "array-flatten": "^2.1.2", + "midi-file": "^1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + } + } + }, + "@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" + }, + "@types/node": { + "version": "14.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.9.tgz", + "integrity": "sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==" + }, + "@types/node-fetch": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", + "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + }, + "dependencies": { + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, + "@types/offscreencanvas": { + "version": "2019.3.0", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.3.0.tgz", + "integrity": "sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==" + }, + "@types/seedrandom": { + "version": "2.4.27", + "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-2.4.27.tgz", + "integrity": "sha1-nbVjk33YaRX2kJK8QyWdL0hXjkE=" + }, + "@types/webgl-ext": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/webgl-ext/-/webgl-ext-0.0.30.tgz", + "integrity": "sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==" + }, + "@types/webgl2": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.4.tgz", + "integrity": "sha512-PACt1xdErJbMUOUweSrbVM7gSIYm1vTncW2hF6Os/EeWi6TXYAYMPp+8v6rzHmypE5gHrxaxZNXgMkJVIdZpHw==" + }, "@vernier/godirect": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@vernier/godirect/-/godirect-1.5.0.tgz", @@ -1418,8 +1619,7 @@ "acorn": { "version": "5.5.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", - "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", - "dev": true + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==" }, "acorn-dynamic-import": { "version": "3.0.0", @@ -1480,11 +1680,30 @@ "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", "dev": true }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" }, "ansi-escapes": { "version": "3.1.0", @@ -2172,47 +2391,10 @@ "integrity": "sha1-AXgUDb57e7Z9x0iSrOWbwCR/BvA=", "dev": true }, - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } + "bit-twiddle": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", + "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" }, "blob": { "version": "0.0.4", @@ -2333,18 +2515,6 @@ } } }, - "brfs": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", - "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", - "dev": true, - "requires": { - "quote-stream": "^1.0.1", - "resolve": "^1.1.5", - "static-module": "^2.2.0", - "through2": "^2.0.0" - } - }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", @@ -2452,12 +2622,6 @@ "isarray": "^1.0.0" } }, - "buffer-equal": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", - "dev": true - }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -2473,8 +2637,7 @@ "buffer-shims": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", - "dev": true + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" }, "buffer-xor": { "version": "1.0.3", @@ -2612,6 +2775,15 @@ "underscore-contrib": "~0.3.0" } }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -2797,12 +2969,6 @@ "integrity": "sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI=", "dev": true }, - "colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", - "dev": true - }, "combined-stream": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", @@ -2905,7 +3071,6 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", - "dev": true, "requires": { "inherits": "^2.0.3", "readable-stream": "^2.2.2", @@ -3309,6 +3474,204 @@ "array-find-index": "^1.0.1" } }, + "cwise": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/cwise/-/cwise-1.0.10.tgz", + "integrity": "sha1-JO7mBy69/WuMb12tsXCQtkmxK+8=", + "requires": { + "cwise-compiler": "^1.1.1", + "cwise-parser": "^1.0.0", + "static-module": "^1.0.0", + "uglify-js": "^2.6.0" + }, + "dependencies": { + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "escodegen": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", + "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", + "requires": { + "esprima": "~1.1.1", + "estraverse": "~1.5.0", + "esutils": "~1.0.0", + "source-map": "~0.1.33" + } + }, + "esprima": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", + "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=" + }, + "estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=" + }, + "esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "object-inspect": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz", + "integrity": "sha1-9RV8EWwUVbJDsG7pdwM5LFrYn+w=" + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" + }, + "quote-stream": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-0.0.0.tgz", + "integrity": "sha1-zeKelMQJsW4Z3HCYuJtmWPlyHTs=", + "requires": { + "minimist": "0.0.8", + "through2": "~0.4.1" + } + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "static-eval": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-0.2.4.tgz", + "integrity": "sha1-t9NNg4k3uWn5ZBygfUj47eJj6ns=", + "requires": { + "escodegen": "~0.0.24" + }, + "dependencies": { + "escodegen": { + "version": "0.0.28", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz", + "integrity": "sha1-Dk/xcV8yh3XWyrUaxEpAbNer/9M=", + "requires": { + "esprima": "~1.0.2", + "estraverse": "~1.3.0", + "source-map": ">= 0.1.2" + } + }, + "esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=" + }, + "estraverse": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz", + "integrity": "sha1-N8K4k+8T1yPydth41g2FNRUqbEI=" + } + } + }, + "static-module": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-1.5.0.tgz", + "integrity": "sha1-J9qYg8QajNCSNvhC8MHrxu32PYY=", + "requires": { + "concat-stream": "~1.6.0", + "duplexer2": "~0.0.2", + "escodegen": "~1.3.2", + "falafel": "^2.1.0", + "has": "^1.0.0", + "object-inspect": "~0.4.0", + "quote-stream": "~0.0.0", + "readable-stream": "~1.0.27-1", + "shallow-copy": "~0.0.1", + "static-eval": "~0.2.0", + "through2": "~0.4.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "cwise-compiler": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz", + "integrity": "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=", + "requires": { + "uniq": "^1.0.0" + } + }, + "cwise-parser": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cwise-parser/-/cwise-parser-1.0.3.tgz", + "integrity": "sha1-jkk8F9VPl8sDCp6YVLyGyd+zVP4=", + "requires": { + "esprima": "^1.0.3", + "uniq": "^1.0.0" + }, + "dependencies": { + "esprima": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz", + "integrity": "sha1-CZNQL+r2aBODJXVvMPmlH+7sEek=" + } + } + }, "cyclist": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", @@ -3356,8 +3719,7 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, "decode-html": { "version": "2.0.0", @@ -3594,6 +3956,12 @@ "domelementtype": "1" } }, + "dompurify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.1.1.tgz", + "integrity": "sha512-NijiNVkS/OL8mdQL1hUbCD6uty/cgFpmNiuFxrmJ5YPH2cXrPKIewoixoji56rbZ6XBPmtM8GA8/sf9unlSuwg==", + "dev": true + }, "domutils": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", @@ -3603,14 +3971,10 @@ "domelementtype": "1" } }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } + "dup": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz", + "integrity": "sha1-UfxaxoX4GWRp3wuQXpNLIK9bQCk=" }, "duplexify": { "version": "3.6.0", @@ -3873,34 +4237,6 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, - "escodegen": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", - "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", - "dev": true, - "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, "escope": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", @@ -4667,7 +5003,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", - "dev": true, "requires": { "acorn": "^5.0.0", "foreach": "^2.0.5", @@ -4678,8 +5013,7 @@ "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" } } }, @@ -4743,6 +5077,11 @@ } } }, + "fft.js": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fft.js/-/fft.js-4.0.3.tgz", + "integrity": "sha1-sAhO+pQYj+vdHP/mhpH0yFoPuMs=" + }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -4932,24 +5271,6 @@ "locate-path": "^2.0.0" } }, - "findup": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/findup/-/findup-0.1.5.tgz", - "integrity": "sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=", - "dev": true, - "requires": { - "colors": "~0.6.0-1", - "commander": "~2.1.0" - }, - "dependencies": { - "commander": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz", - "integrity": "sha1-0SG7roYNmZKj1Re6lvVliOR8Z4E=", - "dev": true - } - } - }, "flat-cache": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", @@ -5015,8 +5336,7 @@ "foreach": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" }, "foreground-child": { "version": "1.5.6", @@ -5412,15 +5732,6 @@ "readable-stream": "^2.0.0" } }, - "from2-array": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/from2-array/-/from2-array-0.0.4.tgz", - "integrity": "sha1-6vwWtl9uJxm81X/cGGkAWsEzLNY=", - "dev": true, - "requires": { - "from2": "^2.0.3" - } - }, "fs-exists-cached": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", @@ -6013,8 +6324,7 @@ "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 + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" }, "function-loop": { "version": "1.0.1", @@ -6244,16 +6554,6 @@ "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" }, - "grapheme-breaker": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz", - "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=", - "dev": true, - "requires": { - "brfs": "^1.2.0", - "unicode-trie": "^0.3.1" - } - }, "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -6287,7 +6587,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", - "dev": true, "requires": { "function-bind": "^1.0.2" } @@ -6545,12 +6844,6 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, - "hull.js": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/hull.js/-/hull.js-0.2.10.tgz", - "integrity": "sha1-LT44P26Hk9TsdDVakrfaLrit41s=", - "dev": true - }, "humanize-url": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", @@ -6579,21 +6872,6 @@ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true }, - "ify-loader": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ify-loader/-/ify-loader-1.0.4.tgz", - "integrity": "sha1-fpGe6A3RBYv9Q508GPY8CKixayo=", - "dev": true, - "requires": { - "bl": "^1.0.0", - "findup": "^0.1.5", - "from2-array": "0.0.4", - "map-limit": "0.0.1", - "multipipe": "^0.3.0", - "read-package-json": "^2.0.2", - "resolve": "^1.1.6" - } - }, "ignore": { "version": "3.3.10", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", @@ -6797,6 +7075,11 @@ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, + "iota-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz", + "integrity": "sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=" + }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", @@ -6847,8 +7130,7 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", - "dev": true + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" }, "is-builtin-module": { "version": "1.0.0", @@ -7359,6 +7641,11 @@ "graceful-fs": "^4.1.9" } }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", @@ -7388,27 +7675,8 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "requires": { - "immediate": "~3.0.5" - } - }, - "linebreak": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-0.3.0.tgz", - "integrity": "sha1-BSZICmLAW9Z58+nZmDDgnGp9DtY=", - "dev": true, - "requires": { - "base64-js": "0.0.8", - "brfs": "^1.3.0", - "unicode-trie": "^0.3.0" - }, - "dependencies": { - "base64-js": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", - "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=", - "dev": true - } + "requires": { + "immediate": "~3.0.5" } }, "loader-runner": { @@ -7591,6 +7859,11 @@ "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", "dev": true }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, "loose-envify": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", @@ -7620,15 +7893,6 @@ "yallist": "^2.1.2" } }, - "magic-string": { - "version": "0.22.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", - "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", - "dev": true, - "requires": { - "vlq": "^0.2.2" - } - }, "make-dir": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", @@ -7658,26 +7922,6 @@ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, - "map-limit": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", - "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", - "dev": true, - "requires": { - "once": "~1.3.0" - }, - "dependencies": { - "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "dev": true, - "requires": { - "wrappy": "1" - } - } - } - }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", @@ -7848,15 +8092,6 @@ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, - "merge-source-map": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", - "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", - "dev": true, - "requires": { - "source-map": "^0.5.6" - } - }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -7889,6 +8124,11 @@ "to-regex": "^3.0.2" } }, + "midi-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/midi-file/-/midi-file-1.1.2.tgz", + "integrity": "sha512-VQNzirfADDFXTymgPJv2VfLylCq14spRNFhpA6u7dLqPMbw1BqGf5u9B0k7z++8X1RMs57pyn+G4kzhyIatlyw==" + }, "miller-rabin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", @@ -7964,8 +8204,7 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minipass": { "version": "2.3.4", @@ -8158,15 +8397,6 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, - "multipipe": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.3.1.tgz", - "integrity": "sha1-kmJVJXYboE/qoJYFtjgrziyR8R8=", - "dev": true, - "requires": { - "duplexer2": "^0.1.2" - } - }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", @@ -8205,6 +8435,56 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, + "ndarray": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz", + "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==", + "requires": { + "iota-array": "^1.0.0", + "is-buffer": "^1.0.2" + } + }, + "ndarray-fft": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ndarray-fft/-/ndarray-fft-1.0.3.tgz", + "integrity": "sha1-3Fu6GOOrgsmXrbrrt455+CyToio=", + "requires": { + "bit-twiddle": "^1.0.2", + "cwise": "^1.0.4", + "ndarray": "^1.0.15", + "ndarray-ops": "^1.2.2", + "typedarray-pool": "^1.0.0" + } + }, + "ndarray-ops": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz", + "integrity": "sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=", + "requires": { + "cwise-compiler": "^1.0.0" + } + }, + "ndarray-resample": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ndarray-resample/-/ndarray-resample-1.0.1.tgz", + "integrity": "sha1-Qrsz9qS3OMV/9zxgzCINTPx1gh0=", + "requires": { + "cwise": "^1.0.7", + "ndarray-fft": "^1.0.0", + "ndarray-ops": "^1.2.2", + "ndarray-scratch": "^1.1.1" + } + }, + "ndarray-scratch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ndarray-scratch/-/ndarray-scratch-1.2.0.tgz", + "integrity": "sha1-YwRjbWLrqT20cnrBPGkzQdulDgE=", + "requires": { + "ndarray": "^1.0.14", + "ndarray-ops": "^1.2.1", + "typedarray-pool": "^1.0.2" + } + }, "negotiator": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", @@ -8356,12 +8636,6 @@ "sort-keys": "^1.0.0" } }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true - }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -11056,17 +11330,10 @@ } } }, - "object-inspect": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", - "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==", - "dev": true - }, "object-keys": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", - "dev": true + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" }, "object-visit": { "version": "1.0.1", @@ -11544,6 +11811,38 @@ "object-assign": "^4.1.1" } }, + "protobufjs": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.2.tgz", + "integrity": "sha512-27yj+04uF6ya9l+qfpH187aqEzfCF4+Uit0I9ZBQVqK09hk/SQzKa2MUqUpXaVa7LOFRg1TSSr3lVxGOk6c0SQ==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": "^13.7.0", + "long": "^4.0.0" + }, + "dependencies": { + "@types/node": { + "version": "13.13.32", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.32.tgz", + "integrity": "sha512-sPBvDnrwZE1uePhkCEyI/qQlgZM5kePPAhHIFDWNsOrWBFRBOk3LKJYmVCLeLZlL9Ub/FzMJb31OTWCg2F+06g==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + } + } + }, "proxy-addr": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", @@ -11645,25 +11944,6 @@ "integrity": "sha1-+j7W5o6xUVlFfImze8ZHKDMZV1U=", "dev": true }, - "quote-stream": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", - "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", - "dev": true, - "requires": { - "buffer-equal": "0.0.1", - "minimist": "^1.1.3", - "through2": "^2.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, "randombytes": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", @@ -11733,24 +12013,10 @@ "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", "dev": true }, - "read-package-json": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.1.tgz", - "integrity": "sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A==", - "dev": true, - "requires": { - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "json-parse-better-errors": "^1.0.1", - "normalize-package-data": "^2.0.0", - "npm-normalize-package-bin": "^1.0.0" - } - }, "readable-stream": { "version": "2.2.9", "resolved": "http://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.0", @@ -11872,8 +12138,7 @@ "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "repeating": { "version": "2.0.1", @@ -12009,6 +12274,14 @@ "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", "dev": true }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "^0.1.1" + } + }, "rimraf": { "version": "2.6.1", "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", @@ -12125,9 +12398,9 @@ } }, "scratch-audio": { - "version": "0.1.0-prerelease.20190925183642", - "resolved": "https://registry.npmjs.org/scratch-audio/-/scratch-audio-0.1.0-prerelease.20190925183642.tgz", - "integrity": "sha512-cvnNawIThkIKyMZdo+cRmYO+ndCG9dcQeaG8rTgok2iSMvG510OUs3DBnFz/GUncu+OryT1VKdeusEfwKf/+ow==", + "version": "0.1.0-prerelease.20200528195344", + "resolved": "https://registry.npmjs.org/scratch-audio/-/scratch-audio-0.1.0-prerelease.20200528195344.tgz", + "integrity": "sha512-BY1IiMMBj0WDs7jdYnOzBHE88AX3ltjs2XfINJ1VrIE4xn2vZvPgJAyw6ZCc2FDPRwTWLpCdhnlA1TBdaKKdiQ==", "dev": true, "requires": { "audio-context": "1.0.1", @@ -12136,9 +12409,9 @@ } }, "scratch-blocks": { - "version": "0.1.0-prerelease.1578322100", - "resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.1578322100.tgz", - "integrity": "sha512-36CNHELBehHX0pjyVLrkP7vqVhpkvBONDLTKx1LoYZhVXtTvP+Vknd6iKDM3gUzzAOMdpUUxVO6e/XBHz8+i1w==", + "version": "0.1.0-prerelease.20201119044258", + "resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.20201119044258.tgz", + "integrity": "sha512-XL5ALMZLlD9clGybJErI/NzQU30XOMQxcPPHk0FbR1E0MMLIEGo9Mh4Sik6kpT1jHVlg1XCye84b5qyppDkI3w==", "dev": true, "requires": { "exports-loader": "0.6.3", @@ -12184,27 +12457,10 @@ } } }, - "scratch-render": { - "version": "0.1.0-prerelease.20200109195653", - "resolved": "https://registry.npmjs.org/scratch-render/-/scratch-render-0.1.0-prerelease.20200109195653.tgz", - "integrity": "sha512-gfoeh8yRNLTTyHI/uMirjlvyHqUne99ztIDDPscON38svUJpAJrsA8WSoUn7Lw5Zee4CfCYhjsZPVGf4j2TYzw==", - "dev": true, - "requires": { - "grapheme-breaker": "0.3.2", - "hull.js": "0.2.10", - "ify-loader": "1.0.4", - "linebreak": "0.3.0", - "minilog": "3.1.0", - "raw-loader": "^0.5.1", - "scratch-storage": "^1.0.0", - "scratch-svg-renderer": "0.2.0-prerelease.20200109070519", - "twgl.js": "4.4.0" - } - }, "scratch-render-fonts": { - "version": "1.0.0-prerelease.20180906193204", - "resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.0-prerelease.20180906193204.tgz", - "integrity": "sha512-tVDUTKO/gJnEv94HTyBWW/e/JwsZIslByzehuXQ7QvrngEh28gvHaCRwKMX/cqprizu4TFqvfx4Xh2n9e5XekA==", + "version": "1.0.0-prerelease.20200507182347", + "resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.0-prerelease.20200507182347.tgz", + "integrity": "sha512-tVt2s7lxsBhme9WKIZTnluMerdJVGEc80QSrDdIIzUvHXGCIYkLh6j7ytwXcyq2UsA34d93op9+I9Bh1SPkQkA==", "dev": true, "requires": { "base64-loader": "1.0.0" @@ -12243,15 +12499,16 @@ } }, "scratch-svg-renderer": { - "version": "0.2.0-prerelease.20200109070519", - "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-0.2.0-prerelease.20200109070519.tgz", - "integrity": "sha512-THdZW9gA8mFKvDImHDrWWhvyOymUW3JgMBjpPsaFk2URl1kfNIRQIndfwto2B8a8YbtuyKSv6CWW8Nu+VzBZVA==", + "version": "0.2.0-prerelease.20201019174008", + "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-0.2.0-prerelease.20201019174008.tgz", + "integrity": "sha512-RF3Zx09Nl+uLTrPD7K4tR6Sqq/JqRTsLVRugohEJ8pGHXshvBh/A4zWx7XmMZHOdEDHunPxpCDHkW2LoMCFioQ==", "dev": true, "requires": { "base64-js": "1.2.1", "base64-loader": "1.0.0", + "dompurify": "2.1.1", "minilog": "3.1.0", - "scratch-render-fonts": "1.0.0-prerelease.20180906193204", + "scratch-render-fonts": "1.0.0-prerelease.20200507182347", "transformation-matrix": "1.15.0" }, "dependencies": { @@ -12277,6 +12534,11 @@ "raw-loader": "~0.5.1" } }, + "seedrandom": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.3.tgz", + "integrity": "sha1-JDhQTa0zkXMUv/GKxNeU8W1qrsw=" + }, "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -12461,8 +12723,7 @@ "shallow-copy": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", - "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=", - "dev": true + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" }, "shebang-command": { "version": "1.2.0", @@ -12768,8 +13029,7 @@ "source-map": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", - "dev": true + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" }, "source-map-resolve": { "version": "0.5.2", @@ -12937,49 +13197,17 @@ "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", "dev": true }, + "staffrender": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/staffrender/-/staffrender-0.2.1.tgz", + "integrity": "sha512-qg7aaR7YX8TwFYf4p1pjvm3tT8SYLZDe/J2eF2+z2WmYC/PyldnJlsaPKi1qRm0xqQ8nCLziooGXvYRcl5LNew==" + }, "startaudiocontext": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/startaudiocontext/-/startaudiocontext-1.2.1.tgz", "integrity": "sha1-RtLKtUYseRGArMciPju7wycshZU=", "dev": true }, - "static-eval": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.3.tgz", - "integrity": "sha512-zsxDGucfAh8T339sSKgpFbvg15Fms2IVaJGC+jqp0bVsxhcpM+iMeAI8weNo8dmf4OblgifTBUoyk1vGVtYw2w==", - "dev": true, - "requires": { - "escodegen": "^1.11.1" - }, - "dependencies": { - "escodegen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.1.tgz", - "integrity": "sha512-Q8t2YZ+0e0pc7NRVj3B4tSQ9rim1oi4Fh46k2xhJ2qOiEwhQfdjyEQddWdj7ZFaKmU+5104vn1qrcjEPWq+bgQ==", - "dev": true, - "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - } - }, - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -13001,60 +13229,6 @@ } } }, - "static-module": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", - "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", - "dev": true, - "requires": { - "concat-stream": "~1.6.0", - "convert-source-map": "^1.5.1", - "duplexer2": "~0.1.4", - "escodegen": "~1.9.0", - "falafel": "^2.1.0", - "has": "^1.0.1", - "magic-string": "^0.22.4", - "merge-source-map": "1.0.4", - "object-inspect": "~1.4.0", - "quote-stream": "~1.0.2", - "readable-stream": "~2.3.3", - "shallow-copy": "~0.0.1", - "static-eval": "^2.0.0", - "through2": "~2.0.3" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "stats.js": { "version": "0.17.0", "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz", @@ -13209,7 +13383,6 @@ "version": "1.0.0", "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.0.0.tgz", "integrity": "sha1-8G9BFXtmTYYGn4S9vcmw2KsoFmc=", - "dev": true, "requires": { "buffer-shims": "~1.0.0" } @@ -13544,12 +13717,6 @@ "setimmediate": "^1.0.4" } }, - "tiny-inflate": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", - "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", - "dev": true - }, "tiny-worker": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.1.2.tgz", @@ -13624,6 +13791,113 @@ "repeat-string": "^1.6.1" } }, + "tonal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal/-/tonal-2.2.2.tgz", + "integrity": "sha512-Ze2bQc6KhAf3FKM9HzEsQ4z8hZh4WYCOsCrryONqf/THGOrOpL9Cc8Uc0dq0OA2yK2JbD5FhZckEXNYyD9946A==", + "requires": { + "tonal-array": "^2.2.2", + "tonal-chord": "^2.2.2", + "tonal-dictionary": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-interval": "^2.2.2", + "tonal-key": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2", + "tonal-scale": "^2.2.2" + } + }, + "tonal-array": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-array/-/tonal-array-2.2.2.tgz", + "integrity": "sha512-h6YIq20L0EEU4EsDoKHAjl5kD2EQn467VfV79QHAuybvNCJpqqRNsQ3QNvoQyir1BgDXaDUIN9FEmQJNiaaCKA==", + "requires": { + "tonal-note": "^2.2.2" + } + }, + "tonal-chord": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-chord/-/tonal-chord-2.2.2.tgz", + "integrity": "sha512-gOIXapi6Gx3ISRKdEJKEQjhDBiwjhaalyWSrN5rijGrSyyFFNZ+EVOfzcqLtnVAF9BgeO9Ca0eXCor3XpHdEJg==", + "requires": { + "tonal-dictionary": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2" + } + }, + "tonal-dictionary": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-dictionary/-/tonal-dictionary-2.2.2.tgz", + "integrity": "sha512-283ppJl/0lohhlVPMI6t5C6XwaP5Wx0egu9qfG9TLCT2tn4pRwYpXkzGufd9icvkJTgOylOum3+RxWmywUIPIg==", + "requires": { + "tonal-array": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2" + } + }, + "tonal-distance": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-distance/-/tonal-distance-2.2.2.tgz", + "integrity": "sha512-ktA6OapCxaetXJb/JuXD5QwfyB7/G3y3ONby7Kkbezyffc57cnNfjdhlTR9XBR7eSFIY/J1KuhLwMx/qrffT4g==", + "requires": { + "tonal-interval": "^2.2.2", + "tonal-note": "^2.2.2" + } + }, + "tonal-interval": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-interval/-/tonal-interval-2.2.2.tgz", + "integrity": "sha512-lrtDU8lH5IAX7YE63OhGGDRpVb4OoGxaN0wDu5XC3sUhXBwjSgNYpHY2D9JI2aWQ/Er9jhQbnw9b0ffkLy34+Q==" + }, + "tonal-key": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-key/-/tonal-key-2.2.2.tgz", + "integrity": "sha512-KIc0b8yPl2ATDxF/65P52tIIempNsAQrug0idpD0zFvs5F5cb1hp7Rh7JJ4gECwC/6a3Hgdd1jomI+TnJ7K98w==", + "requires": { + "tonal-array": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-roman-numeral": "^2.2.2" + } + }, + "tonal-note": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-note/-/tonal-note-2.2.2.tgz", + "integrity": "sha512-RNK3Nb8PxBEW9yYGStcoczgE8bCYFZ5zfLvYJjvuzLWiwTQmqWOhTzONVobVCGFZ/jgDNwpBEKe/bngL3g3Xfw==" + }, + "tonal-pcset": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-pcset/-/tonal-pcset-2.2.2.tgz", + "integrity": "sha512-PSqhkxzckO6J27W0GxawHYln4wvfDJ7puDmccksyFOBo97UhLnpxiyvBekhiYpkuaMtoZLQC/KALAkEj7lcb+A==", + "requires": { + "tonal-array": "^2.2.2", + "tonal-interval": "^2.2.2", + "tonal-note": "^2.2.2" + } + }, + "tonal-roman-numeral": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-roman-numeral/-/tonal-roman-numeral-2.2.2.tgz", + "integrity": "sha512-+auQNObpW3OvsSqlo+Cc+0otrlEhtbEgpzkPoKbTtkCva0P9oSkSz0OZ9fI73KQM5MsBs1XbB+olxppWkzYTFw==" + }, + "tonal-scale": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-scale/-/tonal-scale-2.2.2.tgz", + "integrity": "sha512-tDb3YCoTF50XOXq9kNhGB1JkInk7qAGN6GQnP/3xkGxkreFFRZyI58jfHlmWf/AH4+IKb/exsOmL6G8Ok/PCRw==", + "requires": { + "tonal-array": "^2.2.2", + "tonal-dictionary": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2" + } + }, + "tone": { + "version": "13.8.34", + "resolved": "https://registry.npmjs.org/tone/-/tone-13.8.34.tgz", + "integrity": "sha512-sFIYee0CO5lDcnC/RwIPiPMOIZCMEk35AaxF0Q64q7SE1BL+i+efYR6vrD+peDGrswXJ+D3bTmci2wCy+omx+Q==" + }, "tough-cookie": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", @@ -13713,12 +13987,6 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "optional": true }, - "twgl.js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/twgl.js/-/twgl.js-4.4.0.tgz", - "integrity": "sha512-W+uFP2DyK2dNhE38PcpituNi8CBm+YO5gY6o/IWEILT7NNDTT1wo3YcMmydwiCfUbnT7tz+EcjV7KlZLgE1PlQ==", - "dev": true - }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", @@ -13758,8 +14026,16 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typedarray-pool": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.2.0.tgz", + "integrity": "sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==", + "requires": { + "bit-twiddle": "^1.0.0", + "dup": "^1.0.0" + } }, "ua-parser-js": { "version": "0.7.17", @@ -13792,6 +14068,55 @@ } } }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, "uglifyjs-webpack-plugin": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz", @@ -13874,24 +14199,6 @@ "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==", "dev": true }, - "unicode-trie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", - "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", - "dev": true, - "requires": { - "pako": "^0.2.5", - "tiny-inflate": "^1.0.0" - }, - "dependencies": { - "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", - "dev": true - } - } - }, "union-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", @@ -13927,6 +14234,11 @@ } } }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, "unique-filename": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", @@ -14147,12 +14459,6 @@ } } }, - "vlq": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", - "dev": true - }, "vm-browserify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", @@ -14656,6 +14962,11 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", diff --git a/packages/scratch-vm/package.json b/packages/scratch-vm/package.json index a14338012..c401559a9 100644 --- a/packages/scratch-vm/package.json +++ b/packages/scratch-vm/package.json @@ -29,6 +29,7 @@ "version": "json -f package.json -I -e \"this.repository.sha = '$(git log -n1 --pretty=format:%H)'\"" }, "dependencies": { + "@magenta/music": "^1.20.0", "@vernier/godirect": "1.5.0", "arraybuffer-loader": "^1.0.6", "atob": "2.1.2", diff --git a/packages/scratch-vm/src/extension-support/extension-manager.js b/packages/scratch-vm/src/extension-support/extension-manager.js index 7cb556c5d..a9070524d 100644 --- a/packages/scratch-vm/src/extension-support/extension-manager.js +++ b/packages/scratch-vm/src/extension-support/extension-manager.js @@ -23,7 +23,13 @@ const builtinExtensions = { ev3: () => require('../extensions/scratch3_ev3'), makeymakey: () => require('../extensions/scratch3_makeymakey'), boost: () => require('../extensions/scratch3_boost'), - gdxfor: () => require('../extensions/scratch3_gdx_for') + gdxfor: () => require('../extensions/scratch3_gdx_for'), + signalanalysis: () => require('../extensions/scratch3_signalanalysis'), + signalviz: () => require('../extensions/scratch3_signalviz'), + signalcontrol: () => require('../extensions/scratch3_signalcontrol'), + musiccreation: () => require('../extensions/scratch3_musiccreation'), + musicaccompaniment: () => require('../extensions/scratch3_musicaccompaniment') + }; /** diff --git a/packages/scratch-vm/src/extensions/scratch3_musicaccompaniment/index.js b/packages/scratch-vm/src/extensions/scratch3_musicaccompaniment/index.js new file mode 100644 index 000000000..b03a990b0 --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musicaccompaniment/index.js @@ -0,0 +1,96 @@ +const ArgumentType = require('../../extension-support/argument-type'); +const BlockType = require('../../extension-support/block-type'); +const Cast = require('../../util/cast'); +const log = require('../../util/log'); + +class Scratch3MusicAccompaniment { + constructor (runtime) { + this.runtime = runtime; + } + + getInfo () { + return { + id: 'musicaccompaniment', + name: 'Music Accompaniment', + blocks: [ + { + opcode: 'soundRec', + blockType: BlockType.COMMAND, + text: 'extract [SOUND] from [FILE]', + arguments: { + SOUND: { + type: ArgumentType.STRING, + defaultValue: "music", + menu: "sounds" + }, + FILE: { + type: ArgumentType.STRING, + defaultValue: "test.wav" + } + } + }, + { + opcode: 'genreRec', + blockType: BlockType.COMMAND, + text: 'classify genre of [FILE]', + arguments: { + FILE: { + type: ArgumentType.STRING, + defaultValue: "test.wav" + } + } + }, + { + opcode: 'musicAccomp', + blockType: BlockType.COMMAND, + text: 'generate [GENRE] accompaniment for [FILE]', + arguments: { + GENRE: { + type: ArgumentType.STRING, + defaultValue: "jazz", + menu: 'genres' + }, + FILE: { + type: ArgumentType.STRING, + defaultValue: "test.wav" + } + } + } + ], + menus: { + sounds: { + acceptReporters: true, + items: [ + {text: "music", value: "music"}, + {text: "speech", value: "speech"}, + {text: "noise", value: "noise"}] + }, + genres: { + acceptReporters: true, + items: [ + {text: "jazz", value: "jazz"}, + {text: "pop", value: "pop"}, + {text: "rock", value: "rock"}] + } + } + }; + } + + soundRec (args) { + const text = Cast.toString(args.SOUND); + log.log(text); + } + + genreRec (args) { + const text = Cast.toString(args.FILE); + log.log(text); + } + + musicAccomp (args) { + const text = Cast.toString(args.VOLUME); + log.log(text); + } + +} + +module.exports = Scratch3MusicAccompaniment; \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js new file mode 100644 index 000000000..5e18e04a0 --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -0,0 +1,162 @@ +const ArgumentType = require('../../extension-support/argument-type'); +const BlockType = require('../../extension-support/block-type'); +const Cast = require('../../util/cast'); +const log = require('../../util/log'); +const mvae = require('@magenta/music/node/music_vae'); +const core = require('@magenta/music/node/core'); + + +class Scratch3MusicCreation { + constructor (runtime) { + this.runtime = runtime; + } + + getInfo () { + return { + id: 'musiccreation', + name: 'Music Creation', + blocks: [ + { + opcode: 'setInstrument', + blockType: BlockType.COMMAND, + text: 'set instrument to [INSTRUMENT]', + arguments: { + INSTRUMENT: { + type: ArgumentType.STRING, + defaultValue: "synth", + menu: "instruments" + } + } + }, + { + opcode: 'setPitch', + blockType: BlockType.COMMAND, + text: 'set pitch to [PITCH]', + arguments: { + PITCH: { + type: ArgumentType.STRING, + defaultValue: "C3", + menu: "pitches" + } + } + }, + { + opcode: 'setVolume', + blockType: BlockType.COMMAND, + text: 'set volume to [VOLUME] dB', + arguments: { + VOLUME: { + type: ArgumentType.NUMBER, + defaultValue: 60 + } + } + }, + { + opcode: 'addNote', + blockType: BlockType.COMMAND, + text: 'add note', + arguments: { + } + }, + { + opcode: 'addNoteFreqDur', + blockType: BlockType.COMMAND, + text: 'add note with frequency [PITCH] for [DURATION] second(s)', + arguments: { + PITCH: { + type: ArgumentType.STRING, + defaultValue: "C3", + menu: "pitches" + }, + DURATION: { + type: ArgumentType.NUMBER, + defaultValue: 1 + } + } + }, + { + opcode: 'setDuration', + blockType: BlockType.COMMAND, + text: 'set duration to [DURATION] second(s)', + arguments: { + DURATION: { + type: ArgumentType.NUMBER, + defaultValue: 1 + } + } + }, + { + opcode: 'saveFile', + blockType: BlockType.COMMAND, + text: 'save file to [FILENAME].wav', + arguments: { + FILENAME: { + type: ArgumentType.STRING, + defaultValue: "myMusic" + } + } + } + ], + menus: { + instruments: { + acceptReporters: true, + items: [ + {text: "violin", value: "violin"}, + {text: "flute", value: "flute"}, + {text: "saxophone", value: "saxophone"}, + {text: "clarinet", value: "clarinet"}, + {text: "trumpet", value: "trumpet"}] + }, + pitches: { + acceptReporters: true, + items: [ + {text: "D3", value: "D3"}, + {text: "E3", value: "E3"}, + {text: "F3", value: "F3"}, + {text: "G3", value: "G3"}, + {text: "A4", value: "A4"}, + {text: "B4", value: "B4"}, + {text: "C4", value: "C4"}, + {text: "D4", value: "D4"}] + } + } + }; + } + + setInstrument (args) { + const text = Cast.toString(args.INSTRUMENT); + log.log(text); + } + + setPitch (args) { + const text = Cast.toString(args.PITCH); + log.log(text); + } + + setVolume (args) { + const text = Cast.toString(args.VOLUME); + log.log(text); + } + + setDuration (args) { + const text = Cast.toString(args.DURATION); + log.log(text); + } + addNote (args) { + const text = "text"; + log.log(text); + } + addNoteFreqDur (args) { + const text = "text"; + log.log(text); + } + + saveFile (args) { + const text = Cast.toString(args.FILENAME); + log.log(text); + } + + +} + +module.exports = Scratch3MusicCreation; \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_signalanalysis/index.js b/packages/scratch-vm/src/extensions/scratch3_signalanalysis/index.js new file mode 100644 index 000000000..eb33d4bcf --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_signalanalysis/index.js @@ -0,0 +1,83 @@ +const ArgumentType = require('../../extension-support/argument-type'); +const BlockType = require('../../extension-support/block-type'); +const Cast = require('../../util/cast'); +const log = require('../../util/log'); + +class Scratch3SignalAnalysis { + constructor (runtime) { + this.runtime = runtime; + } + + getInfo () { + return { + id: 'signalanalysis', + name: 'Signal Analysis', + blocks: [ + { + opcode: 'compareVol', + blockType: BlockType.COMMAND, + text: 'compare volume for [FILE1] and [FILE2]', + arguments: { + FILE1: { + type: ArgumentType.STRING, + defaultValue: "file1.wav" + }, + FILE2: { + type: ArgumentType.STRING, + defaultValue: "file2.wav" + } + } + }, + { + opcode: 'compareFreq', + blockType: BlockType.COMMAND, + text: 'compare pitch for [FILE1] and [FILE2]', + arguments: { + FILE1: { + type: ArgumentType.STRING, + defaultValue: "file1.wav" + }, + FILE2: { + type: ArgumentType.STRING, + defaultValue: "file2.wav" + } + } + }, + { + opcode: 'compareInstr', + blockType: BlockType.COMMAND, + text: 'compare instrument for [FILE1] and [FILE2]', + arguments: { + FILE1: { + type: ArgumentType.STRING, + defaultValue: "file1.wav" + }, + FILE2: { + type: ArgumentType.STRING, + defaultValue: "file2.wav" + } + } + } + ], + menus: { + } + }; + } + + compareVol (args) { + const text = Cast.toString(args.FILE1); + log.log(text); + } + + compareFreq (args) { + const text = Cast.toString(args.FILE1); + log.log(text); + } + + compareInstr (args) { + const text = Cast.toString(args.FILE1); + log.log(text); + } +} + +module.exports = Scratch3SignalAnalysis; \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_signalcontrol/index.js b/packages/scratch-vm/src/extensions/scratch3_signalcontrol/index.js new file mode 100644 index 000000000..0959f0bcb --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_signalcontrol/index.js @@ -0,0 +1,142 @@ +const ArgumentType = require('../../extension-support/argument-type'); +const BlockType = require('../../extension-support/block-type'); +const Cast = require('../../util/cast'); +const log = require('../../util/log'); + +class Scratch3SignalControl { + constructor (runtime) { + this.runtime = runtime; + } + + getInfo () { + return { + id: 'signalcontrol', + name: 'Signal Control', + blocks: [ + { + opcode: 'isVolume', + blockType: BlockType.BOOLEAN, + text: 'audio has volume between [CONDITIONVOL1] dB and [CONDITIONVOL2] dB', + arguments: { + CONDITIONVOL1: { + type: ArgumentType.NUMBER, + defaultValue: 60 + }, + CONDITIONVOL2: { + type: ArgumentType.NUMBER, + defaultValue: 70 + } + } + }, + { + opcode: 'isPitch', + blockType: BlockType.BOOLEAN, + text: 'audio has pitch [CONDITIONPITCH]', + arguments: { + CONDITIONPITCH: { + type: ArgumentType.STRING, + defaultValue: "C3", + menu: "pitches" + } + } + }, + { + opcode: 'isInstrument', + blockType: BlockType.BOOLEAN, + text: 'audio has instrument [INSTRUMENT]', + arguments: { + INSTRUMENT: { + type: ArgumentType.STRING, + defaultValue: "synth", + menu: "instruments" + } + } + }, + { + opcode: 'isSoundType', + blockType: BlockType.BOOLEAN, + text: 'audio contains [SOUND]', + arguments: { + SOUND: { + type: ArgumentType.STRING, + defaultValue: "music", + menu: "sounds" + } + } + } + ], + menus: { + instruments: { + acceptReporters: true, + items: [ + {text: "violin", value: "violin"}, + {text: "flute", value: "flute"}, + {text: "saxophone", value: "saxophone"}, + {text: "clarinet", value: "clarinet"}, + {text: "trumpet", value: "trumpet"}] + }, + pitches: { + acceptReporters: true, + items: [ + {text: "D3", value: "D3"}, + {text: "E3", value: "E3"}, + {text: "F3", value: "F3"}, + {text: "G3", value: "G3"}, + {text: "A4", value: "A4"}, + {text: "B4", value: "B4"}, + {text: "C4", value: "C4"}, + {text: "D4", value: "D4"}] + }, + sounds: { + acceptReporters: true, + items: [ + {text: "music", value: "music"}, + {text: "speech", value: "speech"}, + {text: "noise", value: "noise"}] + } + } + }; + } + + isPitch (args) { + const pitch = "C3"; + const conditionPitch = Cast.toString(args.CONDITIONPITCH); + if (pitch === conditionPitch) { + return true; + } + return false; + } + + isVolume (args) { + const volume = 60; + const conditionVo1 = args.CONDITIONVOL1; + const conditionVol2 = args.CONDITIONVOL2; + if (volume > conditionVol2 && volume < conditionVol2) { + return true; + } + return false; + } + + isInstrument (args) { + const instrument = Cast.toString(args.INSTRUMENT); + if (instrument === instrument) { + return true; + } + return false; + } + + isSoundType (args) { + const instrument = Cast.toString(args.SOUND); + if (instrument === instrument) { + return true; + } + return false; + } + + + + + +} + +module.exports = Scratch3SignalControl; \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js b/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js new file mode 100644 index 000000000..3372ad0d1 --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js @@ -0,0 +1,87 @@ +const ArgumentType = require('../../extension-support/argument-type'); +const BlockType = require('../../extension-support/block-type'); +const Cast = require('../../util/cast'); +const log = require('../../util/log'); + +class Scratch3SignalViz { + constructor (runtime) { + this.runtime = runtime; + } + + getInfo () { + return { + id: 'signalViz', + name: 'Signal Visualization', + blocks: [ + { + opcode: 'timeViz', + blockType: BlockType.COMMAND, + text: 'plot time domain for [SIGNAL]', + arguments: { + SIGNAL: { + type: ArgumentType.STRING, + defaultValue: "test.wav" + } + } + }, + { + opcode: 'freqViz', + blockType: BlockType.COMMAND, + text: 'plot frequency domain for [SIGNAL]', + arguments: { + SIGNAL: { + type: ArgumentType.STRING, + defaultValue: "test.wav" + } + } + }, + { + opcode: 'specViz', + blockType: BlockType.COMMAND, + text: 'plot spectrogram for [SIGNAL]', + arguments: { + SIGNAL: { + type: ArgumentType.STRING, + defaultValue: "test.wav" + } + } + }, + { + opcode: 'musicViz', + blockType: BlockType.COMMAND, + text: 'create sheet music for [SIGNAL]', + arguments: { + SIGNAL: { + type: ArgumentType.STRING, + defaultValue: "test.wav" + } + } + } + ], + menus: { + } + }; + } + + timeViz (args) { + const text = Cast.toString(args.SIGNAL); + log.log(text); + } + + freqViz (args) { + const text = Cast.toString(args.SIGNAL); + log.log(text); + } + + specViz (args) { + const text = Cast.toString(args.SIGNAL); + log.log(text); + } + + musicViz (args) { + const text = Cast.toString(args.SIGNAL); + log.log(text); + } +} + +module.exports = Scratch3SignalViz; \ No newline at end of file From d9ab94e67aa078f6fdd97ba25de60f7b89593fa4 Mon Sep 17 00:00:00 2001 From: nada Date: Fri, 4 Dec 2020 16:42:58 -0500 Subject: [PATCH 002/149] Music Creation First Iteration --- .../assets/drums/1-snare.mp3 | Bin 0 -> 5112 bytes .../assets/drums/10-wood-block.mp3 | Bin 0 -> 3676 bytes .../assets/drums/11-cowbell.mp3 | Bin 0 -> 2688 bytes .../assets/drums/12-triangle.mp3 | Bin 0 -> 10455 bytes .../assets/drums/13-bongo.mp3 | Bin 0 -> 5269 bytes .../assets/drums/14-conga.mp3 | Bin 0 -> 3808 bytes .../assets/drums/15-cabasa.mp3 | Bin 0 -> 2041 bytes .../assets/drums/16-guiro.mp3 | Bin 0 -> 4905 bytes .../assets/drums/17-vibraslap.mp3 | Bin 0 -> 17089 bytes .../assets/drums/18-cuica.mp3 | Bin 0 -> 3257 bytes .../assets/drums/2-bass-drum.mp3 | Bin 0 -> 1877 bytes .../assets/drums/3-side-stick.mp3 | Bin 0 -> 3408 bytes .../assets/drums/4-crash-cymbal.mp3 | Bin 0 -> 53609 bytes .../assets/drums/5-open-hi-hat.mp3 | Bin 0 -> 5998 bytes .../assets/drums/6-closed-hi-hat.mp3 | Bin 0 -> 2555 bytes .../assets/drums/7-tambourine.mp3 | Bin 0 -> 4434 bytes .../assets/drums/8-hand-clap.mp3 | Bin 0 -> 2582 bytes .../assets/drums/9-claves.mp3 | Bin 0 -> 2973 bytes .../assets/instruments/1-piano/108.mp3 | Bin 0 -> 9852 bytes .../assets/instruments/1-piano/24.mp3 | Bin 0 -> 75617 bytes .../assets/instruments/1-piano/36.mp3 | Bin 0 -> 80416 bytes .../assets/instruments/1-piano/48.mp3 | Bin 0 -> 58811 bytes .../assets/instruments/1-piano/60.mp3 | Bin 0 -> 57227 bytes .../assets/instruments/1-piano/72.mp3 | Bin 0 -> 46418 bytes .../assets/instruments/1-piano/84.mp3 | Bin 0 -> 30729 bytes .../assets/instruments/1-piano/96.mp3 | Bin 0 -> 25596 bytes .../assets/instruments/10-clarinet/48.mp3 | Bin 0 -> 29950 bytes .../assets/instruments/10-clarinet/60.mp3 | Bin 0 -> 33369 bytes .../assets/instruments/11-saxophone/36.mp3 | Bin 0 -> 24649 bytes .../assets/instruments/11-saxophone/60.mp3 | Bin 0 -> 24649 bytes .../assets/instruments/11-saxophone/84.mp3 | Bin 0 -> 24649 bytes .../assets/instruments/12-flute/60.mp3 | Bin 0 -> 45669 bytes .../assets/instruments/12-flute/72.mp3 | Bin 0 -> 33812 bytes .../assets/instruments/13-wooden-flute/60.mp3 | Bin 0 -> 34383 bytes .../assets/instruments/13-wooden-flute/72.mp3 | Bin 0 -> 36776 bytes .../assets/instruments/14-bassoon/36.mp3 | Bin 0 -> 28433 bytes .../assets/instruments/14-bassoon/48.mp3 | Bin 0 -> 27567 bytes .../assets/instruments/14-bassoon/60.mp3 | Bin 0 -> 28049 bytes .../assets/instruments/15-choir/48.mp3 | Bin 0 -> 32402 bytes .../assets/instruments/15-choir/60.mp3 | Bin 0 -> 31410 bytes .../assets/instruments/15-choir/72.mp3 | Bin 0 -> 29022 bytes .../assets/instruments/16-vibraphone/60.mp3 | Bin 0 -> 22265 bytes .../assets/instruments/16-vibraphone/72.mp3 | Bin 0 -> 23547 bytes .../assets/instruments/17-music-box/60.mp3 | Bin 0 -> 30465 bytes .../assets/instruments/18-steel-drum/60.mp3 | Bin 0 -> 28015 bytes .../assets/instruments/19-marimba/60.mp3 | Bin 0 -> 5229 bytes .../instruments/2-electric-piano/60.mp3 | Bin 0 -> 23858 bytes .../assets/instruments/20-synth-lead/60.mp3 | Bin 0 -> 60288 bytes .../assets/instruments/21-synth-pad/60.mp3 | Bin 0 -> 33916 bytes .../assets/instruments/3-organ/60.mp3 | Bin 0 -> 26939 bytes .../assets/instruments/4-guitar/60.mp3 | Bin 0 -> 26857 bytes .../instruments/5-electric-guitar/60.mp3 | Bin 0 -> 24649 bytes .../assets/instruments/6-bass/36.mp3 | Bin 0 -> 19738 bytes .../assets/instruments/6-bass/48.mp3 | Bin 0 -> 23175 bytes .../assets/instruments/7-pizzicato/60.mp3 | Bin 0 -> 15102 bytes .../assets/instruments/8-cello/36.mp3 | Bin 0 -> 25512 bytes .../assets/instruments/8-cello/48.mp3 | Bin 0 -> 36240 bytes .../assets/instruments/8-cello/60.mp3 | Bin 0 -> 28848 bytes .../assets/instruments/9-trombone/36.mp3 | Bin 0 -> 28495 bytes .../assets/instruments/9-trombone/48.mp3 | Bin 0 -> 28545 bytes .../assets/instruments/9-trombone/60.mp3 | Bin 0 -> 27147 bytes .../scratch3_musiccreation/index.js | 546 ++++++++++++++++-- .../scratch3_musiccreation/manifest.js | 47 ++ 63 files changed, 535 insertions(+), 58 deletions(-) create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/1-snare.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/10-wood-block.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/11-cowbell.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/12-triangle.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/13-bongo.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/14-conga.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/15-cabasa.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/16-guiro.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/17-vibraslap.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/18-cuica.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/2-bass-drum.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/3-side-stick.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/4-crash-cymbal.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/5-open-hi-hat.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/6-closed-hi-hat.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/7-tambourine.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/8-hand-clap.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/9-claves.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/108.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/24.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/36.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/48.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/72.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/84.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/96.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/10-clarinet/48.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/10-clarinet/60.mp3 create mode 100755 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/11-saxophone/36.mp3 create mode 100755 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/11-saxophone/60.mp3 create mode 100755 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/11-saxophone/84.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/12-flute/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/12-flute/72.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/13-wooden-flute/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/13-wooden-flute/72.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/14-bassoon/36.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/14-bassoon/48.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/14-bassoon/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/15-choir/48.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/15-choir/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/15-choir/72.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/16-vibraphone/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/16-vibraphone/72.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/17-music-box/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/18-steel-drum/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/19-marimba/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/2-electric-piano/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/21-synth-pad/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/3-organ/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/4-guitar/60.mp3 create mode 100755 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/5-electric-guitar/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/6-bass/36.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/6-bass/48.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/7-pizzicato/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/8-cello/36.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/8-cello/48.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/8-cello/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/9-trombone/36.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/9-trombone/48.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/9-trombone/60.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/manifest.js diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/1-snare.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/1-snare.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..6cbd0c8c1a961347794a5ca3410b3b4d7a2f4afd GIT binary patch literal 5112 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 kJN}<d0LlPxBn|)s@&7yj28DZ=+W-In literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/12-triangle.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/12-triangle.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..0987759cae7299681033cb17d65b48169c5029eb GIT binary patch literal 10455 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

i9^;kLV^qMP4j8A{*eqoPiaywSLtaWt2b zi+!5L8Fy2DQ)5N{kg~#cFEr!aW}zG}J1>Bna-t@%T29iBl1g^*0vX@^WwPvS(Wn7K zv_Q&8&q?EG&}_<3TSCR~qHeX{%{D&ebY27`I^0{NQq)R!1Y|hA6Y&(Rl-#U3ZNYhc z7ZNN*kJg%;g&4oRl2O`|(HuzgEn4+KXf!LN5OdyJ1Ia0y;-31r8ku`Wd_$<@V(t1< z)>rnTq**qN>UQ$CIBO#E_s-&rYV9Z7;|FEqCQ4haJ@JXEb>%%&*OQG)*dA!IdIC^U zJ~UvRbJe5Qn^0rkT%lPr|3z zZ+K1yzgW|`K4RY-MrhIWRT$m2z5!OHmHXbJg|EEQ#?$V?>HL@BUkrhBnL+M4csExO z-zEC9CyhG`u!Tlh6DpbN)L=ihpYcYV;R{J*&&ulVYE!P)aVgQ=aa~sDcRTZ)Ln~DU z;dHtGy|qyBK!m}saTH`nLNg zv!k#qP*1;9mN8qLK}Z22#H4Jf&{-xU9U=9BM4b1TJ=iwyXx)MAS31x_!vU&#!By8h zPszLfASGPNF3;_i0#*~3AGUKZ(=A8e-gJ?p*OR>H1D#ZLtLuD!Xqq}eNnm)D`b zbMD3E{)B_WU>xIjg}AnD{k`bbcRyxZh|cMfSt|OrihxPm{M6f0y2>%*@tat&8E|oW zwZF9dN#mFSRRgGJy)+8=uSAHmXb6+la zMI$3?7p$4n+hlD&C>B}QFx&A_>iP492YEbZHZA6cODv?}djrwKX<_57m8GK}8j_e= zzFve4U4bCx=ltjLaUa8$G_D0?H10V;<(Nkwr@wx!mP=j=DxS;txqY{~K4_G3@zONU6EzRF zB1A*kJObW7-_#V0>#&+LNfBWZ#Aee_d$(Z^ykW18ptg;E&PckH!XvC_x6KS=A4n+xDmIm9})r5IZ9gZ z$Oq44XuLSRvqa6^eJ_3b$A6yK@uO&4!>n!e;3eaY`y_U2A!^V$8^S!*| z&(N3#s+{lDEbEz;C5ZK}?DW3Wz6y#91Xo}|@OePZV$UCm|ouBT0JzK59 zZ_(kC^soV}%3S7TiJ&_E$H(arlZ;#pd9=YFi)h!A(UqyCm-M(mts)Z|beAD(@eaEi z$Y3f{gbJ$Do03m{?E#7wPqUHr8%@thHFnRiQWLGpe}RkfyoG)es42DW9AlL*(RZ*( zHZa>=Izv|sXd2e9%V9L(CVVCr_k)~Yf|)wBELp`xK_V~^`y(xv+j8&REH<i zOl@wIg_|UQ$&r%$h(ZiWNx0UblzZD3n4qt!Uk@W;oDOqiK(* zG?u9^a|^;x&)RShP^Dw7+=xb4DHt0S>3eY>Ia$-s$HyAl(^yUy0%zm0IvZw$GdM{P z3&0vvZc642T%;k?Y85caJCdwvyBwV0ui_ISqHoui)|Ap@EoCQlz=iH$F?nmgRy8Aj z9}l(bo_Tj@?$vS=9~f&a%dIC$p)uJrh}dBp8{K6>4O45bv&#=y?j@aB&R)44sDg^ zIdoG8XYpOEo?B%ipHj=8R8AMAN?p@$XEv^RHt8z!40}2FY^ezC}jtNw-es2Hc*Pp*ta!bB%o3Ep!TPZgC zg@mo09-=^#gY9-|G2JbAqT^feb&YPK06b2by?)Ve?!$jycnT+VXp*`Bs*2-Vya)g& Mp^xjp>i*CD2b*N8kpKVy literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/15-cabasa.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/15-cabasa.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..4fce061764374f78508d50cbc6e8e34c33a864b2 GIT binary patch literal 2041 zcmai#do&Y%AIEpiUBlE!$uE-$V_Thc`8~zvvbk)Fni(Ru`H4~}PvlZENV0B_>hCPFt;youJ$eBH#_W+a=C&LZ0$wbB0Km!WLU-r@fMdV*aJP5P|GV*jqC^b)bsz8=@E8CvpFO+5t4udLw+I6$NyLpp zr89Y<#TprJAj}`+#(6nOM5UqdOX$^(4VMotZWKt8f@2` zc#LRf`DEvRcSj+(+u}h=KvyO#c`KXQI#QY4)$5vQ3Jw^4T@6yj`q~zzg2{bQz&;Gx zJQn1l(bGyEOt3`ElFu@IDDj@bhU4}mzl}q4&lcAt9$6U&dBw@=&*VqqUk;2E+XSe4 z7LB683H))U-a#w(o;7QHd5q!b*-rli&Bg>RVmmbN?LfA>2)x2b)#+ADd7b*kGw@9E)%LU z81!7Zfkprs+5!Zpl@AoV6RePIhob?L1-Nupcf`XWL6(VV+N*vZGsHlDsH5fQHiu_V z`o*bZ=drZm*{aGQ!esd=mgv&xP*!@SpK@~%l%#8lntTXs5FuZK8{n5*KV8@!k%{uX zKji^5Ago8d6~p=UCx8Xe_-Ay?1hHbQ1x0zN+$j`ry8b8<&gn0!0|>Z(&FMDm_5@L5 zptFW1)oO%eZaAt9T<`Z8I$dDsOX#)_xs@oFwzhp;D{!m62~_hqwrh+2=UbgKFu0;F zgcF71SfA@?rwZnYvPyDZLi8O+Qv2659eK-BoNY(g?V%pBaGS3+^ydVVRuEf*PaWE4 z_;DY;zvA(j2ttEIT0m#5aSTknC1s-Uf`ev^Qkk&9yQl=AcSkE!vl-Tsql3h{Eq~`! zNNhqOc}#l1k(v`Je4Epudx6!TOERq)LiOI0=cY7pV60*3j^`roug3=1UZdu~{<-VD z!u!#ZI6JT;=(FF0qHv%TnCooaBec;`v(^#6pWBbF zybTGt{MJ=~CSD0#(@%G?@@!=!q6A;~5^3#xS(^x@ zbTD%A?ZzieZta`A&WcbZJ*_2FU{SB+m!l$7KiZLXgn5nd!X#9)?q{^8r*>1ljYGK{ z`V(n5oA?`pNVr&~co%4?NKRFt7$NfoZbXNcaO=01eAre$48t>Tym$okvm%}Qf#_`M z!&$@35;I!kz4!k{DxX5=n0xwad5?WEJ`RGG-)8wGU&nPN?$w2lY=LFMJdzgSE$8L% zxjXFObDRo(kN?e8ucZ*ZQch*9qx|CdX*pH?NxD`Wm4)Y?(llrdFvThNE8kUk!?C`eDnmC_6j5xr~TJcf(--DuRe2pNso2MKbsfIUnli#`#zt=PP1&MYVi zR697ah0S~a$_clus2ajejjp!)!yU8HTvxue?STOTAH7<*-s;BsR1uRf3VD|FFv`#y z;!5mQEIU-`++{rziS@-j;<{fxY{kRx>&CtQ(33;ZSEDi8c0H*2Dd z6<@Qu=5YT-iA20x2v;}_I-=bO0DQiq9!pgI?j7@h+(V2L@>#)13r}*NCS~St*E7a& Uxzhg#6Dmo4%lenUNzeb~PawRp;s5{u literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/16-guiro.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/16-guiro.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..882feaaafc039b527572a7d627076e5357dea5d8 GIT binary patch literal 4905 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 af?xlIrr$&EUmvM^g684+-HR9H$o~V00<`M@ literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/17-vibraslap.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/17-vibraslap.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..faf7315ae3db40ed431b40120a9feaff4ff3b6bd GIT binary patch literal 17089 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 F{{|<seY9 zvFwC7$wWbg-Q1CZ@d3ykp^asish4MzyiIN6H~ggWCi!~hwAoUIqW6XRrfnLK>BvO!9VE>4;EkX zyBXB8t7Acd`Kp3@CKu!Fy1rR0l5yj{YqL~OWywG1#V7aP<69bjZfQctVYUm~TMN(B zEnGMM=)7&MvhN<X6-%t*J)Wres>}z0>`p zSaY&;j#pgmjBv?kx3`-_C~t8wTI5-}xi0%xT7w?1Im3pm#1nK zuD)<2KUC;p0B6+#&1Tg_3Cn^X1U0R4&q$jP+}SkcrM9)r=Yy@)yTh~o|1JQg1cAVI z-?uaJUU_eRS$df7Eu&g%Sz7G=`?>vwRD<^qMH|=e`-j;Mm%>R8` zMLNq?x1d)~RIbL`-%IrLTUk?e+|0|X>1|Y7^5i+mpVPbdwna`8jr%+O+ywpI`Q`uX z*E~x-!7k3+y5@N`pBUQ>RTTxwWlD>f@I~ zr%uJKR&}{<6mmB5!og)(Cx0zBs@dDE7Wvp{2^ZH+qho4Jg@~-SfN6~@CdO;7y=-rM_wTjZwe?>gP3u$iDUGpQ_xA4l(x$o3ecC^4Idd+l zshOc|d5H1GhhK6uZiXn%P+w?h=i#-8xpa!anavYU9X81|VYz$iTS5QEve5H$Yj5;j z_|+1@sU-UFrq1t7VcXPTXH)hLnaaeZuMAUM7E1C2E_a&Uy<4mN?o8+1);ON1jhJvlXGL7-jElY4zjIW{Y!p>*SuuXAiz^vc(tT4|+u z$RLsbS!0pWisQ+JRm!v3Oy*3_|H~4uj zb27@XP4kMd8COSFFQ*(YM@ztj(9;s1mP`q4>ThYEwfv;<|2H--ydSf-%&T}&@}}Fp up`)e!$Cv;Aufb{(J)>1f;Qw!dBizgf7#NoT3r__G29pK`1{NfFYB2%I8xE%c literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/3-side-stick.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/3-side-stick.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c7757c932b951d636278aac249344ac5d4b609d8 GIT binary patch literal 3408 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 VaSZ@&0DwdU0FeLB?El^1zW_(^OvC^H literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/6-closed-hi-hat.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/6-closed-hi-hat.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..842228e334b1231bc476ecd7f6885b3e255b8ed3 GIT binary patch literal 2555 zcmd_sS5VW-9tZG0QVyU}r3oS;2M!QWN+=1TNtJ*kngAk1I#Lw~k$?(E5eO(HhtN?G zDWOS_5)@Hsngo$%q$5a|E=bSCxz`8o<9)rKnVp^4ec0dpzB@b1+D>W){+s=^0I&Tu z{{8U>0Pt)BCl5dzaQA?sgFYUxdI0Ny{j+T0M%Jbps=7Ks9Ms<>Y0AiP0!9Ga=&w2& zS?xo=H~wE{*7nu?fY@}{VtN4Jv^8b1QFF!c-`N1bhTCc*Yk1c4a_T9ia{v$-`$qUv zT~oGrYBi_&e@cOUZ2661bV+#pSKhp|j+Mc0d7rD-z%8s>x<7vO8LaNE zY7AbG4Ea#Hmo}%fQ-_D+Uw;Ful3g4+m&>E)K_pziZ5J>B$4FJ1TS@nhpcAOwxHb`r zS6spQ`vuJTVlPCC8I5GpFo<$28=3O0822|;=@UaOPMA>QiU786LT@t&q-JARp<^7^ z1v`^b%jW5K+xU!xamD4PPtjGw=!J=r3|q|NlpT+CaYZo+6D(Dg-|DG*(E$~YX#UCG zMJ7K%LdtHaWAv{i>aH-OE9JMQOu4M@gFY1UOKjvvefse9tX;0ciHPxs!g!?)^F0X4U)Q;;?jLG}ALIPm|@W`W}0k`KzNOEimZ1?1Z^5k@1!Iu2N@KudVQHtlnW7So8tH7LKG>bu80!=(EA8L5sU8xgHfw__nzT zp4LI6117 zhhPW15UR6Mr8u;mW*@a3|0y{~hJ2fzt8DnE($&(?a7JzmHbl)s7YsezG)8yi&4*!P zXx<^04I-o3jTX|I*1TKgiTN6M#POH&6Wz|tO($IC)MLE&I-)TyJxwD6x_E)$L!FE3^7mXyO9{inBFX37-Ey^kIJ zs!PgLapn>Vf%w~fQ3gIy#Z#ASCZyw(MWd;FQZ}}k#4c^lSPNS+pD4S3JD&>35_!bS zNUpFfOo=PQ3ljTPDw#5q)RiX%`V1$c;A!HCpS6%n{aKf?eGo4SMaqOHqy|E~h;=@F zgh5}hqIvIP(GDph)C?Jr8uyB^P#2gC09HO)4*TM_wpQLCa-7Rlf0;*xZ{0D)59I-1aIi5UFwm!@w&E3bm@+Y z!B&;H_%&SS)i3M#g33_ZBcFV+2M-#`cn1U11PSgR2gBENrnd{3hUX8T zRHuD8?$Y$^%jH#K`;=~}G*Ta>?>^`6qsE~(LsO~Fct+}9a*JV5zcaDCylao*;`@nf zUd2$23yWpALV4#mnxWNypnNjP_4GvY{v#W((Ar@+t#S>CPPrZ;N~|DdR(k%YafrZk zv!@cr&VZ(1CTcsnFFd&uqvI-_j@f^`kv;!rtJIh~X7z1#_<%G-e0=7-rEWHr+!ZyC z#R@!!+^X;ny|A=*;Kz4tAco>R#iCI#@_Iuz0q0VVCImIb+)($fbe#~yC-Hsug zK^f%5`Dp@|YKRL`?A9L94i^_zw3&3ohd4BXb#Nr>$e3ySd+`26@rd}2sF!GRlv&`A z>|ao(vX{=)31p#<&e|fFH{JGaaY%h(hU;9ylQUq0Smj^^ zrb`eldp#p@p-{pVGGsMZ#e{yYYC}6Qx^0((J75|S^mI{DKWi@9VWIZFo!eMabn_uqy+-AdJ=Cjq8lLOEZ znAV5IM|8NEd4TJ2N%hmRQ z)KbOP9Fct)+&T7S<4_X6QK#PQqyqSOiXudt=p)jb(l(na(28ll>AnU;pQP#K5Ym}J z&Un{CbUb_97KO2;XD4m}rFy{Ap>!d+l%eOlm)0l!Mw!9xluYGAJ31fMPPp1^fyAmS z?)qXTsnvTf);G^$`%c3xHCv-|Bjm5_z<2+q3{cgmD%uckfVC~q%*OsMoBhu#0)Pwv kXhs462m76AfSvOkhV^k-aLDELQRoKv_iss69rZu?7XU77g8%>k literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/7-tambourine.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/7-tambourine.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..f0ea66a585ec62f281219a156336a9fb193fd8e0 GIT binary patch literal 4434 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/8-hand-clap.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/8-hand-clap.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..a5b55f522f628c09360473ca0429a1a41b3331c4 GIT binary patch literal 2582 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/9-claves.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/drums/9-claves.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..75b76533dec423cece275edae9d2887073ed78ae GIT binary patch literal 2973 zcmd^>`#aP9AICq~$e}qO(up~ytmKrYl2cS$b7q9wF~V3zP8rEzrCTFxQ%+&lB+Vft zVIeKYsAR<$S?Dfz6l34Iuj{^C*Z2D;d>_~KzFyb$e*f@(U60of&zE35hY9>Q?jaGu zzwV@e9dQ7VyaT9iaeNE^Ei$&K+M;8N_gj45La@cJzffmSB5Vv{W=F7~=6_o%RXCNN7_505tp!!vqF7Kqj>)*g@_e1z-d`f*;xGzDx2L zv^fl=J1QbxXupM!G*4&orX}akx z2lsA0rI>flHKmzV+`Q3!VH(9UjEU8ysMbYf>?;&~uHW|rkG^5J*5fuAOej9$$F0KV zk7C9+vQJj&%l*ZY9-9gM3ln9Ho^#xD-s1SOOM_l~Waujz!=-wb$BgRv`M90kEckP} z=0iTqdZsbd+8E9ZAuEsLT} zIrFhYX`aL&Ms1z~t*5mWsRxzrzbp++eNZF)MT?pDv~S!y8^ z1*@K6!nBeutt@Tj7O!Z0KR5=L&Gyz5;n_;J4leZ6{7 z)CYASZdOvsTqv^aq-`dHSXW<8v{`N!G>n%MKzCy|L*4?Co-g-kZxGAMwyBn6nmCEH zgxzI@M|afsuN-SIOs@{u!SwC*Q}rMZ=ZEc0wI(y1=g z(_jBBTLQ0;U5r>TP@&-t%qOKo+1DYDP7&bSqCb+TO2!Cb_xpLHe654~m;MHz0Ew%{ z2{w770NEZ{evs}sNSz^;&S=b+A8L$wROdmcYu;IvSC^QS_N;LiMF>2TDI$JvqY=I) zYfH!|T`PK$1Pk^4Y@Mm5i4)D(ttD;5fnM`07W}-se5KVTJYS@07Uxvm5XtM?`$Fc< zYS$^I);+nYTv9`1r3Ikgv({0ckFMCCJ(1#4(GajC|4h*R4usZ#oWCFOO21{aiW~pj zHZ#p<*o^L`^?fXC_B0|-8Fm;PHkN*nlHbepou^Jdx_HJ33B`gLl22C~l&9_O=Gyy-Qz3mr{~ zag~^d{9W&D+;)Qh&G2z$3b|IVBFFMfOO%D>)opW1kxhFz@dRD_>a}u0mZL%V0}Tb8 zFU1jx{uG`HTx0(A?jt^#%zWthAI)G?IMNK(JwYUfLty%-sEe<1-abAJvK6ze(qkMb z4e9zAC1+t_LJXSc)UF3B_-8B2+?2RCTy%UK(jDHt+82>+P6F*i9%hh;wx~-6f^8n` zNpD-}m6K*IFP>$oR&g-L#0=cMvmWAc0wN|as3O0jglECx0me0=F1QWeP&fAKqn zl<~5q1vU$XaiMbBpW0Fiwr3D+0{`A?sPe=6HIFw$pAxQ=$``ti#ikhRW75$Fw%9yn437sewG~b8` zY1WuGVc$eNW4xaDa9Jj(%5|jblX;ri4h)N6>O}W1% zh~lL^q;2L3W9DbdsENxE_T*4{rJ>lqmI}uQFZ)z3>#H7EtjjE%rRES{KSl94 zBHpN>~T#w2G)PFn+648CMlDzYC zla>>AW`*-o81ps$P)+I|Vu=)@V4$a`D7#xbYy~`^zd}n0R2Yu{A6$0V{e&HhOr`7_ zCUCU+U}aSk0!ifZ*aO@2$@EU0VY_KmBPW)=$arA3nw#Aped14PT+@?6g}SJ%tR8KP1GL6zRlSN$vU zVYUfjRioONN{<&O7sE}pE^nIW(3*CZQ!|46rk*tLI;9kSr&wZsC^8$pZ12s7-Sj5DHz-Oat&PUks(Y%1uk2cAE>3L_AZpHfNKAV anW%&>Md>FCHrkgQV7z~KUf5yU|L`BPd^IZo literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/108.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/108.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..a7c0507397443cc7ac9f94457f83917042def883 GIT binary patch literal 9852 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

xrN3k`sEPW|ast~*lA zp^P@EO4P?%>4~pQ_6RLXnaP?eGW-J@1hS%?G@|j`{;`$nUh((^a0!Uw$n~U>Rb)TT zw5b|XCdHf^8D<7KDi_UF!NbL+A5NBfeLmd1I$OJPJfjI7H8q&@&y9na(^pG3RkQKN&r0zaB_@r7dZjh zPo{fMAv()+Z|udX$%rt};;#Sp!x|H2`ieR0!r@}y>Qv=eZ{DilIj{y$Yf)S3LTo~& zpT5EGXz-91EF)O-Uv-kHK_KSy9BgdhB|89cY^J1sgHo`Iiv6oSm)w_KD`K?@xd%_# zHtoHAuPN~e&ekWJiecq^Oi%OmRi3XLm#k*x3%dBAA3(qtbdGfea4r6mzy(_u$=gWs z6;=g=&SosaffC&DVt!wteMdX`Zdv*+>ARyc9H!ey11jz+zz;t9<1>Il_J^-V(#m+zk7f8-uH#LPZ|XLzaJwfcL(I(2#`Mq0Kjf100j*L8;^j9gp87! zmVt?tor{NGNaUr&D``0eWi?H0JwszN3u`+^XLk=T-+-X^q2bXnu?fj(898|$ib~3= zYU-L=+B&+v^bHJ;O-#+qFRiS9{kHXU_u%N{{P*Sc?ce){N91>DsY$EL3-Y`a^+av| zzmFtD&y40G4FLXldXAyVg!%vbkN;nOBkt)30YD%%ig7Ohz~Gm@m!E+r^j~O@1ZMfL z&3ZtvG;beEfZV1~r&E1ot09V8m_siVmnY%2aJ{KeAb}>8x|CATd~+`}Hs((RfTv55 zoap17;Y&%JTfT@40D$m!+6YEJJ}Ow``MRrT7(RC>IajKt&$>@3fC7@ui$L6a459#t z%+Q22tT?w{2->Sp=1YPKejL;O@M1oU?(L%tMHw8lVhD|urUxH}MMU9{S+IWaaiKsy!dizzjt2;x-sl3$zjz6yy-3MmUfJ7!5wM)GK(gJH zSXECO?MK+GJH~26)oGfX{Y*|y^XzzN?nTS@j@y?k?3#Do@#pIG)XTQiY~=&toyXV9 zK=B#_IkY_?L8O>sWfu^B$pJY`=b!=h+yi0!#q`P|@Dp>w+Q?_m+dG zP>tS=ml{8Iw+3<@@FvqG1X0cw$Yd`$;1E6lHI$MuULlM57oY7%R`odIV7c`acVYSl zH?jJHUy3{fD{h}_t!Cq>2yrl0)mYKg7+c6md@5(iL=&BLKMpP)jU;7T%Vg`-E5uH+ z*;Hk-MeJ3UPMZ(uTRhg^9h_LZlLB8`c@(bk4=c);E>42fs%=#?-%(wzU8OC_{=U6ka}yO`^=AqcZWKc!Gch z(9)X_INL4V+NCPX-=zLWrAZ-&3Vp2^j<;RO`gfqC!|NQvVYpLMIF~X=#d)*@W?-k+ zo>uUm42$r>q;SAx-ANhYHxdUk)xr{N1K4i@6qMJix|0$Q{hCs2M(v!knAGv$x&g67 zuBohFc@rTW`0L4*QV7H;x3&nE5o04g6!6W;W80nw-wt5zR4|Upfa`{;3|Y+P8(zhv zwhT1}iwj4mf3k-1m8>dbc_wSKyy76N;2o17_$=$=e5K=m7f}cS3fUQ{4H?z={%(e4 z=9)8(q+!NUd~L?%{80B?66g4XXHxpB6TQ$_BH_(R{$L9P0+Fej1em!d>D_vQfC407 z9uac4E8prQvp@V=(}mKDKmJOQog}Nq5!9MtZesVDBQz@;m1%CAkyQ(ap&$WXo`l9_ zaXLo!y{({XiD4pzJibx{M=wFwBf&mwb!+>RgLFVm>e1hbqZkxJi6iaG>=1Yy^`Q&h zTyUAq41csDF;9t>RqQeHNybF}!1y=@fdKsThBBN;1^y{?0@Pt=q5%L*rbJYQAI#Gd zaZe)$Z~y!w!rb&U$Ss=B?@Y*PV+rgc>7h#O#_gM9j?Z9p3Wn~z*ngll$(n7b*gtN{SA#qC73(sLsc;h7KpO2|h+ z>95B=YBTDf(wxf$=OaShjaFgDk+E*)8;e14(p2DNQTjT;e=vXP60ihwIdkHW`!gxERqgJ2e9HswDhfo5@hH%|3 z#@1l2{oybfwTz{uCrAnirJog}cdU}Gp`s`GNIV*NL-qhhz2uZLa~7c}#`ap7F?Y2B zyBL-hmlwFRpfvv3;+`Tb-`PL@be-zBmm~6Wwb*csF6tztL-En z@~w(ICoL$0kuOjvYIpSbkPW>2a;tc_J^K_(o@TdZF^BX)y#d;UGE}+o497=~LzIKq zUqxQuqGn7AfoKB+E~wi?>w^Kji2f{k1&5h{7=^Mwf)rp!eEUe~69k-44b)AMGt2$0 z&aAz|$(ojnUuakgL4-OH_V4KXw11T26O(d8i*TFc`(K8hNCjy2y~!gDbV6kTNIYb9 zeE#r;lUGC~^$jO2PfzkJWR$i{{WdKjvtDP|2s5@LU4D})2!Xh{fARS!1_&j%1i=YMuDOIVE+>As?M11g zUM)#z4q5A9;4}Y?PYG>y?zxCo#M@D(zIDHcqmjzNnQW1HX&0yOChrjlce^*;TLS7x z(W5>7(JH|F+F%0#PGS#IG61rzD};VXD~p15tRtGDT+lhbvg;u3wFXI0;zu`LXxPaY z7H93nf30cxP-Qr$=&W1_J+LEE$)b&xT~L$OoBc_qz_v?aX0E8=!zmu8%6Xfy7@y=r z`{e=!&X8u3sey|@sqVfygFsxnDNUgD%GLE#;F4tdVP$EdWP4jA0A$AfJtjS-sP!zx zZC>h%s905QmPO^(;!#_lT?L$IAETV2I#B_C9Wr;_XlT8G#|?C7WRq7`-}|2I=cClM zU$6HZ{c`wD_q)t^!=g5Kc}=)X6{&I33-2mqfZNuygjk!$rF8U&C0lZW%A^34lH?H6U?(ejD~T|TV~N3H=%!(jDTTbko1i*Iis&rK`HQpNA%#^aI414mF7vYD9t%dLuY`SWJ z0U;St0Q9(xa$HCB_;Ea3TDD1T3{*%UOO^;a4B8wa>dChdS@bnZwXyXzA7NrrdV$p` z+*f46Kwm-11jE$b%eLR9LD;}4{{F+ysL#^F-*f?QQ!3U-4@Iv+%H2s0o;e3;QVk`i z)AD{;9`ANXARa#n!u5vAe5DZXo zwKv*nu8958;52D2P;ZhaILM```Hh$oF#gJTN#duE*_xW=E$g5m;_*nh(VmJK9@glA zelyxzBp7F^ZlEoE&DJN^><0|%9d6mvr&qWF&c|P_73c-BGBu~Ou6YuqAZhM zXM!YuQwnh%L_9xQ`CpL(AvQ4CsQC@DhDvM%Apb!C;{R$CtV1ecJ!^MritAr5imWa` zr4CC)8(TGWj}(v}HK4}wPFaJ>loY~s^}?)r5Lmc4hpp5fLmm1mEisZ|J0q6=6PJ@) zhTD`>t;W_pJv6KS_{|tuK_YLWKr&%boft0kZ2XxqLqg#pGSyw}of#Qt3GR9)aWQBg za*|kmKlSQkI?%_k(bz|D(9=4hJLbt+rerhV^>wolU=k*Dor(xMYnMwF9o8&nv;>f{ z&`1)`;u#N(AI|A3zHBA>le^$$*Kkr9Skc|mv(DK^=gR$WiB8W5hlF*f@l@V4N5T*3 zD}Gq(RZ++~NAnPd8>=?9!AGI@2Td1~IqrXz;5dR*g2UDt#hwqc#-)&B19jA<(6j)? zLzMw$JCsGvCiv0fOSLH1@wyaF6plgq;&%k1SRXD6-QJ3tjP3;kz9U?4d2ofo zDJHj=aAJ6FWgTUHH&$T9&+zvHUMHRmgmyyOoZ4h*#r*LI#Kvrt zv6OTq3exZ2H}GSME;bGDplAsHmkyZW_=DehHJt1U$0_#kCQDktsC{2;&@1t9ll2Yp zNXR|qeVSB&8W#G5#(0=D)Z%Co9J9qg0m>fvLZG}_+iNz)jaXg2aQvG+F^lDy*~M97 z`gyf_c@11>}IF+U*?w=Xff*~q!^P;c*GmIcc2{XH%W3U@|4 zt{hx2xFJ1C47E5*mNba5jN8NXg$7qzJ`dhA7o}S6MGXui213jC=nmK%9>81OdC%#f z)azj}x{vP=7h}J!7Ot_=-+b)aMhr=;-*1@l6P9;5xhVPsA|)V(+rLOiZJUEE{G{(& z1RiomUpepxe704E=SEtOqOSSbbq%GyJ5Y;h@6}sZI{Y1{odY>kJ81?3% z-oxju=T?CAxT5Hny2H1~F8sr>zDx9H2-%j_TKJ{irHxit!V33M2o!=EJ-Rt#lQ zwjVKrvFW)*ipFxye$FvL6N3+;%dJH3lgCcN$qmb5I8XKAZa81~e%rW>yt}Nd*v6-P ztG{{aJT3ed&*weHp8xi_sY?83<8!5tV!Fr_Fg;vvZR$WCUif{3P_p27o-$)#0|g0@ za1E=B)@!zS1nrd|m;aO7fl=@&{s#i=8FGlMXfbU?&C&)FeK38K{PuY z6MS??Z{!&a`ZD~YJz+wny6gS$+1=Wmx9fa*=Ni}Y)XT2Kyo!(Qv$ambIe}7TKttq+ zir$D$%_Twle!2fK8|#%7c&(ps7@q=EzzT}@50$B4gGxIIp2tJ>EO9ubmRJHcg%)?^ z!v3^WFeR8O;&)c3d!~H)nQX9fPpc23x;yvDr{P<_=RdD@mpLO*{$7^&cy576TJlmX z0s|)=ia>I>PeDaR!R!6RciM2V)kU^DHJR6vNQ9W(<;2L+-^er_ql6igZ(7neJ4=2mjX=?q>St?0hh7Z_#p zAs?IOMxz_>S=AVB7^+l6+D>{cj_Yd(DNyr-(42D8-)2iWdk2!5oGo22t6w4yJ{Sre ze#X>256hO;*FFC!!iDE4@aNNlqjE$GSy(}T9b6euEzm(uJh;G#(GdM;ATi*15YRPX z<5&^8wV&eQjcxU7I6d#9werw=XEVfOk5bZnb%_oDYvQ_r0v~q>1fsiPgMKFaAi#}@ zX1H3~g7f?-sCc335})|ocI~W+$o7Ph5aNHQ;KqvFa>Iqt))*ok2~BiU>HkEDR$nYa zH>z90+5P$X!6Cd5G#$A+sjj>qGMB3#eK~+wNgH>zz!l%vWhX}W}w%|Gu z02H)ugRVe>MLnIO#CH(E7-3hGJ}iKyJxDJV$uG~)zy_un78Wf{^QF&hN_)+kI4nos zpBM`dKea}QruMCBs9`{SY%h&_qstT>R$l2%ldIfnu+1J@%ldeuyMaLL)TLDj08|Fj zk;UsNsK8LXxK@4*C!4}LvNHCrnwsbrZNmWTG_Xg@0h%mY+&P?@Ena~-=t7cDjy~rq zP>b5$6f<2CZYG*5Gb-^dj`>#&SE+)roOAmmnM%?_HZgq<;^xt61Tp5=E(j*(gN|ona{HAUgmR|Bte_L z%MiUTvi7ONpSfjdwr=bkfl%1z9#SpFNf!fXAt#fvo0#VU)`FzZ1!m~2jR!$Qtdv`2 z*iR7fLh+1R`D=IOtv->nY$74d(@|#>ah0?7$*3@M)1jWsE=uS`Di!Zg!M286jkIxV zTDkO>GhncIgmFscJw?Rtw~U!Wj(YyhiNhv^#tHo`QR;1F$Xa>G1ljM3oqr9X{x(4< zTJ=vr&-eQtH73;snfw~iU+E+&}(1;V&IW z8B92Z*mz^POV@r+F9N-kHa0Nk!MfJ zrUb@UJSjo8FfVJ5eTvOnp3%r-@BLEKi48Dd5-7mloaCOOfySu0kjVZcd;(uV^B{^&Q~+A>a*+}lpiPJf@Z6^Aae~oKW*fk6qVuoY_!LI$qT!W!HFxu_0IVp4?>n- z9(Sa&`!e=ukU^E188#yXL#y%VVrGQYYw%rQwu3vVwtu<6{lnlgxis+{y~)}h@n4jU zKjXg-m#UfWAMxhO;8Itw+f9A-!I=69o=}n03}Ai@H*Ap#Sx>eolw5kNqfB7}p+lIW zg-z!D=#QM1ed$Izl@UV*m@hhDD_p}WiP~kUNt>3`R`_VYI?W^Fi>weQL@8+SKcHd2;9p*A*g&k+pZUf| zI2kQfA>9X~XHh;*CWVYb;It7-NrGZLB_bEHDm!Y__lkvo$M28WKbEJU5(Dv|?fmLn zc7+3tcAKr~*Y&IQ+SS(W-4qqSaYge5S)~8g!3pSlrg}j2LJ!}Yt96db;b#dx)AeY7 zFC4w^exeY-G=*xkij7uY_acWNmGJbwQU)Sa6kJ`{|o~F#Fpn`ySv+evEjz6~w zN%z>13V&a*fw*Kha-kX z8B{RLV?eAxSi|bToi9e7`~7FLgXF2xxEo0wKP$kgL6nsikGnJNr-jBlN8NbCQ6yE zl4Xd;)ZMsG0)M{&2K@Ib0vmg>#V>#}fqnP`rXxe)S)_g|#X6 z!YvtkCG~ShrN4#=8X2R+)!k%{DTF-wLX(6jIJkcOnVKt&R?T)$BCxU$uL=Gj=9Fe) zmSLdJJRwtna$+=_J5H}Aa%1WHwSAUI{n>n(6O%wi6C@`dTpnko zt^`QLOvIB_ffGa8lSi!UWQ$tIkrQQLZRk0xtH=_33dDi@E&!nZW>sh%2&ShLedtyB z9Ul?-R)?vMn|^S_i8jODwP)^M?sF!|j|P4w2L0%Yah^}grUK$aKJnJ>+7;Gk+Fc`u z4Nhvzz$^q>^AM*3spJCx6cNJjvUE7L__5Y)wsgWPiAI7JI2>lEeamf;4c&ih@#O^VluV!!H;;a`{koOD`0DZZvQU88Tx z@q3Ph`wv>6_wKh=5(AVE3;1+qF*S{X@qc zDeVW-BMrYPCI(YECu8O-EAR91udLsQ$Ro0_)TtkNuh&ql!izJ{MbV2!Uvg}DpQ6Y< zJkr})5i#hrIxu3Tk0>@VWIk^f6DYqY4*YkVJcjfnWb+tE9CE5)U|M*>vrUhQr2qUn zxu5|O*9*8TU;&_|N{28(mBLjQyquAGsRLU>#>x0`=@-xK3a}W<1*8_mh z-IjES*#dgxcb4CqD4{a(lM;#M{Hih<1xH{#LBI*ck16J_%`+&R60#TWqW*^o0BWSX z%)nHJ?h>nF2*>^mQSOXmkg&OCgo0WeWj+0 zG+kg#jLv?(Ny~@Mqq|R=X7l%MNPTa3|7$h%P9`OjDSA!FhYFxZn5y{~j4j84_BbQ> z;LZRvsJ^4%hdjrj*i;M7Dm#-9ai;Vw{PG=f=G|9(`(xkQh2B#o>q&01fFV|i+2Fy% zKbO^X_nc-Jv@stx^L9;hypCe3IzBjaOFoW|l_Po(w}{8spu$rxT=P0>=1PWR&Uzw^<+ht-3!Kwt6+PEzaI1}+m_duDK&|~N zUt*KqpNm$$K{4RVs$nROW<#`^g*k-MHwTB6fZG%sO(t6m|IHZpxJ8W;fvYl(i< z*hf5NMpB>&nW6!MZ?fP>^7p?l$n_1DoGVRW^je^^E!n8Tg115?qg7Mvs>l?VLe$Lm zZoz>76shI@umyBZFpPE+E3At0GuvxzchZ=-cr@;?@WY((dS7Xd2%&`Tu~%|vXkUtl z)j9FB@Y8rx9d&K@YZ8)M!~5QEi;LH#3pUGXs2Jp^Ed?*R8!SiamK`42yGZ(Wa{3`2 z9}y41ft-fU*bL4N1rX%1>+g<`=Rponp$U>7`D+`RDyxa?4%^7|I&7e}MfSnA0u;h! z6838T%pCm&3;;rDVHRJs&vF_v5A!`R!Wip|GctWt7r75?-K3Z;f3M>{C@OK`At*m@ zzL9)kDA(1=M3H77U!65MGoDw4KzvufTe(7}xWr^hVA_brkbGyX4U~2RmjoU_eg+k1LxCR|Usr&%@&h0zMFb?IU-c?f&6o3rp)Td{HJhgOSzQp<;+A-<2;g z`t28c=6MKtVcaIJ6`lcn^24iw9~Bt1nH^1ru*Odh72A=D-t#MLBd(|FdvEM*4+A@{ z58aP?4n}*BXTCjeO&Jqi`QS-0jL%P!0)+s-pEUIK4xnT&0cS(^@OiS7z=`3#HfUkY za*!fz0T!cmB{ijU$;0pZf80^~vly?gmC$#Nt?~kS=S6R=q{-SxIQ?vSY35JgJK7pC z%zn`m>jOtCW~VJ{Zgh6%#oDUVT^`Q8Z!X_B=$U)p9n(==s#`Y9Z48#yMBM(qhSJjm z0Jk?VE7^YfUN*wVhAMJP<$<oCpg0Prq4SvGq|3#a%xBVir zi_mUN9ldbYzcU|p{cSw>xG1bfmk*}JB(uUUJU-Kc2ipvoZ{fR4z0{|;B;1{HA_My# zYBw5`pjMWzGa@I2hX+#tF}NTe)bp5!v{%0eS3amN0W}U*-cTq+*|c{jDhW+5fJ_DX zR$p7)C?MHr%>!<>)SX5b!DhLFrg4>%_Q*F#OK!Yi>oVPQC z=_Q6O*Qe0Tlr6RwPY}RBe5YdG+AaC5@f22M3-h{kK~NG+dZKM3OCRuSr)~FNz$G6g z7i~qq00U?^XoAG1l+qes;4$s%Fh5nanyo>ak4WJ2dPR4H>brFpx0GR)`>UYG?{5%@ zZ{1E_Yfi#yd@+t(faeG|>47~i00WljYA**AN|Kh2pv259C&bj|V|in};LG9>8CFT> zKG^RwQ`j&ff!}Ue+)onL6H<5T`6rPRnk?DvqSR;WPC$!ZzG@ealjF_U2YMc9op|P1 zr&H(rrY)i=W}CDmS>TOU?~mS9&M;)_hFG5c(U=T6qHFq0{{u~AKp}Jl#lqmT3a%Ev zCj6>2Lh!Hin@ztb2&6y)ykcJUuBIZ?mXgiMN{QTTzH5}$WkP>=cJ^EGjp{l>i~Y!k zWe37{C~@BdwG$L;b%NI89CQVUMr#gyTsY{eSYfAMu4g*T6Yn{Lr4Uz-Q;K=F;+rQE zf%)V8vjEB3wq=u0Vx`(|oS?QA; zdWV}%CLbM}g^!%<3+Lqvr#oe+W_iuk^NqZ_)!RH?+7u34 zB9K>b>G||;W~o~efjEHQKhGI2*Sdc>ddj?jP>$>a1JF+0ih-dKF@;v_8?+EmcC9o- zn^B1ZRi$_oL*;*z0LJ|E9QlfL8-^LK9#E9i_yVmz6|ZQhsC>hKVp)sS)SqvoNN{V6OF7wn zKO|%EqTDo5`~i?Z_z`iiD3;=#;2b&zeolAih<&CN=63b^ZsvKt%ilxO4U6Mr-{Du6 z%=G1OwpWb6*oae#pKeyZSQ$Tl*uE;1!NP+N;+sh!&gypgHN=GNF!S$){Enf>wee|u zA%rj*!pM+a_H^F_BNSY7{9HrGcN@RC?5f2o4aZ0-xnr$fW%5K#7wxViPKq=`^mEYEi`Tn8 z|5CCSO4g4m;}lAA-6Uv0Y&tu9pCRNN4LV8^)U|c(mBAc6ZyuL|CzWoZsD5?!JRo1Q z%_~%u5d$f}*q%QbBCyb30bqq>XgWBo{5;wYeum*cDXiW&^DB`bGSO#;QOH6^%uHCw zXbY4WLy6bK(l#7u4$=zecG83tAeL?}o!6)~~LZC}d`~4B@hFDPk$R@XLLrPimqs4#))6|0L0eXGiQpr+J3FOqJc4 z;bT=7)n+==cGZ5(2MX5Z8|!296UCC++7Dm8zd5|Vw)?ieV<$|gG7^N{4h)3=kZHhQ z%Le}=+qwV$x-lTS-SAv*gQkJM|Lowwrhe796%ZYpleM|MuDKtX|WG$ zq7%?%>j5AbtY}!MmQ6OK_G$jMrKfO_DnjdZ`OLqVBc;Hx;#@zz?wW#Fz4k9l`WU?D z;YKdZnlYbAiA>!WHkQmB-`#eTOx2b6h&OX|E$R`QFT0tobp&rLTqEjx5D%1Y!gFhR zQI&G)h~mkm0p!BtG({l?8^79V6{LXA3zJqrr9ejy?R#EpO@yif^5dzDp!l?;f=Y`b zUent^@T4A!P_TSDy9QU&)=3JBQx~a(M=q_VWj98eQHTJ20e&(tWDnLB-y`k^6GbD; z7Rr^oJ<194I{Bh6Ytv&JfFh_7fwW0EY%~ zRS3X2bq)1^w$n%OA#9{s3#!5@8M{zGbHvP07N_dB5!WW=xwDoI+3XC8uwOIdUcp~9 zh1UZ)9?uPp*Dl{tNhBDh7yiLfApPq^#H9;@U_q2N6h)omOi*8uqd{5YTAZf}<}On{ zuH3A)gwBC_ov^c_vgFXuH*Rc5p)$zE0&%xaA!ED!qjy0khZ}Y++b;nDfh^P{6;*nF zP1Qd^APh}l$>*)DX{sD;wmWQw+sS>iAHie*R4lF?LhQoCjP9SO1(3PWX`_&u7Z$S{ z2+5$RoO>%%UtYNM)LrXzIKqRqRb_(;cWc))A1n@$W$OF=yOz2K{J&b+j@v0eqBpcW z9T`v~*e2Oz2A~Hi06!lrVQuG#8UhnXUUeq@s<4-8{1j}2Fmk$3J2I?1@9bG6HIQ~w z?!E@-Cl6PRw~BISnfFWi$)L-CaWHZ@*=%F zz&|R(;73{V$wP&U>xzQP-=lMVL8{J2v+m?n*5#D%Zjui^ci-Ap7-mNT*L{LV;~Yd= zlK{NeZKX-ze2m1JtNsD>>OpH=B}Vt@oDdQe=bws!&zAX_cxuJf zff9&sm&RO7n<5SZ#oPx4-y?3jTUb~3EsCte+*!9(4dKq6ha%>nSj_- zxR8#6mb7uE?$+}DPU{i|KvuBvZ$61&vXtjK9Ip%}61>AV+W0&TPA+Bk9u;kB9YW;h zjJjLQ&r)bcRZjJa)7M9Bh)vbIHTIa0a(k#o+}(I`)3!UNDRm%sfoO=f`3B3UprVE% z&4F7zPnY39&@R6PhX(TpOlk0VSVe{?><7DbYP|jjQb2k&4X24k9qr!U8Qj|}Upi846&)?4sp?hc}0mQ|oVCL2W;&yOF^|0Cma6}DIm2eju zj%L2pYQAOw5ZxeOl|T#~Z!f4)C|PJ!|K20CbG8s;^$DWm4N?iMxx-TnZdh-5ruaoN z@AW1a56aG~+NR@{z1g!CBqwB-R`aim?|Bgx^F2LP=Dy+``8D+1G`;lyV-6qy{$?@K z9CR5mg-V?!*;YQR=EuvCRMMTESiH}#tz2BMK0T>kGn$Yo zv{)C1ECI-mdsS*FjR{O3} zNM$1CqxahO;Ip=jPJzG(v9Nt7;f3mZb#?aR)$Fv^;A$Lx+f>y5EeVpvoa!xlTdT=- zPRQ0mOT)#`Q3W2Wy#GOv&rbft=d9Y?SBP!MgbLom{wz>kL9J?m^+NAFpK_yFB#Ns{ zu9QIiV5ys~?xRKdcZB9mhgcP$<9!v`0_Kw%IMH6;+M_GKbT zP|~*b!zQgMJ%bZOG|1)EC6J)tCwm>eLE&(VU1ck_?N3F) zPSSN!r^7lg05}PC>nG(K?U`oMQX;{zkS;e>`MdVE7|&YLjx8P zgY=SZANCZ5`gH*eA5$jUTn^fjs*p~A?gtb?~n`UiZ)q66yX5~E(W5lw*Xu@2Vj`!fGG|TqIxhg zkvPNm1sYvc^_%MVjx`wYGK!6A1XSkUxtXJu{s#eyzZ=V~j@&?;HQG6~!WV~5-chBI zQ2kX9Ue2gd$T=2NP%YBdskvN=pYi^XdE?A*??Iei5p;jrll=5gIzcp-ToG7|&Y8IR$UZ`cZljB^D{C5-RN-l3L zwyyW($j19|??uPqo#D!Q`U6#!d^j$EF<2`Iaa@Zm3CQ+ndDWJ_ObAYnFXHS0NwOX7 z<*M~))$>%oXi)pDG8|Y<#e6}kV8-HL@!u|r0!R><%UN4vP=qgJCyazJrzo6nAD#bT zu`J-PvV69zl0W_R5uzHjHcVFG%~{17le=H!dpvoy=ChYih_(qUaZvCq3#re^&qr)} z-@m+ilWZV6#p5~3UW2$w;s8jsrm$|Y|6oSF`vzr&lq`_Z5Lw8uYzxurVR51^f%M0* zLiKYhw8-vil~=Y^17F0Clex);gx@luN(*G1>Zevd3dRxMdLTknmSZ}Y%!6b|$~>JT z4H&ZZpB3rP&CE`BiwIn)uUFT8ynFwbd&N&){6nm-oof5qD0h@dZcmR2l;{b{&AJ5& zH@hbIT?IIa{+$+~hT*Y<%6uR0@dc;p2}pJWlVd!Rgaf#EaX zs!z;S!oDO>E8Xbqg4YF-8v5{uH`w~!Jn3GpP0VN2_WbZMmng=znZ*eCiB68@#jo!BRFtsMtbLelB-0AOBW4jb^)tpuC}u(teVHKW5yN{0TTe@np;Hi1e* zal$TWZb?rBq50(23M#s5D3>c7wO9D<8Cay%D{}m;7H=?8DDmqVBBc^0+R#Tit5B*D zJ&TW7U}G~AN$zC!oJ#A#&Wv{5{EI%7tba5scQ5k!FkIYKS3wgNCg ze9gWYvK1|J;Mut!Y^dHOJ#zmQMgk~7dm-l&g!5z;pRN|~lML-wg>GXKtKY%%ug5G= z3)65zMd;~?W4>w{iE}WrzpE}j9-c%MTZ!V-f1UEFnPIf)Lz2h)Pat?^Cm(a0tI07 zEcdU%G?JpFfs?nPt_m9-fNouBC~AuStwQ1$Nk7H_4N5dNPHdVOa>COmV8y5u z`7rkQCPcWAg^Lq)& zaoG}&3n9sHX1-Z#H}AJS^PYM{y(U7L=-%$2xlk{P%n-4TAf;z}N{D+SIa(RWX2Ons zVwwaTQwjo*_Qjy5>wAJg0K|9oq z%fu$H{{}WXRKCB`ZjUzw0eh7&lioi*U_%@M01)DC+1v*F3_F}sjpC4qNR3*Jftd}I z7Xjg|G}07dNBi$u6fqEAzYqzb)@p~wj=eP@?{~s1jT+49B0#lyWn|4cHOK5RX5wV# z1AlVM4<+KOpqpkB#j$r$`n8+($qo*j>vFBe4{KlVn|&C^olUbl5Uria7E&|UP2NEY zAwvy(wXCp+i+R99)x}r;(+A0-UL>nM@Tk<6_2{4K_E; z)z{e8xjt8LKPdsZT$_yHtlcWzx)NmZL8e2?NMwPUMY4Il9y?l$mF~7l$+DB}1g_JH zlLExhFq^$FyKy_Ll|-7-Fqs`@V!7&e;N&^2D?bS5aio0V6|BB_I&1M-MZ&aHn(D}5IS+|k~@3d{rjAQ_ep`0s3ZLS4Wz~lm+6kt_336+14I^X&i zAwB9pV!Jh*6z#1gD$#8#wSGmM=|mmwM=b`$^{w9$#pf#n=QIq8t4_v8tG-1dx;E}6 z?i>$lJ{bszSB@v`NutK)OClbehkF6!k8Q)A)|gmlewYvx55n1l@IQP++r*ej=p-ms zImW!L^8ej>BnE1}%;i+iGpHOB+;u90=P9Lb2N!DbZyLL2t2)y74abUq2jmpC5jW}9 z$ZJiUhD^8GVq%G@xEn`y2MdcUS?f>6;{fj3XM z;CLx;nBW247h*+=@=@GA5a!}TlI8k{*Yt9XwNfJ8s|+}~tQw3oDwpRmL*FMo9G(pD zH8YX^-mN?_IO-Yk&N!&l%!+mC;cQ;=KJwEMJa;2aR+U#}#~fW|Pp+OCzj6pZ_r1D% z|A<(#-4RH;t4x7deSe4vjR0UF+D0vj@;pQnXMenPLDS-Oem^l5PL$-#a~jl z@;GUfI{rT;0ODJGkcIJA;kF=4YcYKB9rk43JTzd}&nj1SRm03UgdyhD=bQo%y==DE zn1{Ed%~w4hIov`mCQO{~E?91rH?8x^4>Cted2eMDBc}=c4G}AHz=mFw_GXh$g@K4rTqDD9n_AM7)tK-qK{`ImIgy(iTUUQtF((Xp7yzqAde zLf+%ohYlil%u+W;%%~)K?)w6-@n~_Cb@~~EG9%JJq$pXXf$-fAysP;fUTXo8m;XM# zbJjw6ft3?m}>rECg_cWwN8+B5a;XIoy)W8h2wORVdu?kvJ6jbOC@E*wI!6`!7YjvZ2jEH z(+}Dkx`UAfdO5*REI?ENWfX4sL|jUFabiN5dV2V##r3pySWLZW!Twn+OC!IxU9sgh zlh9B7595h;cKMZ?j{E-(Pwul?8&l`%->4d0byAIXN}jdyxB9psOr0Jxr>alos>`Nd zaa-abx{*7T*2XqLY!*H+Q>6!lS7qgw_85A)KmbA9w;Hoz|)ZyoLM=(oYxvF1piNo4#%9&=XD*bZc*WZFT zS0_!YN(UI{qrUTr&mXP$HlgBMFL1UJ?^_@&5E`*F*%~{}Rh*0s)&NETo$K2|2(&?l z$CXl*D+qH~Za57WlPy9Rb)ZmgjHm;2J77DgGin5-%{QT^AaYT~u=mAsiI2h$bK5<8 z{NcQO-RH&qifZ`vpnm&?-+En~kHK|mI_o{PGf0u7W_Lwy_N>;+$yZ@dz3TS;#$WTR zCI(}B~*?VLW|x znSr#rHn76SC7z1NEI>6~8f$<|-`Z0N99GcFKSJMC056^28nb|M#N@3g7>Go_O#j-w zM9EfHH{>??J+D(Rm@?gHRAFgTttdzC^@pXUjmOq2_28EIx^k203>5x~T{bC%M)LL3 zmL34q<}QBzG&_(8?&J@_7oXA!@Yp104MKlCNByd=87zqQiozq5(1XH^J2Gk*GEU%j zQa~A(j4oHmo~$t{k1x;IfR&B|D+o^Q9q4o&nX+@L52WBIQ0Movmg91X!lY5`QVTUHQ zmp)goFeoBuVZKHVT{4ytsloD*IH=46trg%Yb|SRn^nxfupaTZtwae0;afz=w`q_>G z8+jQ~iK0)nzuII~PL%LmowtLF;OjefS@1!tEqnIf-->*A$@HWjBiYdSgGwT|ZFO+Z zeaL2|k1o5>iMNlj9(bbRai4do!z>iCEXRl{$ly`o!CKPr8l8}m2?MtT#Ty^UL7WV@ ziIhyq9tpFw>cxp$jv~!3BhGh@^%ZALn_HLzZRKdjmA-#N7e+n#BB*;apL7oHWSlUQ z)?w5HCRDY~$5k!vC}7nyj?ex!oS!q;8jMx@aPKlleE1O1qM8qH-^8z=7DSvNyOsa& zh+;xq_0e9mqu?kB&IfxMyowA2Q>6+c%m z(cAh*!(92Pa>tge(l*qqXn?>$P8s$Ru^rMKga{?{bsOHonT`qZULvc~xj2dRHC3xj zKXCBNkfoe7F`Dr8VW>2$4tm~Me}VX>=ccUTZ9vbVqQJkFWPbPQ!PC+bbTc~lR*g#z z7c)4H9@^*ZBg~3Jg=J&iKUjAB7%pJB@0tbs=ZQD$wI&ef+}L)Q)8E=%a8vB3)5|OT z@dWA@{OfDq-C@w?ba(ET4bvNWepm0po%WfIu_OQkCQc1sWw8MuFY(i+MUT;2nSu^T z$&kzsul3!=Q=_z~rlYX`xCoq4G#(mJ@SODZDtwHV{DxJEdEYMoL1uq`St*!RQc>QeuRpw16O;N-79@ z$M5|Qp3iyiJ-5!iU-2T1%NG+>-H;;Fj$U65;f^jzXpiNnlj}<1!&(^fa(}9)Yf+yD z98E6VSaRdN&WWm*dYTp12nB#qgqKAT(WT`Oy=ZP8w|y4G5R2(@zO1-46&_=t62_5y zy7;H&X2Fs?^W4b+e;0aH@+dX_6#SP*fO4|^s#gi)M@A)IYcJ;)Y^MT*f8R~LS7)?9 zm{7hA$JZhBI&zJv{N@XD4-5JM;1=A}+oa6H3@zqVJIcPbo<>m%5+xF4nF@cj1Z*_o z87LQ=yNL;1n3bdD0|hCjXwZmu456+47gE(ujzAq%f!iG83>(Fy{Y-s9S>W;Xk;xXi zSy_P}<1lvv6VGpCc;gty{c)BSqTI#DAwVljO`1gFW~R+tnpEW7X-s<1M14CewWjN2 z{vz_&jrDaNZgZY4IS~0!=ZPH(hl}GGsK`xZ15c-nY?#Df>>|YzCqV55mod^lom#e?X1rRj;oeg#LGE3g@CN2c2C(0L%%4IYmVQR%@Q*x#9zlHd z2!gK7pVr6bjeXel61s;6n7Qd!nb|-?sjQpSr>~T8@~i}PR|*CPj?+_ZZt|u&llGk7 z-l{H>%Z+DXx>#GEG>5_0IL_}Hb^6PWrOv6 zKQTR>Y^IZ^JWaSd?_5Y&$+}SO_Pf=6@{o|ylU0{gZocbXtk0bEW_cMlf|A=@x3`tr zIy<9DL^1=|m7Dr^UvmPcasvUfve~Cx!TxMGxh1+5kY%p5`u_HVCZGRun1~O*p&Xip z{*b$t@~gIN7EXVUD^u?Xx?i1d-jNQL%;a`{hw%K&%ar4up=PSI!tXh&ycs(%{^eB1 zW3pPmCYE3!Wb)25EwuPu81iq3-D&L35Oa*CB)0bA-TFri^kv$(`240n6u?c(eyHr| z4`4JN2&-O!+klRZx8-^9R40FHS(%v`akLAK4wdz-j)VqD+#CLh45H$WxB&W#VE~AB z{j6o@S?4^1VdApnqFlG4#w_fsd+v~-lW(>k{C?a6{zm?twvyHUMnEvn_hh;8F8Zy( zlIxk1CXxSI!VgV@U04Ko7#e1fJGN{ApjR0>Alk_k6KhbxkeB+u{wEn4FspoIkO}|16eK$91pG~Q-IOwJWj9^n z2O~RDS}VS9F-%J<5J-iuXBsFOF|mrK_KElfI9lFWAy?ANxMua54e?cfAVOc4^}rO+ z!>N$wCe?PfzFo2C2O!eD0eyE?VqZl7E)mbkm04!!w|OwZ2#37;)}T|qk|v#Yz&9{4 z|La@bPeKKEs#xLUZdZb>lkTQPGd<6p+P|IGkGGr_#a*s*xtih^z}c1;@4GjU$RpUA z#VUBdEH(^T6V49;puLz?vMqPCe!xPL$O3TCagjyBz%oi9-ybc3I2>4%@tDIvt{Hbk z+8OE9vA)t?h3i0aGq8<66)qMZ#7G8EyAFE9(C221G-x`llX*Xc?|KCOD;#Kl;XD6$K_N-x zC%2iP5a8A6l}6T}9UmX$MH$H{6lQj}eA5N4%TZ|VlAh12No7ToD5yqw|XW64Y|k^Ra^foZK=iO0=JC{y*k6O+a-ZT z^j3d4N10-0jGIzxRl=z*Jb&wdE`zk#>Oz=hfii!(=v-$9s+uBCH_AkjUS3f2y@4i~ zQu`aE`*^qxppT}N?WtJ5Pdo%O%0Lwzq|)g<3yRi@Lhyc5o40rQ<%o7fB**_%am0|k zP@IW$%vid4*uTU2_he6Blnv*}eQxK|htxB~26q^UH6oOJj^JQ&lJ<>0}QtgeXX+Zs>x?pQl0^7Zqo@Wp1U|0&RC^4hU& z>xk$1GZR1U&_7SANQwJ+n6*%S;!%%C^yP43TGvZ8@BDsCddy&O)6`~fF7BizK9Qnk zesHUQ`|$4!s)jhrx=iF}A&7f^?Qd9z0YDG7kJpYKO+EDH!zPxg8+020<8^?c(+b9Z z3>-m>&1{Y3nw%=fD_i*{{8FHKASS?9Zj2`mEnEAeXWej7ATJ@Whudlx^~n8ipDqt* zkIGNj-&lQ~-+EX5xF(*a8lJyNv$1CxWczO!qeUK4xA&w7w|{i{pfX#a;t?vDu84r*>GJ|27nXIRfMyeNh* zPhKf%u6)Q$WX_w+vs1y_36LtF)jk&j{|a?)UHZj$`=rZ@oe(8ub$9t@i*exVUFJ-} zsD~XdXbTe03};1S7wPnKVK30=R_K>_fj=!^64=~^w~LY9mewpwftA5qXk<=*`0f{V zaLK_1i($nL;%>HB*<(4)Jbku^VT6cAAVLH`W}uQpjDa+2us;cuTwLK#l?X|l&=O9y z-rK+22U$Nh4HgzGK(-as()!VOv7DTYA-Lfqk02065X)R}zy-9nNQ7A0+7c|tw=)9; z3;uApmFZv{5`Nc`rD2`Lsm!oP37vnWebIj#R5P_xwR>g81)U56UpdXMR@_#c1#jf< zdu2E%hGS<=<73E?A*^RjzYM|O9(GA+3&%gFa^|g~mGwk>x6Gv0sP|Tfebin>PXh!{ z0&#oNbAL*_me5nM3lIzsD2+2}?a_4l;Yul%XW>`Kz*#MWwLh^|O^MNM=A6)HW&E=` zYVY~D()xLa-oM?M;2P&dDnr9I-pL)i4YPSei@)jdiYtc&MOiP_Ufyi%RJPFUSsw!! z$9UyT_Fn47$;mvDSMRKnu<(F9Fjg!SS3Bwv1iT0!Wx+Ezzup$QFiTBaip5(3R(4Jx zYcs?PKOHQ}Ssq!EEZ4D}+0d5;x*l4^mD;sD`{g{1^j7 zd(o@_G;zQ~O!y|U(@5P?pyh-|lxBY9q;GjO&1$C47ph(PP`QCiC2m{i38|5>h%~9y zgXUN#dujCMJn!ArcQJvNUPzrcP(-vzRQ#p46duS^mr8h(w*yz_6T0=Y zN8ULhivz=Mwm0`8iYZP1G#=PZblBZRLJ{rlii!H(AXiRxz)<&-R#6Xj`>rVQpBDpw zg^)st`ejLJ&INmo6kk(nrm?lZ4lc>Jq%#_mhkDR76U8;tXzrg>MS>lu{_=h8Vly*W znKVB0bS~`>ZCCkcfZ=SMFRx5RwNh92(>ZLPWuq>@MYH zqJ&fs`M;N0$FLC1U!TR-|5K2vxa%X7Bl%V?>@n4Ix9fJUz;^bl?A<$uhA*9LMz2Ue zNje}wfcL>9aBY)ZGq{WXxs8z8m%xwc;Me=T@>vw}@{0SKfs5{oeS zp&)=-Tm|wS`RrINnimhoVywFi>CalJjEiBc0Rg|t8V@%4|iHI z9YI{yc|sM3{XnU-n6q{nxKbX#)^aDn|mlRR+8|8_q2@j=les$eg7~Q0c8d_flj$^Olgeak_2+R|1O7-paBgZLD1X07An7LO<*C@eU$iSJr|P@FA58`d=ePfs)@MyI?prAf_;BFUN9RwLAWjTpdD zTC>%u+(vvSiwe#$?80Tkf`|I+lNQwldY~?d#M&R&2uusS>P=Lq^~GlBCV}RGy2_OM5TDJ~1Vn-|~HIqJI8_sQ|g?(H*wF{=o<`KQ^MowWQv62ImrM zn}1ALQLd|mOai{#dvqb}2$GX5R+I~E{$;XnYfWLXr^jR1p1G<+M13LYR-22x1w9oeMJgNiqNHY}_A`H>@0t`dxnx^pqGyyX>i( zmze3IvwR`QZHqpw8}7>&kk5MvwiV(a{uiCJ@+$f+ukqqBwpehNDh2pbyx$|?mMu&_ z3gt{_Zj4%9`{_i@%Ag>@d5QdEJsii9jg>!z4^Vc7YL*J4mOF5mn2ro}2e#N>!0jJC zK54R@Ms!LFG>P_Zqdu~iaLjj0h*fALt$Z((7#lF|0RW6j}kFYi% zSpJ@msD`G>l*$0m-R+a)sL%woF)HzZSOk1YSr8grS*>qNFlX3@xyE$PvK|qIwmLKy zMv||ug&Z-qj&_E=NgvYz8DZw5uB#O!X6yccJ12YtR7F{jl}ulo5lZ3`FRW2S>F3{N zF8EjEC#>`tcf(A>w98h`l(G`4z^SHjVuDl8V~k%N;9EaBP1xOAQ#%D7Tx>~lZ;*E@ z#R3=V-rU$D2t*M;$Rabmym54{m8GUUn?fm)04GW&{Z%GL4=XxljlNQ$0xCt{3+xgU z41HOY!gKQ*V4cAuIn^_t9;~ltTEAQ&6JnuDoje2@zLr-d)jcYDuSj zUVoauEL67aw98f2&7fkFXrO(i&`_VLM88P<1>n>!mgEg7jvEVTBBmxxl28rCp~%%v zH&jsJ9};0e2lb4;6edhkRQ_V3O7r5KBzuT8NeD=KGbL01AYo;!&k5mp_Glv!&zlvTu<|l& zWaM6;LiFQCElFMlE1X_$^B6^@n6^6|A}%BR&Ov zPaA>my_eNZPiY#W=ED~&YTI>MRi04Ra$Sb|R&eG~OtpNk0cTdw&Q|G*y{m3>^!5m_ z{dN`>FuVV7Fn9N`@>-)o;#>U}qbG)0Oy5*^-U9#t>^oHx4vv^?vz8A!_WKSpAIWT@ z8E$y1a&1AH3Gu&X>8H{dLju^d&~2;M!%6iJl0#aYmr!#zLZA zSB3(Irq-=)akoygZB`I%hiwH($Tv0M9{f(DrL#0%fLEc~Av zM;r6Si8fe(7Dk8RanOv7BVZYW9>rjJ#>QN6ILB6%W4Rt62%%*#olW?ZZS2pQmNz|d zoaP_Y0y>nPZzk34y0qjm3wv|$?^CP`zI*Ozg@c6ehUk2jIKp1pSef`37w`m$tfV4y zWYzR!^atZo8KUk|fIU5vn&`~)Ocg~d3Mv(_CJc@K@xIv8%$C@}jk9z!nJTsB9uSCyfy4*He8qJIKD#jQf~5LMpUg%^1bgCHQo11nuDk&gCx6aNi(0s zJOO2tH1vLS!A4>7usSl)sKk!$jW>)f1Cp7E1?QFOp&*EKSK1J(0Q-_5+pq&XkS&4J)Y?$q(m3 z%6uW@oxD5OP-dI3Bp=C#F3JzF4_puH<|hwq+OI~^;lm14B1#fkt7mt+$k{`y#W7Ui zLnpc&1)`x%0CD zyq>=lh(!IqU$58Pv@IqlOJPZW?Txl3cPa``jL8GsB)CeCebtNaH6}Np|GKJb-O9qW zbBb%<6=(qaJ7uj}-g#Gwr~yIR56iKn*f1cP@Vit5v`d<0;626fIyu8_4F`RWuYgS4 z@kbEI(1??Zm`+%l05N|LrtJHMfl92L%3r1Gj0l_l&NK^Iv@t* z{f}nyXWaCF2Xh57-p{2*&cLMbI8~dEzm_c(6g@Cyg6B0Ibsgl`uoW%{vC-=?lhxv8 z$AO*Ev&D;5&x9lbsg!SbAb2k(62&{SD21|pk3^g1=NisOQ{FJdb!I8OpeC867JB)D z50xMPt6Pj{xJr59(I1O<>G=BD6PovL0GPN0NaW{;79a_q>1+}}`Ad8v;LetqCS}SD!uo61+0nJ%^fGk14rU0^J(a@)rN*OMYhl+;#1h z1rJa#a@T2B;BKGSwM=t|&uDowBu&we1m`p-2Rv~U`_c^s#xhA#OY&SA&ye-qYSn1L z{aNG^qIeHMcG0&&vCt@I;G|4AI@P~;LZ#I0LYZlu*S+}owL=(xG_Vc%tS$@w7vlJTlj^X@Wib7*_MGHUzjGQgPQd_T}|p@vQ0HN}lfm(WjSa#0=%;cyd&-)G!D z2{wo2@zhe(RcE9z)Ng|#-C@b|WELqvEYt}l7Wy$`N_^`knP?guJYlr7OGRrOk_@gM zOCKqhp$WQV;fh1^i?>xlju@v8$E68JxY%*)u$$uOjXcSvcmZj@%NkWpZ6UP}cIo@- z)B@bqO-iW!JLa~wHvgG!ePq?jnpR9e1+0rdyfh{y$4YHmWIhrA5J#>GuI8dF!4uUf z17gmDHMzY9&IRpVP-Hrwi(|fT3RE<*Frs01=@w3VU%vP=3n=o^@??@lWH0}(%*XrA zT99zU!iOn#)%?QGcP0O_q>fERrHuv8=EiS?zbA8lvTe~_appFm$zaJ&KwBVVVW;Gv zbdKvjnbRD%K(?GSgS*fa~{A?yIb_cxIMD4&Kw6`3y{zv6G*c^DSy zd%Oq)U^MIWie_nL;?`iT>)&(XvSsh4^Y>nO_B)w$JK6YPCF2`qgPP?cB4tg|(_-Zg zD8ksaWrlE;!^pNeyC`R6f%RUM)0BH;G&JYduomfW@G8Y^p$-)BgFWXhqpa}CnJquM zW&3gzX7u>{fx0uWnuv{`sdfUSsyqiH<`OTek4YUhdFHL8Hk*lbTnWmrB7Xm9J*dSb z(gM&)x!&kOt9@JPhu3?(uUe~ZNqdFQ;)9X!+K$?wIqfv=Za0|0sGNo(hanCRFyH;TIs3LC4O?b(rNIDjouu>UfI;fz zA;y(WB9~$mWdw_Fkb29u$XX~h!P38S+`uy7|X+V=pzW^Xut{x zSQDf-dJQgjDbLn1ZC_U+Q$QDsLWGotQ%MA_ph-TRdrzL+erC+mt#;iV)Kb*lp0usF z=44=MorOkrF_u9~rEDN51>27b2=2PJ7=tlP0=&>!8IgsMOK3(}~4_Xzu(Kn#*k23_8dZVcf{NN`v%nEbG?o>hmZl zFY=Uu&a$>Ymsi=;B`~3Ssy9Ea>s8xX;PQN(fglg12yc#F(S*N*#}18+j=|V~F0ku; zl#-7j-b=kT7eUe?8W#1=X9hL)AB5`iQJX80$W?&|M_YDGjtc~5CjGBR7eY0Ono1r) z82H=5;?jz5!pTw!l8b)Ir>i^t`yeSkVmJZAEMLkYry zZ+gG8)W$|TdC#i6b-(R=+PAJtfGy6m&e@U1wRyYyKnC{VegS1;E0jmB`c;b$#hPc9 zYLhU3P6>X0PS<%u(p1Q4bY!>*fF$hUSHEnO>er>8IO?uC2$?5bbWieB(dAh~U%`B( zT@&C;FbAAxKWqJSC_EeOeSPY1{+xz)bn!wj#FG-kb^|IWUUiqX^f26br+nZ@8}SMJ zR;~nXN}t@$(#`z3c0ATs(%$l_=-t$54)cm!VL2y_2|&$fUnTl4hL&h4Dl^1sO>Wk3 zd~K~!dZ;*P{aL&EJkfrrDZ-iza-os=m7DIvVEtrG56kn+@%0!NZ&X$MSlj_?vcQjZ z4Vh3m2Qih+%#8_;91LPumjJ@@hYxNbpXoNd5BDz|C3Fp&?hwU4FWs=iyEfMinVX_|FKR zo=nf0mWY$kpgC8Hk@T&o3tnB;5N;fT8oOrg4^Nx4x@t&k!;HJ@Hi4YJcq~(tKWX=_3h@HJa`W3Jop~9eVGOHDh1= z3vDx?@(~IX{;@5#^jihRA|?9P!UfQQsVwIzBZpYj>8rKY)DPPKbR>Ty&*wSyF1K#j z>oHbwtvwM%oH4HzW(;_6A}Af=KJQa;yX%Jp7N;X}X=fT+nT8x^6wto?ws&<}Qmw=O7=nm=_X(!}4u$mS(~ zqkH@tBs_RJ^TdF`-$lY!=E2Cxk890>actSX$2o_U+K$Y}AQW0j)q`ow%<{o&iI@2h%9;kiD2N(}=g?@4<M-?hLS_YLY8XU>$m+T;cLN0X~X?>1QsSQBLOFN?$`ifo@o`oH>nwf)gXnz zh>9l#;SvUANej3Me;N)7@Yj-HAf4w8g~Wvhr&V*iJXmjrB01#v?sBQD`qW^@F?$U3;f;CdNl19tG&8rLO?ZM=`Uk8!Dq+Dd&_N}4S}-f)(jzV6=E z&)45qvV*zo@~YM+?XIM)N4$h3?8ewpY`gpNlZQAJuYK*tOXS676LRYB&7E4y5g(&s zm4t@f2l4~smTI^P%07^*{9nEh0DQHCbJ25c`*&pDV%op@k4M6_e`A3)3w_YeAuJp% zDbC?>Qc-JU&g@jgWvvUV+AS(|qa(tWHaqed6|+rUnMNulh6nT=oyAUFdkrKr0JZ(gU^t<{w` zg~zU zgrN(Ut>HFWzE=4~u35p4)xNULy)-n4j`7?w0V@B6_|q|sx+p6a{kNb$L+92%SVsa} zU;2YejwF^pAjJH9ZklEZvfTZK9{7$<`bxSw?)ome|JqhtSuK*T4E9M1VoiU$`xD6V z6TK}&@=N^8!<)-VLez9*Zv*}&MBsGkT-FHLw?YtB@OpZAne{WO)H!iaP21I`wI{+B zto)*ZMk-0f^)@a=^;~)ZRzz(~X(^ag0eeQQsw{|`{Qot30LdsSk+X(w;Wd_vRAoVk zh?HsZMwGXS=<0Gzb|^lsxAkbM@uZ%UGT`q2MeIqZu(rGko{TXt&TKa=ZZlBsZlhn% z;)IL#RcRw;~e&t`@ zwHgo-H)^Y(i(jKsL}Kg_DH{g8xqo?Wco-1STq{1PX=6(%!H?2cJZ!zZ-PyCw z3Xgbmy&MsaN0d3e6)}Luq8Xn=}SnU1`az9HEnKdoNX1luet z>~3#uzGKUrFQRMr)ug3606$}$fOl{Ei|b?sbwfn8N{%k;=Q~;`w(oQ*f(@nuP2&2a z*;jqyCg^3MfM1N7jS=pspArsM`dO-#1(1CN0Vf<74F#Rhdq>O*veZ<>Z~r(h!yGN- zP7VbHg34UH z!G|Z@eqJP}Ld_xMd9SK(8Z=$jZ;r#7jiTII1T3kUu6;XeQBUR|<{jF2(*ds@PRR^8yeY4U%;as{)y2Z3qsxg1-U3IE$8~kFhbp-G zp1nC+eKvaiYuR8vx8~oZ1A?A{1_8{IkIppLSEPa_C7l9ltjvI=Q~)%>*ocg;OX6;D zhb)2*92n#aOsqOgwq0CWO&K zSpy9^Ewyx5C&t%|Su2v6?VNSbzx-}`v>uvpZ3|R8q0mQmztrw4DhkOtC>f=G&1#bJ zn%mCPXkA`8UgNmCa6RD?umBP{uOCzFDN4= z_Lek*xU5QNF=ng;M7*RTrDTx%3=l%afrW(?i5Hn9!`k=(2Ux)7;Lh|N$847;=eo*= zboMw>EjEkR^mqO$WhpF}lRH_|1*v|f)%t0aa67@{y1WZlM40V@n=@qp`WNU$N3@L` zdPM81UDlHXs)un#_T5=x8XVb7sXBu@CS@7}6HO}Y`?gV=B#zmoC!flz;MBw!8Xf13{7ovs5nV{lA(^BXvD;BAv$sK?Jg|NK$YG>8|TpKy6geyFHF7G8~&w&?U{oitx9M<~uGPjb@QCilLMN#PL0>%0zA|B98sa zqQeOsXoEZ>tS9o8juN~y{cNgP#2+nzG#toNgo-E?p8>*l2cI(EZmlmgU%wJ=GsWLhD3v0g!acj#deaW>008D+d^kjGusO92|Ieyj6Tep z7F`^`&BpIwzFG--wWr2HsYy~~1h#Qn7p#7b)>t0_xESrLj>5urAh_?(!6-hACYof+ zXzB`fRqOtwR=5O&eg+1~dZucxs(Q0_&DwlL zOzC%&%q66&eL1yao%A~K_jl&PJY0E7coVyt-_>egtx2514Y=~F4;sB*bJjpuSYSXV z0uj#Eh>h#zY8}(yn9x`(N{qz+6p6Uu+R~^d5x+J*4(R6rG{t7rWVVLw^gF#^>yuHb zgVM`}4-!8L`Tlf(zj=X+^=EiE6}oM@sLaURPA_xv1%D|C z;j}7R-OsozQjR<{0X?1aIR``C^V+p>T_VG}k2?;r%tJa_RwhdCjd665eeSy7m?qsA*t4AE zO}_m`%^UbkiAvvsM&~E_0I-qTTE#Zi8FJkTr`kA>fiz^`=s*xA%9q zUdK;DiZkyK7qzs%7rSBF8;kjYpIy73kJySgmJ?*y; ze|cWEJB zzC$OgOy8RSedNJN+UtjAurmOAsh^bK8EJ$VCHeqfV+wm@(%a|9!t}86IEx{N8xaD? z8~d;K;rrN(DmGXZ$xNH_j@sW=)R1hBe8Gl9j za6sFI{)O$9&fEtAhjKHCzc|sPp~gtW6}Yvn`%0>X*EnX#VFhw!zH%R$oSHQ0Jy1x` zxI{{f^q6!>plQ;JxG42(^c8sx;Bf)*H*OPjj=6bOO z>t6(Hp_GU@b_|zl)Z~ilcY=s_?`@xNy9@7f`*ykFuhYBG%3X2NFM7{uH*NWf5&?c` zbXhmG!9DXgeaMHeVGp~Tf8OQx$C-Qvfz{qw%#=WlS`DqXw9)_okZ8M-JQ2U8p}gp< z{v5!N^(~D-s5&ktdr*3}S^jYB7G2f*SL!jsGLewinJK#Jb~w2CTg2JkrVK&qcR{_d zgRIKq%o)2bM@RjMUulRmGOB>K5}FAN%oobPi#OilV$aa9yf%qHD_Iq!K0vW1+GAvA zu->HPS*~b&v;VYlXMUH;o0+=8A}BZ{XMv z30_D0aHmZPZnB;4ASM6)bsg+sc^fw~RD>BRE@Fej`W6c^+_VqCLwg`2RI4#3F1zv+ zv5&e-u>LH{`p!TMw_1|Ir^L&$!sEbGVR_E+=_~)vmVXLiUJ)V#MYSHQ4M(+MYHwI) z3$&&TT^VNuS<}*rRL0`sl!cne6?ndKd1OBzwQrEu@^g;L{-sUb#oXfKj6X1cJm*a4 z2gE%^b%0bK!zw0#WM>hqNobrvDQtIDma-=0eFi=mQa<~-rmL1 zSiMte7%gcX;rx1Ir=Sbc)A!GkwB$YQ@MVjTgyK@r;BDhvfgo90o_@?PS2w2?Hl+%& zn|u70b;?Q2mmDQs)7hS8H%>N_^grOxQP20>trkZjDvYsWDL?*g&zf;de)Ix#3^%T$ zrg1~}F9ZKJ&wXh6^SfOms52$z9FY)GEX;-&MTeExC)!+R$nznY`RtJCVN<68Y_^hV zS?i4}#gZR==V3RWj5mUAy|mTlWdMXkr~_*|j{Gw&DfCUWHf-Bmtg^OVa-fPRS#fRw z4>uW64UhliROI0#ifd0brE2l6y6q0?D4OiAX@4y&!hS4qQi+QdiVivmnq^p7-5ihJ zr|lXfSR^Hln7gT!;Wnk_bT6OP;4d`kEGiXc%vsGhFqJjjyEiP<2Q25vOY3IG`+LBA z%g((7X?_6EiC5k8^YhxGPgv_V$sJL=7)dK!MIRgWZ2|8>Wx1s&>@RgY^ab5Bu>sGf zg+U5gb5h@sjKzCtzV^G0mqMi7Q0NSuF=S?}Z1~eKq-ZVfD+Ld?QvjzSTb@or?U{?u z?cRM6rC}FW@wFn?hpN!8h5zV6s9pzr^U;OyuAf5>sZq5C9vTx7(0|fIbFXgv zY&fqTaJ$x(Fb}$M)+p$)f0`%d;kWef+#d1*f#m+Q zz_8h=FZEhXyUS5|?;m@!Ub&)6TnkD%{JwW(`>p^DLuSehP?Kh(sOa%0?!B@nt_%f# zgMkJa;n79mH?{0H5PmgXGOUzW0%&ukH>l01Rk*ZpdyVoPn0Tj)mXwr_UQS4;tef^U ztA{T$y?#vDm2qAjwZsL7-h|x-Ynt6IW75e9@LroE*h=;(lc=c%^S>cV!J+NTA8^6W zaM1lD2q-cwB6=iK)#G9o4rq#RIOZlULArv4(hGV<0yGNY`Jo%(z4?;Y(rN8R7igbd z9SI2-LKNj1;z-DSlVESOrW)Gw`(nJ@L^HWI<3Wc+MV0)iMmrY<^|A}G~Q(*RqChn}WuJGp3L$4qq4F}*d z{Fj~sNG!3QYSQS*p0_|z?hx3%3YM#6Kg6B5-1XG-^kYipXWCH&#L8vxG(`49+Rkc; z`?EGjyX2+oR3Vde|Rc4iQDXK7!ZDC&o_{u?ZM9cSyLL5i6$8!|tw^Yt>scgB;V7%A7cB zVTHS}Z|V67h7{)FgkzC)_2Y8LT2-a)AR$<&I<$VZyRfdSiSmp(In3rVO!`miQhQQX zP#o&5^oLa;B@@gwy+S`(Bdl&(i8h&m1G4@`4N`uX94NoQ*T*n*DeSwv9?B?99&a(y z0EjzL6|NL)U|!g64T`UFme3hcoDpEC4U@dm_IX~nJzLI0Y|tX0o458=C{63Dkzjs8 zb%K$o+_)Y2UFZ$6+3(Ksh;11D-P3n3OM*A%30}|cG(RA^ePuVnHg-q3pS`qyf78xx zpnnJyBWLoW#qGPJ*DzEx(dL`Oq3x}iPY6F<@1JrEEhwk^_1O*FXU4QvQ%{bRE+DUP z^pnCI1Dc0=XlDN3qQGn?qt1*otM!tjUc^GHo-qARd6csC*~bW?^55H|bW)^`h5$gl zbXIOCiOqq=X}&G1OWh>F_wCqh0ngk$eJc3 zJhf%U_eaeYjP55Wk4Z5mX1f0jgW7paqj9VG$g{On<*CQ6;jZh+p;rzoeS2Sf$^7Qn zqN)lcM^frlE7fl}hgESx4@`XGKZ^w(ZXhQ~pQ83q&sypZoNu2-CcS^!=BbGcD5Yh$ zbT3rxk^$gK+Ph=`S@4VG(OT5nbU?Lnxw>`Jjgi~qBe32)?Ioz6cV_SZOB4Xf*Mg_0 z=K1C&%VQ+2dqaWI6!RYQ3wNq+#5>{LZG$$dqRY$UbHQ%rOD@KC)#{;;i4lK4eT~06 zib4#v#^-RY$~T0cOuJx5m+vZ?X6}N42v} z=7X{nzfP~bUg23awhu{o40bs-#xeuYoD>~(XX!K2mecIhk}@81fu8uQzg#yfO~+nI zyjjUlHq-D#CXS+FJmYQ(vn)mQxyO+fi&7iNapYv?sn;Yetv&ceC(_4m^agn_Pfji$ zEBGCRh0-0UaF0WcBD#MG@AF2d{amv zWXVN>sp7k=GB2_nc>l_(h@ag8JOh!gXR-6X-VXj z+Do;dl?Cn!^)Jd|qgh;x8e80XlvW*aMuk(TZ5ZUghMTJ{(n0PzVD>CKZkom@uINWr z-FPL8AF7#5;nZ#LX1gR@8^YxEK@U7)&hvkmI4XU5I*>Yvq3sms@BMixXmfD$vC;RZ zb=7Tvt^q+m`>NTq+R)P>x!!Rl!3w$#CN9K^hJzm~HaIy5e&A4+Zpk6I;+9=>c^`He z*mY~5c%X!r<>DT%?+g*O$SyoDt^BZ?}^IS-zvWv;ssD3xXSTUAW>q%qcuvQ|a)G(0o z&Ml1$9pi*%TO??>Cr+;lVd{w=O39+}+D-H=N8jgU=&8s;gE?@%arQUz+fvxDWU)$N z{{lXbq&_jPR@#XPg>{teP_!zc*N-x?8>#2V%fsMnK3VmyPiA#8 zs$}!ws95z3HFnehZoDwxGXM$4&4J|(h9&6KR>*+1|A`Ap!nLuWU^u_l=8cfuK_%Xr z<3iW`tQ5$kG)A!4t!!vVtm7O2f!CT}ExtJuVvuGGXogDgJoBx}d!KeUgYWR_@O9FW zTNi9?vCA}R6w-cBWByQd^Hu7GlVu-FyLlG;on1oOD+mlRF2@ECP4lb1m+8_5eF3Zy z5B0Ni%ka`@r$b_TxXNEOx`pU@TFJdFzCNd4*U`UzH}zxz7T@rqu0)VSs4H-pO3v6x z(WoXZQ&LRA;F1~aJT@rTwLhrO@hqTurnv6lE=V}%CP#Wt{i}+EfY!D38@b}kp3gV4 zs@DEkoaqU1n1I^X?&(aCBJicH7D_q%eHlmt5I^+)@70BqG?hHnWYO9@5&U^jkw6*9 z;gDy{#(VY61c9c+M3V9>PDEYd>EI_Y(5i0gA@9s>9=E2z((F38I9oy4m#kV*cQ4Q4 zj9CoESCfFiWqN)H5Ae^v4&uA?EA9(^F8*g6LOdRjl=|Ve<365X_uTNgwm5!tOOlJ`( zzbDi|;RB3p*CA`G?zfcgNJTs`bP%{rf;CmbP(-o@{U}+7RPl6~g@?Z$Qi6x?bz~Mr zXUhB3WGYfks+wH2B%2-P$LKE;_zuB_Laf4O_d=LOn#SdemYIu~1t&@c3kovm-iY-z zfB3tn9;MH#kG{TVyNU8WLv5a2|1net79ChBk^`~U9{q7~Df@Mtsc zGi{4hB8ej`v@_O+4TFp~~vco|XtBb3o?;J{b>=PZIB~B!gYcZ`YTKKdy(_U2z z??GQ-P3M1FXto-vpg(xEKVfohNt5;hw(xx64AxnJ*s!Z(I`o%Pch0uwBw3v*4)$$< z(aJM@og4&)Y5(kWBLB>_UP(qc2%C~de1b<^e05r63wf`8#;Q2q4+2>N7$28{okfp>CpR|XF0uCpNIH1+!(fPC} z#ll&VB%%{k&0oZ6y>hx>)vnjR@Ghb5G-ifwzm=7hMPh|`?B#B05e(du)v$KlcGnSj zTy%H)KFjU5lTu(H-NlHtrFqY=k)r$hfq1(W2+PvbiygBjCYXwIo9mNaYz(uY5YweUtz3KZmUo&W(QSaIN_E4EC8N*C&+k2y>1n#z3qdyrY zaoYvoDm(W#ciRf5Z=!v@M$I0SkBq2DZT#rwW<33Je}9rER`^=Xv>ouApalPv7SW4k zHaWk*5r@P#_~pjs@*GSKWuxIc{-k8uPZi0f#mMFr#zVa@QW_tWKow4uQBDu%Z`e8) zE(dZ8&u=29*%>nD60GI{Zrpm=N12CRWR5hZc`(v1y~GPfJ;hS>FlDHkYF%q{5e-6b zW0cFNxFZ1$OLFSEl%#P7>wF*No{v|T&(_`QfdcMgI8RU!e|_j>U`#H$gE`vc;kXRy z@T_ELB7B3Op|VEh7_n$i_RP^3FNuSHb(S{s?iv*&B-zz#-e`%hkYhVP|GEX|-TT{^v!f{ZcmnRz2prJ3 zy&9vZPbr2DvcPG)uPyZhqWol#aAZGq=gucp$vpjTtx)7T&5 zhmV!uo-lhPhVy@aONC1R&?Uc5hGVvxky%>T_xjbhk=_SOAc`O=EvGw%`js9ql(#pK zw?Ra6l5sKh*P|=sO8xESppK2O<#C}dx|YipSK!ulV|$>n9*d6EjXdKzukf1#_~*K+ zaE-l$hI$A>QE*Q3X8?CoJ7$)Z}kCIAkcltir9d z-7eyI1b@^NtEz=-$otCsm&DbKZF>dH0LsCgY`gtxX@6vV!4NvE1c6)Lc^zNWX0Vm! zH+buFKVMs+Z^XV)R>7cO>kv@et2eIzg<#f6}v6CREy>RhBH=kFhB`W1}^>^LvceUbb~TP^*Xj& zf~!A#j-B!K`a)3Q zzxPblRh|f-EU$HNjlv-x&$MKJ`I9jo{L(yX?D2yoJPs!&nWF{z%LkJP7S3$k3O0r* zXUL|#sL4ft#`Q3XFWcYonz!oRW?0mt+)1Cnmp69^0fLo+Lu9-WhU9@jYfkdTy|&!t*>ss$c~rhiByB zApH+UD|E5}V)2_5j!k|TaN$7`_51=G4sJ8wqWe8=`^Hu(k)s=TX*H0j>jke4(AQMgiCZMH2)|rYB-caE zc36k~naNtu6Mx(FQO}pmxh%Tyd)LbMc4TUINau3-kRUJ3m$RN>MqQ;Bnqne-iEf< zzmM>`Nar}!$HBofRwNRPIp{yY#G+W`A}4)}p6{@un{pZ2NA0$YkDks-$yWBIb~?bY zY)?Vx)E|Ci`q(E7+Jtj}#DIFx zRCfhTvaug6&pDRzLiI7?jzZa(yqO8%lg-3F-C+gZ%*!A9U>8-3UGij>u5taS&n=`8 zF}I-Q%a}2xOxX_CtIK-oiU)CK*_O(*f8>}~cNIKl`D6udxnJCkdjG7*k2{~%jAcJF?(<-4?RREE7l=Ep>TkaTvA6$P*ijOI zt2o>Iy$X5jYU8GjJJw?2i%p3#Zo3J7St%5k`;L)lARq>WRaBvw?r)Q9ngP$VAvp=> z$dI&n^}~rPxfJ~E-xphwdvOyb2RP*P!Fnh_gm+~08o7F|6KxJ6*|^Z^ME}S5)}khT z0vKw4!XWJLO=YYPSGozW8d?^*vV-z?8cxkABi5(zrqIs&Wa#7C!zy-PpmMZt?`CV6 zYSNYYixPK&(_VeC7QV2K+W`jLL0U&oqowVsS?y(vh+Ez#5sc0J)Y z)ohH_yh*w{o0!PgH4F-|L=HX)W@k)`nm$iTjlcwfTK!X+Tu8vnMEzaUXc-O>vJL|S z1nX`d93{#o{aHlMIM(rh5NWicZ>hyUDB(#s5iK`8oW{>~>8U-?4S?0rq`q11L>8lr z*3b6m@IUUY^^89sJ=6{9Ez%^U^&~BmujK^>#@}?SSmLepW%ZIgd}6O=KYPSDj;(wXZN|{KC{SRE9xJM974O*@mlYqH$5J0a=lJp13e- z3hIAKDWk%+^#kp+-O&JrdT)A1eca&>+?xNx49z3tkg7?c=j)kTb$jRV_LjNmZ1wfY z&7C%CGPKi|Mx0RMw|DuYu=cCDUmYepF85;({<8MLUxvTLYn$Sx{v;gDFFc6*B_E&C zi2X!kJ<4ijPSP9GKbh8#6Dj}(cus&U6GY@#MBmWUPS6^yPK~p-G>NQ&&Zk97M z3x#;yj-$LAlN?)eYXSqtbYCCVg>Gj|fAJ44a`r1i>wSpeoE`}bChK3?HMA`-T^T;4 z3P%v)&EB)(=hEDrru8rEncf2+FmR(QoCpr1Z79^M-4kL4ZkQWVj`FS%tZdt3c@lCw zzFcQF(7P4;Ey!#xr3W+38*`AdJbc|%bLOO=X2-=OeX2Dm1-(M#P3#KQJE>nCHCo>h zRqB52j8~+|6sZYgW9*Bb>nlU@6YB7TKw^9uRmQcs#j3to@%U(;6Tx~e1o2ap=#8|e zoU9d@8-Y@IuS-HY)Wy_3@)q>0+AQwQ$H4Yr3x-ml@|yHwM2z z9w`Q82Kd9buTB#>kOfQEUAW5nBqMw77|fqhL5${avNI+tyKRK(0LTv11ymq7sx~FU z-%JC&bn@izu$bEBSh*g#h>1KX0oWW65k(JhmegJgJBVbZdT^J9aJ;2(;*_1gI)`5$ zCs$5nQM0_S2sl_XmvP^0e`aQF*fZ6*sG?|J%6!RD+H!qE6&opC+jsu-J$aD;dTy_Mp$fgWz%(4Zo}9LbPm?LnGayF9jY4nm1ctu6n&6QJY~gi z*mFC@*D?#0< zFP>hL=4_UxsqRIFq~o4C3G&?D2dIwuK!=5MIw%u_xSSU8ytgQEQ7eTZvBIPugl6iX zM#exs{K4!I$zu^FJ=u2{KywVpG6A0eqXnjqTsIiY4=V8tuzYGV(Uf2Ot;E=rvt5UC zM_NqsH_qe^d?Y6asWqgg+?1_k^ zh5Gml6sjxe`ii2e`;7e=)Cp%^C^erl@9cA~YgabER%Tg0`p&Fqe^Ue%g2Y$NgQpFL zCw}?c)fQS4)c(uC?~raK414Ojg$|Ppq@H+c3su01p!sZ)8zk&w5p|=I*6d=;h;r7{ zkFh{jp%Tjko$cmnPGXmzP3cS~K0!=ca|E0RT1&dYO#`0??5p|dO-p5^WpU8Zrtc=? zaE>ZGGb+%OTU!72v&gH)6Fw*bH=MAcn_i|FLdax?OFzb~2ZF^m0G1l%yJMYfEon>#_;cuR{dK&dJHhu2&%RB3S~O*LTs<=%w3@lR_zY^A^Z&NuRU3vvcJNuP!2@dZJU;4k zbERhmVe2C)7n+4dNZXJ;4bDzx@0MKWfA?)(`FA8XzF(NGkbBf|I+1i!*!-ANqKh5w zBr1zL2_#PFE`)sPWul);9}WFa2{QnoE3LM*FU@>ena~iCK%$68n3g4%PTRf)t*y1M zKCBXg1*eYo#q>yiy~`imSXzvjeXZ|(bNhbhPu^{p#(gmRP8XrU>xGV$MXwR3Gx$N^zHNdbNHN=ZD>H`Iw?tuu>cx5QubMb&ZVyEwb?!wc^WBG68VF z>zrTXwSP;^&Ihrf_=6bHxZzVgt36k3_nMqUvwM!!DAYma3?2$T-6-E$pFL7@sR!e# zP)?U3j}w~K7%&9S2X-er6lEe`w1>X9u>_m$H|Op-velG6HaB*#G?+rHX7eqb}PQp^~l)+PoWxgKE9+gQ=Rr%>A6wfXCv=d>XsJOyYeSnUKj^YC^Gdf5XWIc z1F&x>59=9qO*0PfBwwIrlT^Fg<;sF2ahp_ZK1pt!UR%Z$e?2-femxcmQpDU@6dpxV zI;3#ac% zyIn|xhi1UIa9~0*8a0sK4gWH5#`Dzut6q-$nSwK?fWpnY%;78@JprotYA4@B+WGVR z$g-?*)tX()2PJ?&gzI~N5;SdBAD3T3;f3*$=xF9Z*6F89MI|4eqNLl8{zZLC1B;Ej zb4Z6k;jIosf1JMgJ3-OLitD)(CBlpM;qPBOfA_KY<0eYcp&?$mW3Rj!sk6&VhpQ_7 zhJ;^H)PxV?2_Y5cc!iwPVF9I__ledJ9vJhplg^Mci^Xm!A=x8*T82R$5N4+Nqju@xY_5qnZ^NBa)Nx6jg*cHr86NNSB0Si5T2QIc9pYb)Gr+734xE1uiUJ444zr^_6 zfa3^_LVr*Ku)R=GpT42e%XXvX$0amjN6kM)u&P{%;b1gF=jBSQlVeQj;byUBO31&z z%2O}b@hZp~!s^ox{ckROYDqP(+P$0{tQvp5k@p}Zp^;GThh~$pFqJAiW2UT#hmI=p z2jg@5(ONYs4Pz=sGj93r5P!;Tjv*D@i>#B)aPx@;77>D~0P(TWIn|>%Ir*H$@jNup zTuM7#yKA(pDKaGvY_grIXx9~_+sVdJ@re=1f83UgJAqYJ-PaVn*1dT}hle%05QVP7 zJd49oF#+PlbH*7DeJ@x?8ZbLkeAVmEtDZZuAnV9wYJ~XMGY5}VO|Xh*cN>YoS^-); zl+piP`M?4Z^8cpSV9~T4WMT=(O7*vMzQZ5l!*Xg>*T+XB2EwI&|Hd^3i4xL^{M`E| zUVM8)fg#elbYIVxa6if1r+%0(>SR>d9>RC*kWo~)B{!B>$VG>rPieE|*Nid$hkYc# zR$k7=pDmU+_z51Ci)BTE1*2$GqS|W)Sy``Ta~6iv3DM$klM*?VAu8HV<$XcHYA>&k zG?CxjKa9TZC46f0c0`;|@f?O287o5?h`JpGZ{*^%755C)F z0|s%2wJ0}py_0d%d74{031eP{lC6ryaoX8eHsA+s^k@V&5St)k}(sfuhJHJH7(RD5_CLjQ3!2FKvinY$Du6)a+ z-zI?i?RB+XKmT~_88j5yZ59w*DIHTNoYHboAk&AlHNd?TwuidDOYb|M3Vz#AB+~3l ztTQ%TYNE|8niKfiHlSXKsP$@4QJyG8uDb@WF4ale?G_pZw8TojQx6u0&86#7JR*>qhekIltu8Ut^AOl6vjWloWy zp`>j7paeV+!TN8;hC-jx9$^-dXjoy4?zbmfFHB|F^j6b6)z3~9eE6My9FLLWSi18> zqU_YdQ1`t#?%KOC;~knB;~n#rZ^{B97}0q!$tyTCl+#P?j;nNK9P95sQ%B?Kv15P; zapn$jCxx^@jRi7+v^s>ar*q zadhD%^GKh{6hni3wV^urN+S`tH7u^tv)D{Gw8|}Ljbrs+bP4f;7htt#6EvcJX#WH= z5IY|qMx)3;1mc_Y8WkE_i^AoXfF%t z9mmw4)tTl9KEG~;N$d?Di3Z!edYQd-MgJ~5&lobigBhlbLS0IsjIQ6jdo!gcKfPqH?2{>9Xq#E04~ z*gd>dP&ko9AALgwoO51iTLcP&V#}e80s{cg)dVIKk2!F~sTqk!x1SK|?Fub`m!KA} zj^fHP?Ki2G+1RA|I6o&69CV^8FAkm~GR_>v)ew{VXmAW?a_!?gRMl+5$Hq(E@|Cz^D39M5!iX8t>b?6e15og8*Qa0i-W-x>jP39hKZkYcS&Fy3vz!X6 z-$|{+Sr+z6g?> znkgiTGXP#fbQc;j&ABl+#@pb-SQo``fX#Qz1PoLyQE>UDFUeuFM*M;YEW}Ucf1D~u zSJQYxr76z_b&Qwpv)>;f`Fc(AT^GkWDZG7o)^~#n6XU%K*jh~4ttOR)^5K>g&nNp( zjbDpMR<=pXhC;>GuhHM>Ebto6Eh-t}gcuhy5U zmvL*@cjZqc1{pfH6eSzdH@9_$>R(%;E)`Es?)**Hhpe*u8tf>tyM7p|D5dm&#v)%> zUHs0|ghBFqAN{~>8xF13__10o7pvwe75}zuCo*^3MBb5r>@U~jO_ji`yG!pDA(ysV zq(+t$*9x@WR5vXUKC9w6p@-M4?HcLN4tD@;MQ$PeOY*Fke6z8c%*EKW2ZzE zsB)X_w4nsK(|6KF8F$sKdK)s8H4bD4td+YZx9l58)nh1Q5J!Z|yUk$6khF4%56POm zj*Q^iWlw1iqcf>|d1_OhAY)&zF3iSaXhuEc;T;i!pWw|6M0QpF{FumL9%Q%gpdMa28` z42dpu{y0?fRCHE4#uneRFOj@VRO&~-OnVt(@mgfjb&Ts@+jugzlmU`V&&t;O> z=w7uC4?&%@=%d^=yH(ZeCX9LHzJ2wC%NpDa={CXAs3IW}G4KJ>`GJB5%f@~vYXGRD z+I6|jzC8zeqDYoG(qD%i0j6%1qvpu{>N|JwhGktM+v_^mNi|tcE~mm$NyhXA>c0MC zZ)U1}MF9dqp?X0VZ#73EM6;O39YAAI&%385JqeLXJaE!qtZ75_%@n=YFQsTW9uXkc z4|=05+_)v|=w=sD#t=@dQKFnFx654+As9o9QN^DmhT-l*shc4>7HQCGmD|>m`w`4l zBG>y3{gHPVfGo5*7#OVoLy|g$Fh6M}A*nG|KQ)64xNPq0U(}d6>3?Fu6imFWcEsi8si51z~A@bnhle-A&75%YqZXW8;EV zP#y3w=+5aC%c$W_Y$78>qAjI`iGiE@IR!Le{v((qk@0(yUhP`_e?AUG==hYrq0q1N zSla$FE7emj`f+l;-9PKBHokxb8hK~zrG|#I)}_0r+6Obe!Dp+B&gV|YczMhgZ2R zrV{cBJFzwif1x>o%6eRD1wMQXd)&oXa@^S*_=OU&H^QL-Z!06aMP231bs*~&P%;G4 z=T3fJ+XQVgkgWM=y;ce>S7Bk1%tDqu!gnuQQ7=%t)|@NZK~rn01GM~Y75FEJu**Qy z*nuEZm$Vb5I+raD37#s@5~=8~l#Ju|AWzUM^M#^wbN?&1mCX2`qgN}Y1)`m6*VFRL zY+A=@odu414vMt={Z*Irtbg(~-hdT`zR+F?bl7iOXz?^MY^L60gz3U4Zs6y-jh$v; zmN%}bz~_h;L3v(dicQU%qtCUnQw)CQ*UBmCRDm*6ZJ9L^@ENrp(eqG)o|AxFIzI0- zx+`()5>LbaDQt2=`0c+f^9vo(C0nbYP&Z-4?Kz4@B8J8*x~H8!H&?v$>Xj2`@mHR* zeQlwrNfr1-NGj^~<5J)fQOV>#gG!!Fb19y#%|K)~(ku=qQVrP-c(_C-9K=+4a(qIw z9QuYap8sc~k)ZU8tQ`6S6KHml1@r%_H2vcZp<4T7LH;Edn z8Ale(Dx_=;IuR{o)tH*3ORAs~s8ps%8NePX4I}2tA@SWU zktN`7wOJiO-Gaujt<+KfiXFWiy6QIEp!*JfVp8w+?ZGKeM{dEIvN61vcsZZt{ucTs zX?vrN4unuBR2cYQXYycH#N=N|cc;9Ako|pRIwXxw{ z;&Ec7F>`CJ9tT?y8Rzkk5OnsE(Ys)^LTjfptZHOq^@bLIPoQ4HCEkyrP_eD(-HBf@ ziaM~>Bg2_unC10yV%9`n(Ox@-gCQyxZ%a7pgpzn|z*5#4ni z$S*HukbpDWb=y!@`7!H*!gcoHs(F%Sc#;3*ap<5FWHAu9)NQBQ>@Q&nj%v{t*0!h!#W%8kjm2tq!ak885Qf51 zT7uH4x>+S7L6WdZPy?k!**LNVvrG>5UR-cBD{ z)-5{hNN6^5?U^tUTM~{d$v0;!^28e|hs=;w->EL#k9RYQA|x|3Zkr;B`QI1cSJ8Fj zs*E=N=ub?-%ka~{Y#t!_ThW-&vY*2LVA(j~1o5N5@T!l{V`Vb7 zlQ5I=wuYyM1WtDhDRDoF!e;bMc!tK3m4XSH;K4Dpi)Z9pdzA=rIx}R_4c3u1jKFb?y5cPQtZ&3OF(DQ!I;?Q{cUcCD_3jc z^rP?zlh}MNHwZ>b3pys5v<7xl3`noiV28U)sVH!8SAPQiC=Gw#i}&T;=vs}T*r#bj zz^G7vZh5;Ym94H?h!=y57PzVRNG5WG;<*b?Ls~^nJhH^9Hx{gKjEjW6GBejVr~l4V zf$ND`Sh#;-C}A<>auNmmJiJtNP-=TQZ9`AB>jdkM_NY|P5uOAFTAP=IA3`JKqodFT zWvHKS~8$ej*PNI8T^rmZmB@i%I(&SeHf}=F2u3>(?`Fy5J zqLP(3VxJ!Q)j252%c%a9qnX&T7VZ2rzPS=u1+0s?4KAEp?G-t1E+NX>_`7%4>aI1_ zRF-{`N`*s+z)aw`pNf1?0&p9J;0pjx*K;D<%G+ZIMe?$tBO120lkw^=(#@xbZ2H@N z6pm_qQH@s^I~b@ddn1A63_Qk3RmTxKEPwyN^+ce<&>@uK0{Ezrq;Fi^j+_MR&D{9j zUcB|cyKl2}R@wJg(Zvkx6;*Z>;c1TM?}UkqE9j^&@UFP{R1v+z^g`!XVjXNiBawKz z1GR3CeADMWq_$E|{6)DEO~Th$^}FP+8-kN+YaqhhiAUdYP5rBs^vxrvpx|kfns!2rs!uJv@0+f4RO^=~oVB(Jj_ohV1WAXq6a zto9{;80-`sCgK>sHrFxXdK+n@4&Fia?|*UYjNscU)Xwbdi1*X1~q5u zHI>zKkskgHe6?rcRsQQPJk1wffP$2K2a5aDh7@d4@9#a0#-f`32xImc4D*eG_skfk zqh#&|n)E83LSGc}GT|Y(piqK+l6+lHCA?}f`4UJ4*gh;^5fuqOb(qcnB_BaH>{+@x zgim|-q``tG0%!gak+jWvh!rEQoNi#-OUuX+RiiN=l5sFpG}{;)StLbl;jKiK#uU&J zY7ilIMdh3ylt2PX=`9BW7v$h$8*@7hR;1+c1z(+`A`COG@8JQg;bI{oI`!(juO)O& zW0_{_ELrpr(ac@7{^f!j2?u2}bl%pp*-A6JA!Dh-N+ua;`)@BeocD~CO!Sf<>wNq> z2@LPBZB%yy-ZVcdp;0SPThe;wnvLk4;Yi#8 zSZV#pWAvOA5REsI<;2m6wrr+!Yt=&NG<9n1b078n&CPs^}AE5lMKLgw-WpWvt_tz^)J>UjKhiF_vAL#y?uw}&lI+PKA zOy1rHh+W;0dZD4s*Ju#DplM&LNSlX@chqO5YGC?IZptD9>|EP1SVK8=-Jhsm6#Ws7 z9ORN>)wF+n7X0gPXHeL0yd5!E;)ktN1Xe-|1H-~1=gmM2{!iUOh>vUhyN8#GA5Osf z-{-wm%1{B|aTXmT$A35Qs{Q>=GE-HP+x@?(S_4K<`!=EDkJS;vZ1nex_3Y=`7*7Sx z0H)s62IK1@z23)=YSD!`vz5#=p)|#Ha1_SF)Cv19LX}o{u(cM1R((MK5z)K2{elD!#9bdSo#x zm)(#KY#$YwG1wp@OYEV4q$$mvCV7~-0es1(=PFxUsPSZ4mvZh0CE$VZEA$x~DvnEs zTUZ_d738Pz__)SuF)lQ&gHiMXNF3kYSkBLDAq~{gbO$duE>-_4NmK>KQG10ZST|}A zWRtPQtq>?Qb56g^tgh%mj2ZhBOK)38#6>@W4kX&TwX5dQBo&ChxJsy;pJ?Qh&M4rP zg~{QtPF?rZv(|B6YQ!RJy??c_*5EOnVET|+7?A6tcy%+7u+s}>$RMOEc?BAy2vFu! zh!mK8)dN_|9PLBcZ#HT+TV{~Ynq5xqO{TaEXo$djP$ivlgKblqTmv zkSd#QK_nMrS~8v0_|7F02?xQ}^mz@O`1TK3lJtQ{1OiB5bO81zg3A@4!wxxUX0>n6 z#GnQ@WK3-dt(t z5c}0^9&9|cX;Z<3e7!L}I!@6V)hh0yCb+ovuRmH6Ma)8g)__jST)MHL_`nN|AH?1Ym<}}{d zmrAEwG82yEmDN2PwT5WB!h|1z=&bKFiyFpS z&?;SJYvQVx`>CzmlolAycX%HtSd3cw4h%X47^=FssJKV}re7PY!FVLB!MNO!w?|3#oK| zDx;QV+AR(778IxQO>|?iw^rZY+yB0vp27u&78Ab*t^z_6|B`!rFK6o!M+I?< z$I#h!f7L7;?!T&zX{Er3GoxDZq|1$^rUL_P`i zlMyrS%1gH6xyYz+5|R`m&gxp=QRl9oNRtS$?wPoGQSG)m0f5TRmAW0Aw3PH82^&6j zkaEQ_tmJ!r$j@E{axM~3wDJF0HlZ9~*+2!^4vdRt<9ZBU6C*|lD3rtv*96S62+bmS zb*-3GhSLS=>x5sK*Y`ZwHmdW)Td^JAKvAjE%!$XMO>&4t$CYYA0=b_oKkwE&lC5;B ze|5i@-FHx@YvkzL8(>6|S+)8*rOhSZ?~@#bgHnYz1V0 z=8A}O$fWUCJW2R(dYTZ8AT$doqaj<9Kn0nZ>ZmUlML2NHeyA5FY4WuCF>wCkjc?Cn zNOL1pYD$l3VPfo{IH;&GbcRJhC;s)b0Dl!dN8f$x?0RNFcGPNqN9wwv>^FSNPAYOQ z|JYY*ye#6zF)3{h$(^(F1FH~e0S03JSuVa!N4BvaaU$M<@80(b|JkXvkK9=4`!CJR z3UvE7o*n$PmToH7sB+ey9jj0^VTBu8eDL7FF(9Sh^(*%Q>OKHZs=CGx9xi5W`iF<`pjaYq8$fhChwu$|y)v%VOlC`O}Q#>;%qg zf4p(f2g`4){LivUR)8|P?qGoF2cU$2FhFe7(Zy1)!IXg8X|S-OAZb!UO%$Icc*@FO zua>s)i$k{SHxd!`Kos}5Vt zupTTM1C)}$3*2I_W~?q^zO16KfDaJje;7k2=u$E~G$DeZMSLT&Z8a10+-G9{KRL0aPfk-S(kW$_>n_uJUpXAEh_?NFcnwalTuMmKe>nhsqp~`A})CjiRHEB zKNq5ch4AqV16;>~@X?4v<5df@5R)O*yr2xZ0Ua)gih|=4*}4F)hfc_76ulXJZ>D?0 zV`9QoK@8Az8!xq@Y!DGm!1thqKy#XoRjibzrEdn>BI&FN{5U+o2866jTQ-;G(KzJ8 zOC<^?NWP?pb9iqxv}^|eDP{=HI7Vu)&i9Y6DX9>?)_}Y{8z*K{%g*?TKNA9C^7aI& ztZPO5ZC;vj5J_8>&x)h7q$AwTz_%n8k!eqxJ}l6JyIg&?1~+PwH8OpNobpfl5vqE% zbTCztBxyf&kb&yTK%^^#Se|PjT8#L}LpH}yQQZ17AS>$XXtG(i$m(2Trp6t?T~;wi zAUG0V6J5+ntvMO!tQb@&v-iT#XeR7padD!$dQqe#J zpDKYERLeL3zyeST%hmjKKm&x-9K5_!+-z9>h`|B$Z&@5th=OS)TV%?US_TrEBRa~% z5A47bT+aG;Zd*eP!MKJ(A{@#hD|BB9le%#2MTje;xY{49=u4Wdxu~m~9<7$Dxd-Ge7jo-on5Nit@tVkR*0;dKQ^su?Q&AbD5FD(Ad>Ws@S#qF>ryON1}2 z=g4pQst*wN^8VskcJicBIk!ZPg6YJ5s)3zQt(JN(cw^9bvbE?&&;_+3b!=_TMV_X> z)e{euEKH80Vc;J?-5b=&e7*Nj&hF2LNSS9!0tX7C8F0L!lk$+3_-|?rH=H0e2l!I8 zZ1aIU8_2F2Ka}DiQYR_>Oj^~`KS;Z-v55_@_TQsz0y0;Zd%M+79XBK^3eXpUPsb7y zf~WUYMD#NZrA(8~%K2_l3k3-8BV*W%%X&4QjhEw4E}GIayoML?d=On$k9G$rE~zZY zETWXM)a?xdQ?MI4L+v zc*0fGU--tO2j@iDnen^#EY}hk3~KMMiN>{m`uFe-0Vp-#!Lq491Zt%~;DQ|VwflZ!q*L?HUUw>KTbmV_8NNmurql~qT7Y-m@*?Q_=->Lq zhF<1DLSxrjs&+cUnKW`#p<1I~qZlEd=tx0$#;#P~L!lV87BRDv%bdLg&WVq#=m5Td z;MXU}EM+=Ss-?o1SGNe$OAF#)7Tgr@H5U>+5b+AuUT?UuF8i}q<(bz->k+`9*Q87= zg$nI*&#igm_f6nC!$QKO`yvp8n?kq>2ha}U07j+3nm0q#0i#%*0A_N zdA%Id^1fi4QsLMVfG5(=B0e$vXuuqJhC83^rIkqWU470 z>m{Y|iIKoqm?33+HFe}OZ2V%HLGql(kY*ePc7=rK^1Aq{)CkpT2IbsPu~)A$YkX&S z`WhYee>K^mZ`g!AuaPG@?t2sl9I}C!O|VQTp7D9DAb}_?Celz=#*;dWiXNA8%V$vOVO>!#tVAuclx`6$ z4zu__p&HD9nSh{Mpr%1k_9fll((y#NRr+MHhG{)CKf0qw!=HP+VmoQi%q!c}yRQ^! z229rUo=YERIU$0inOgh{med(!VXNHaQbGC83b?yP>n-abt_0GN1Vv9o|3}Sly_BWHt@>JQH!Afc~;#NB|g{YM* zHq85Gz46W`spD_4Y7qs@?D;-4GF^&vRQfhcUSG7<`k_<5Wd4J?kY-|hdTNdx)DYZ? z%xEsZ9j4B(7NTI_Fto1Ju0Is_b8|Ar`T>9x$&_Rcfa3 zgF3*Q?~sOLc4~Pnj=jf%nysNr6Gt_tL0noAcRDap?1?9?M}bNToU3-RLFnkfl`00? zjEWNgeOFfbqx#6a(XwO1WKo4$exX&%*h=%Be?|})T_x%~C)!0Q?`jS_%G9w*rY~l0 zz?9Oe_i9T;uEo5KV{;Z>N_44Mj-buDz zf&DcAfaz~7n$UiRj++=RUZaXE4H1DjN-k2XR*eizClw<+0XE8OM7uOySLSGT5)-Y8 z7@ ze)hDy=w`e_Z?az~F7ULaKB@oX?ucbTg`J-^B4`GUa};|$?&PrYifDw3-a+P#+>I&p zs}UDY_>pny=!s1ts4l=|T+_z@y#r{82T!-+{7!C44-2J|Ou^S^gvb~2ac85_7yTD6 z#`ML1Njp6iA@9AZrT_h{)g+srZ%^TyAxL5!Z2>Mig(5CJLWj~+=p{;9HBq~hI?iF_ zD?&k7F0EVC(SbS$xl72_nSWef9T7M(GZhLtK zu{(%RYl@th9tz$mUvw;V1J3VNpz38A<5>S1*iWYQ$v<435UZQI=}C3N_6{k#Y%oUB zK-j`4%Z$B6KeiU-N!9VsXg?^NB;{=63R=`B2AQV zi!bF8yjqXsXgZ-i?y4x?%|;~$U(m=#V@cB@#qU-wYrpcF>3;!02`aQwe1 z{qkB^gDzJ#Ay2qTwsJ zkLv&8lg_jP)Ntd-#-e;)BYF;j0s+jVl9 zn9+OBV+{BX?c)Yw%t-Ys;FE+F3$p63>Ghj2#kj(|h31mEYN-(5t@WlkSc5?Xky=~pS3B(4>rC_74c zi$gvx0+}Dsbl}o*)4$q+wn|QA@%7mO%(0>#-^64_h_mEllk0W0K@7NSOO3~2&BQ1> z(9g!@n)B3F`t(r_Q;+)hQ6SEDO}D0Innot{wp%kcj^^7j^UdbYaS=tl#`aZJiF9u7gI_MCvIp=GT+i3(w zNoa*v`Ky%F-3q|Sc6Q9dFH}p;aJ>G6eNCNI;qJ%mbrAOj;56wWxbdcvD{1gWa)mhq zVbW#0stYWguvagTpBZR>d&k-YIGJ+9-f|t(BZgM*EuK9`+(UG#&j)@lYJdpnkfQD) zihQJUZ4(a7=}BbNu9KI3`J|cQD^+w1{GB4u%v>nf=i84x zOiN5mVc0TDxpGBtc4H(&#yLLDJe08j$=sx zJPFvvLW_>jNiSx}>NVoKqGKRX!H4>|uxZ6l#tFvn%>X+}!3a;ztB6?`K*SXY|=7RjKkegnGgh zciS4eZs~a%>bWxA`W(tma!mq8rkYMB#Np0vLQ)#pQZ`5m9Mk>0@evn}x(g0f%U(5^GDCa!>Vasy?Bi? zs%xeWFQ~f|9qOkAzTp^}kM!gSnR*VMv4@iTJP=Rm?**@-T=^jFtert3Y4#7Dng-X0 zZnd@F-TJ!^|4}!1+ruq2eNVX3G1kDSBVUqJk!uW!v8ts!FCB#fKSWT#&*!+(T#iSg zQnkN^p%*91z|Szf7G%NZnwbu+{^~G0BqD8lZW-zIyXHS7h0sy0UTr6vN%wvqMa3dm z&T%F&f&u~L-)B42eM%R?!fin00Pv!o>6=*~CMJ}!WK2|XO++4APWzmLx~wWlfjeu$ z+a)y}GlDzH_= z*kan#T`Z?b-ZBy3mfZPVgr&=(71ey^f7j;f?6DKPnY%c{Ei+m$BJ?_md zoXz*;tG5(5w5X=&bs^<|A}24Ag03r}GC=eu=(s`4WA{#4peZFT>^9*lS_W8Go~^jC zqT1S0Yc)#x{aJ2Eb8VT+kYb~MPS$8jF~9PZyzHj=sNS!Pn6SJK3 zSg=`DAXe)e(K5cqe$<`pn@f`3=sMxi-wMFplf^T-X!%`fdIb zAaGhKE{rsD&Z#Mx{q7;n;x4l42;~HA@+meQ}#<+x} zhAq^xn~|q#H1!)`GY6ciEXwx5|J6uK?+MK)N2!e}{8>&>p#0(Y)? zOaxgZnAp*YQwlQc7O{>WWpm4LvXMoPzDX?Q+M-D4uyL6B0nkCOOEVtq^__o0xeh#?j~`RLwL zv9vy!`D_FXWbK2;Z)P;@LJ@a4`dK*|bZ$z}u;9;MQ~;aB{y)T&6>l|VNut)w&$V(L zt@fp)pE+SdY=GLmf6f)wZ^67)R;mo6<*qZSx^HYh_%XNNjNRNXyoK}A<;x)Ababco zWumBxj7w$a>|EvTV!Hm-O;3nR5Fs%cW>ZT5hGNEccM~%wad(C)Jhq*&+$9Q`(`nK= z6=z%dZ)z4=@uxE)7?D3Ek}=((EOFwAF9pkm0%%98v;F>OUubhdzqBCC?q!~!EQES| zc4cw^RM`y1>nn8MLuPul`5(S6expnzTF9LBj8j6|gK%}i0FI9QPXhg5PQtr`O$oV~ zL|lVpGGOVyjmG=3)-9^~y1Lf*k%`mCzz?&cVi)JJ>?kf_h|+)C_!pZz@diUn&D4@-Lm_ydQPG6;Wpjw#taW`*t!^$*Swul;Osd z@7RRSlzXvE$e%bJDY|yQL~tM9LW(~-c`Ikz02bm@?P5h!mr3(iak<;2gZWr|aes*( zSonkvexy`N(XnfY(r#2LO!F??k)Fa*(GN!~Np1_p=dka1Xuebs#bos(r-(d!Iasx9 z>7)Ks(AjbTnAj>JH)i{$IHBQE$~MJW=3y~;7Pzip3JhFOvkj+9Es6%_ z#bEa&@H_??NS)vYMd#*FUz9RTy%0xvSV^KmX`RCTifQBC(b<)p3w@6hz^^U#o`8f{%tQSY zy4k6VUgo3Dk#JPr@IVo~!S^t}cFhTw)E8AxsF0cq)KeIrkW1J| zQg4#!ziGW^h%md40>ZdOLyS7JB-oy=J~+$k4p|jZ{1Y@NmIC%9`eMW7@ENS$4B|o4 zRKMddhnQhAWCV`*s3$tDZ`1YKE^3cZ2z;m05*6R8y+BP_1AmikX7X#+6%iOFKh~Uz zlRQ}ULViumH+u%0>@1-$@O`GT(vKqXjjgH(f2B-$Der-&n)(+1{3cE7bxMtayl>WE zyRpirz?AcuHEkIAeVI%4dtdSIlG*!nXTWCT9BRTGQMUVcT~XL{)k!MS-W;M6WTq|4 z>Yaj<3)o#3U0kf>*WLWt@}qhrW76(zjeQFD>G8pjQWcvvHIeOynaFnWM%61k#Aur5 z*LX|NX4r5U!9WJ;3DE3a|EEVM(l@&7+dbk#11$#aq+HTBZf_?;!Mv=z=X2P>)~wSO zXl!thk^8SyN8j;m_E;U^68I#wPiLrVlE$zg-Rr_2obY6T8B#4df zsNU#ha&{0RVtGNAw&bbSO-^|#J2)Bo=wS9EYWC>-=R#9x;XVIqO7{o{esdT5ftqf% zhqODAK^P3;&_HbN*5Y98iapY?L|x#1g-np^)LJ!uM|m^hy!qf^W{^2q%71tuG=rcM z0b*9}pDS>M2b5l&*0q%~in=X3204~kA@y&Iclh*><@oB4ZivR&_OQt|srdj$=OBJq z&nvz%GZ&%lisFhWMX{LvH)Zb1JDZnfcwljCWb#?QCPR1oMIvkbFbB`?P`lMqW@HQm zDM;bwTEj|4tpA#or0{{n>zPmXzTDyR<>4RM5-L~CpD-3_qrSeT_ zIE)N|$wFyW(0ij=rkgzg~G?-1{mib1Dqck*cWcV8ongV#M)m1F0}m+`?`Y4$979P~TL zVh^m>L9gVI6eVf`RvCETkGIJ4Mqkh+6I0cN`li5bi@xkW;$R5Q{nJ z^d}v(5^D^Wmt0WY=o^#5D(}P(zy>J(IcZrF;26^9A1s}R>(Qu|^OrPUSTNg2+DqrJ zsXTH=^#UWC?p$Rec+Nh&7VlZ$-rhK|`q3sBJaVjqfPpe2Fi=L_vB+PFHW9X$aX19+ zTVhvbrH`(qRgPJo?3dN1($fQ#6JT#{vv%r&aZL8kriM}Y>fI`uPfL{Z`b(aD_Ty19@`vW+>;H?JsK8`eMGR_;w!y) zEx)Y6mM=LY3qnb(D`xJLmk>%=E0iolwJ4*>14%1`Yi>&Dv zFEQ@|w+WT)h56eFIQ=a`&Q{|Qv~asry?MZ?C>(#B2ed4<57g|YIj3-<`qaLv=mun4 zFJl;crPH-$bX`cO;N4@(wka*VuXZLDo7;g?0DmyQeqdup@Qil--ktje8r(F?ucIye z&WM-V<{OGHgpU_mK`)gBoga#jzKA? zf&^aJDG_fm8os3Y4xBZ$7-`zwc+w+-1WIp5o0i`oDGAUT)q6kK0RLO+lv~6-{RO5C zmtvsiq|hvgQQFVw(Pde)_;JujG%jOZXj?u}MV`??%Wn?V9Q~ysFR38r1vV7;VEaPM z^nNOrJXMkH@Y!A^V88>`0X06G<`}9J9WgY^q>WY3!17t?Xw0#(QB$$MG^}_a=nemX z<)i!~SpoU_4&%PZWjiC~DUyM3yLUBfB1jzR5qB}#gkSoD!(jn6k_41WET1pQ=ehp0 zLT)wJ=<||G6drgqKC>MVKHD%-HKDWy=h4-^WeZ!AF<5@@@FUDt=Ew(r)pGN&of!r#nqs{sCB-6Mn*=i4T z9klmt@hN36SbvSMXVB;)?jl`HjO3HBa!t@UB&U5t`QZ$4>TJ;4PAl}%A(nXEKR7Yfq4J|RW`(g*%!3?*86@e)r z$q6+O+m|1{3Kht&emd31KZ2;gCsq?Fsdh8jV@&IvcmwN~hysb;TbDy)s$VrDZ58}Xm4Ef3l^PIECZ&Bri5er~TW2jgabud1Fs zEwz%yi~J#k_eJBx46ncO=x*m+)traarAI`GmjPZm{*F92Y0z4N&l(cvTMRyHZ>+eo zfGe8n-^BVsDhfHqjI;zK>Z!jw3ZPLG?-j0RJi6W$)q|xsG?UEkg-LU8X6%ly&$p_8 z3(XWHZ1qQvPF^=n%yo8r|6X#6Ctp`SSahKwn>nV|StFXtlIXRy(1M5+zGhp%AB^cyNzGziA->(Zu z$Lncp+$udKYfja-W7CZ*fPluYzL%wgbpn5UalP>F>eZ~NiC|>8yjY0ArWm+0@lk!` z%PxlvRH{n~N;gPGvlO$|S8QuK)mMm0n)M9j|GYrpwPx5XIi7Z_XMPtbkh9SaZ`|`T zRaHd&`OxsX?5i!2MbTYrRN-2EZrjgxW!=ZpMKV$LBW$J_YvQTaI@-p4L*w_cDJR-a zUd;<*=axWt@L+(jHBLB=F9tpPGuSD2++v5ow9F_1q2aW*StB!CLL@DOI-MV;=31F# zSFIR= D#Cdf6 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/60.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/60.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..adb7052b715745b0f68533236af0d804b127ed74 GIT binary patch literal 57227 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 z |_Fjz&>G@en?%h17y* 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/72.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/72.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..27451fc6a1914cb91939644c065d0c098a54e4af GIT binary patch literal 46418 zcmd>l$mSeclHjBPJW+VT>ZVdMc@CHp`Nn7x|pD} z)Jv?6|Ggz~7Iv&QWdO#vhx>R5%Yyvx7yrL}qHhfU3lPQ~B>=$MRpE3csRTHDB}_|% z8#yyZmQQ!qKzl%1Ve*aiqlu^6NpDS?>k{UbR3RyuH^daV?D#n=(`4@)2EZ#ANn zCg%rgVz9wcdag$o;BxwL|qO=Tt7S@TbdRHEeG=+!jA#ybm(d)WlI}8=3 zKMAC7|Afu8bfMAcX#jxypAWyQ{5LF8O!N(G2nRr}pZ7Sl6TlnN>RdCa{W_Ki3$$CH z@i`%z9RkL1drZJbBEpJmyhKe)**~J>`V=4%UM?HU9uVup|LgS--g2~H%oyfZ-15g7 zZ+~a76x+MK%MwfzRa4h|QO6)D!vmUzuWBK(l(}@O6xxcRd?*$eI-$qu%ZL3wF2E?|4{%f_HZ%1DO3R>HK&>1HfXhY6~mdR-EE} zhio;@;^uB2hot$j>Wr|;I=|8oZff|PqOC!BM1&17%EhPy% z!-*f@9qCP9e&ydkxHZ?>(1c8Ty}y6t!CHa7u^XZTkcywlBAx0=e&oAIbdSo}PkGRl z(P`5R`{yf-zD>0rAcz7~pp@tFA~!hJJcoG5U92*Fn%BwIZW!2(1##SaoJaaT&6{4N zmXTTRh`zfI=nE-~53n>naZoYf;Ey90GdUqE76?BLE8EWXF=Q5COv{hMD-QS_&1iLa zYMu!i{Z1c+;(lp^p%tqSzx;g5(@eN!%#r94Wp1XM)j37*!ep!8MqkpJsBWo)R+KkH zLbFfmf@y~^1ev|J^)-Wo`MY3C9~yl->R+vVo?~$>ZWxJ)4WMlP9bOiFOu`Go%&vw> zVc~N+7IWd_JtfII-2@7^@~wjv=WF14GB9Hs5hjeh^vzL`3)LhaAWc^L^=6e-i%7s~qfLMMKC!cU^!*wWCyS zJXLH!a0%lZ7G^YJpCTS{omOpvMsFucspG}4xR_ch8DZl9h|n(*i;abgVLyvO7H`Qi z8=0z0MgiDHZ%R^YmP1X8R^6vvsq#8cR7D5qLkgY!i<%8&OoXcm1C zT!KT_o{yGbq~Zc@{ZriTV^q3bd+JQyeF;hwfEX#Fu;_ls<1aPGXPxTrHQC$ThvMdG z*U+)DQd6=P2nMWbH{_nrw_qPorsD}u0mvlifhmmfDXjeXrvM0Q6Z(oeUTGG~Nnq{; z;$v*n`kfzUn$=&@px3U$RUvhy_(qwF!%_@IUwoO4EHzi#d-&L0J2YzKPzwjDe`#ip z(ZONpv(0Ar4Pdpy8=x93;43;o{j~ZasMs)K*biC6bM;an1E)m6bn9&6CRUM{-JlDG z5dqFoMY;AqVTynTN?LW5<@$W(i9iz|VGJ z(8!H*B~5mf>e_-;ivP?Wv#=*Lh|;Z-6yw#jJXV*BArQeNq0OInx5bpQ@XASgq5(TE zi@wwn>i5>G)CQ|Wu;TQj5V@ND9bDQ_tc=g5d~S`xol98V_M(i@g3fJzzot zi|@3m^!YHsE>BI`Ji-)DQw=F#@Hh=_KK+HKX~{y%Qs?DPY;SEq*Kb)> z1Tp@IJhqUu-PvV6j_O|=y5Qk0_p)&n$nA8onmDIjAtJyhMgCB4zbB-BgANIqP%s{x z1t4(&V#JSfl@?<*r3Q35@X=)s7JqY)qYh1P!Nj78KmUV@LsiWW{K#}a(DIrWj5K4N zXpR5&l7~W!bHxdO&vK}b!hQ8>gRtKO(&J9Vn%f(Oc2?&UFEY3sp9mr2UabaY6ap!b|SVJLRv^t^D7d7;+KSrC2(nbhl z$X`+tXS;ePKIPntX@aw8L}CG=Sf-WY2x*=}quYkh%?I~sp`dN)xwbuhl_}=a5z32> zXQG5k?75xbquA(`CJ$`xjT*3T;d=EustuFl3r2a%uND%QmvLbj$qxP4{{PVdMsheHf_TnxU+tVF3bndL5-`PVeH#fe9`WW9OFDgb-2bl1 z*U4wiy%+Vay?$PdbeMufy7miZIA@N(t|-QGAln>;tB>c2MKVUPYtdseG22AZ;O@n$ zFr&qlCH~|J+h4d8Cc@|Co$Ri%-sro6O-W+B1Wuls7U68xWHYo80Joy1mOLab3TKfO z8TY|;c^p4n``6-xmNGR>ugRrID~R3m#ItiMC~Fw4a7aWxi_KREoDe2OxnM4nQphe6 zyFQ{eutmkF@%i(RS3&pRtQe^Oz89p4SJP$rW(3(-ra3V< z3_$Zs4QG{aN?8B?M-xb*HieKAE#P^&t&8pfImp($@M)UHf*go~9EbrR2ydXg6OQ}7 z!Q&BaPyl`#DVNkkRUNJ-bmo_a0n6ibF=7IWDo=N@)4-1ZiZcaXvFCM1px%-~{7hf7 z)=;IWa6WIN(MOWWt>SXgWUpPK(YtT9y+HC2062lkjUzUt0ujVQ>O-vFyz6XDgkx+h z_4GI7W&`2BH# zu7fZUyvCOgAP@ka9BvBLYn_4j#GNiW;C|hXhQe7^EEB4Ilm#OW zOxs}Ywx5*1#+C|GPcf`WF}irfF=vTIR%*$cx%|raDXi=$@<&RkSlH?r9H3U< zC@jt-<4$oQ!6QsYOVt+Zb@-Dl zCt$|XhOp(+X1mUn$c{6IX#rx%hHIQR;3n)o3DDlFKY5%8|g(c0U+gyu*=04sg|tZK-l+b4f{Fj#hYL!$r;X_AW?KKZ7UGeo?d z&uK-n|0fej&Ibh$ryL~{3{DpXL)~yDr(asMfC2&+V58V0@}an2@&3Yj08Fn>JU{-~ z`xU*i2->29I0K~>qCJ!IREL)kYT-1Gy(VKM8mfz>+!m{lw^N*BnlHmYqRMc?*&+wG z2~Bdo7X=>7od@<`Cgb#f^I14&q5b_fY+jXn=A~|9%q9*_fYSif5vrUJ&a+k{t3Ynw(jsx)(8X34) z7&Z?e5Wz@%26+%KIZCEzoi5(GY0uLq^BaUa;dSeg+Y3@&|#mP_f`nRpce(b-0 z#M0}$o=GEGAOp7py>pfEk4bpqWmuwYxNt*;dAVGjy^Wlo_3&VIaY&EEO!aGZv&2qN zewli}>+gI}+kn2<&aO+=dcvF;h=oB54s6B&HtiTnxRDc`!amzX8exXdB47lNp@dCZ z%Lfq103@D$e2C-wOlWnwt;~edO_mK>WcE%<9Da|(9XL>WWHB4<1al+tOl8gIZ9SzW zgix5pZ7~IVG?D4fmu~EUmLQEsmgmgE=i#~RdSmJ0b5!Wtu<0v&b?R`HaP-|II|2^? z1}>sk!OFwGgC18>Vq`yYx{I3R#_FE8`k^Hz9u=c_o^dwo{48qDQ7xG=V0{swSEXMK z!**CWGNLrnIc%JksQY0h0~tJ4*_E%pqNXYljV5{d=K3Yl#k`>sIp5i`|G@k!G(g0<>R~j-@!!M%!+hA2d2DARxEa7RX%fH%~^^$05f5lsD z0slBs1FfSypFu{y!4oM5RM210*w~!;jzoLliFTvJ2S*k7CY~y#(Dg{(EX)psNg=Eh z$t)oX2TA6nlfA^UdtcwN<+^yJBBUMd1AZx0*<2oT?y+LOpmULr$0m?!UvE17@sE|U z`-%u6CUJ@;pc9u-_wad$`hg`&I*#R}-|qn@jE~G7WvJ3Gm#Q=9diP{9U7K4S{U{(M z)f;4#903CX;xH$PHcq)v3JXPnB?&Bkq^`ZGQ;L?P%~+oxN!P`1PVY>%(Qf~*PoM{o z9_4T$hm1DY#hq^76ZqjswaIH0V4f>gt(X#?tqK07ML75}fhy_Z7u#&Ec6|oP8_F)m~Zno9`6kV(Psu{JcYjK}qL4#o1j3y9v~P z>#pP3Pj5J16xI8uUqObVps9cJw`?26UW)djyaX=M2AyGd8<)F5WXw)%vr$loP7sGF zi#RqOmgLv|fniQF>H_bwV^*LD9l&?s^>Vf_7?hI}!Cz%99{4@K5(7`=!4OizNDK!A zj!-X4-qUQ|Ru)2Y_~Ae9zU_q>;;U8f0HPkR?qO>Mh5V%g5?0>+n3MUV=8FDP-OsFT zZHVm+Dbow-u%UaBAsmdVlzqCNf7w&tE{j1GX9Lxki^3{wQ~O^F=% z9nNe2s|3hL%+X`oMZl^3C;@}7QVuhD%>(-#b-KN!7Ovs3#wa5t%dGOsEG4&Hq$!V1 z>=RR+@tk;a{;7RyhM5f8E!jr>uerB3)-R>y&%M3pj#tCb7kAcj`$wG_Dp>a7UK-9j~Vk)**k6mha?-UGw)Ag`o=%wDjWZcD&WdW{h-wHyRT>p%H z>-{eXe@;C-;_CMuJ8s6E7wE3QyX^!+Nl`{EFGX~{l{k@)IocXrML-SwE?TjQ&0xog z??BHwivvKk_nZEto!J#Uo=(-2e*ST{W?32cKng!jpI3(3sxVJ#QQYSDpFHCW+SnlM zN#od{L-}i&@U!R%@fAxgS_+*o;Rmdl#(D?)KnvZGv>dI6Z*k-IxxM3MJ+i zvK45KNvuIH`UVcdJHu82lsF7{9ZVeNNb`{Cl2nXK*^P~5U~<7t9zdXhfjUw+kRvAG zy;KefME~Is1!4Eh1tYL60Wlx(k5u2vMWYD}H5(-|-`CP~y;Xm<5UQvAE8!P(OYAVy zv&+UcZ{0|1(pTE8Qy>TJ$aOn+*S&9k)j3v!gFhhhYU?+<_9=4CnmqNZnvPj4jkw-xTA|-To|1ESP(X?mOHGhdKV3BF znxr+R#7(O?T_+)px1!M#t4rR}Sbk_kf%R1oaO_148-ch_ba`gTmx_B*wl~5`qhncI zt6!akITdD@nv+D)@}U=T=D)=RN&TSxkbRW0Dqtm8<*&t!A)5LC0x96hmjOP+Pz$*H zzBp7TdD=Igx6^XtN6Gz~G|g5M6$=4uaHNZk57K9twp!skpF%QSkXq4qycQFs0NdJE z=k7lk>OYmmzkhprs58wV^ZaaULa^L|_vD_R+?^x>&vD*H1COL{6z7kq;M~?<`TZj$ zAMdweBP14( z`|Yox8bFM|+n8%IIV=pU=$$l4V?^f5^@}92Z_jzDFAX+JcmK--0BJ!12U5$#9^L9B zkwf4q@njYT_$>vS;4B@n7wtW8c+Jhjn?dfoU6M$!+MIp7h!n4Gh)~m=<&l*wA#JLW zrW2g}dK-3cjL_)w{pQrr*%$$$>Ut2>Msw)t_2O419AVj8XaWPiFVEg1h#;$QrSK@( zwzNI?1^zz{`Hno)bOatJvVd997euXLk1iCH1NJF?8#nTt%I1Fqz{>Z@g&eU znZ{{}>I{VFHXL>xE$N(6*T-NQ;Ahd5pEb{YF-(hM1%9SHfB=FK&!_Prnhn9DsZOYb zkya<11aCfEiV`8apUm^LWZawDP5>I^#)32%(5OF0r^tIH!wVd+r17ONgP?25=0a^Z zn-9oR`IWlZqi7vu`UV>P73XHMTa_S(_&iLl`;G9hd~e$zG$R))id`yPrA=6kqr=s; zsZ!-nydO;Pipp$%3;W?tcJKfOQiN@?yBgN-HGhqhMTulNWJ zg#7gbQR?+aH=gIiTC}oyUK=isrIScLR(I(dz!V5Wi~Zk`=}Ml^p}0j&e{%UncJEUr zqC1}_9j~Y1Js2=Q;c5a;Hl42}YzoXO?ig)$@0kCAU5y=#P65 zdIR|p^;Cb=xWdw4DF-c-C=j9!*v3u@J2%qw3BY{_DiENT9w~IF-dr-!v~`<9;DkrR zfwl$~J0EmXZ<3^^dQZ^tr#QhsMP{YT0CU=CL?dQ(=MA*(Ru0Q?!yXZRW% zilN>sJo)y?G>>Yf#MIMZk#In_=tq9`=jF138!q05OV&@t3;M}?2VkOg3`$B;4ZY|=8?n4$XgZ!TOb2Bdu+pT5zQQVD$;6mjMp zV3^l-TlD8AxA-S+o9DR&k+kc5i_3z1{I6F0DT`t3R{7QIPX8QF96y>1e&utjli=mM zYI??uzOE;EjN3pl*rxokTEAOxh{gR)$v-NC1;U($0jj(CE1RXrrf2N)D@Fx7>Jp48 zj22mDdS^XedD@EiVsdn@7BW_0|BXE53BDSr^%nUM)cdw4v4R89YEkk@%*j7H6WU6r zYnG&J!25^8a=7B)219d5ukX;=@(Z(X%LV5gTY#)3#%uKL1g2qvy<>1ax7;)00|F6> zU*UuikAne^Dr6V5Vj{W(I>q?c3#;^J#^Mrgg2`m-L`N&yy!>Q5P+@56yLj)sJk7fN z!~F@wX59iJt5DrcvvH7y>v|N!kF{(=Ojl2g43zA(G@IEJ#NzyW3jPBJ?^U|o3xa?4 zGKxmi?lVObuqb-{MGoga{&??2HukpR@HW!|3G4dW)p$LKgcvJw@jPf{!RDkk>^AHf zTIXQrx`-Wdq9*#4-O<7lxXFAYQEN>1fpWaJsqLZnyB`6IWO3bVwgXNJ^dct{`dy;^ zIc6P|hC>9ojGtfhEOk(^s!3a&9On~VeHY{W#usAp%OgZAsWR%udhc<37zX{QB9$rq z`Xi@4V}0XCp2t5hxp8o-g4t4y=C=f>bF*k?zLf?^wgz}rYu229 z28t2dhmR#i!JpKk@WtkeQ*G}X=*I#95(I8O*eP|9RpvqaKeA(Ww%B zk&n}AFCa6HK}0K9r6fCQ;%7wqi&(m8G0BvjyZId_kK3>)g86^r6^dis8lrwaU-nyeWb%PVT;^>uI*wPRyx3N6)29#fYh?Yrwc z|66;y^x6@4L@Y&vcIT+1(tYpAGUwgatWjFY{vqA1S8K>23SuqctD;-@nbXNq?Frf$ zL9gn5fr{-xH&jZIopq5NSALj$^Xs#`SI*Sd)SFxcRktGAz!v@Y&*QI+P|!mVL{)5h0}AG1-zqBbnM`63Uk56*8g|61|%oPwZ(({ zj9~G-Ae;Q_cK{;Kv4my>y?!q6^s&a)gN#rDNU+ib4n+;YyRFcREI9wNHR+WS&TarL zSw=ccoj{Cz;jJZSEf2c`FY&44-*U^iC<_K-l>tnR)g~u0-&#s;20>=3a+xkGW*x7F zxks0TKHZ6NTB0Oe8Uyh4>*clQb*1j^8j-+8QoPDzD~R|3cT!be#+&B=sQ}xk9wWxB z@yxzIF&Lg9O|wTZ58AxS-su^0{m+(K{bUZ_%!iBdeL6JH>bz8UtjU&++su1RGhB6y zGLdQnrc7+DZS^8;QcCdSh0gee0VecK0;mSf;hRMJ-XgmiE&gPUnv}LRYtn zkII+(e+T25-p$jCbgx0)O`A(`r3a7yk0pK*cRwMzHvvPf_gYFr1TZJ!%$aV7s$VNt z6J)GYfY8`I6~XQlZr6X4p8M;k2K0^Ln{uD0a26`3Tz1pGdTo8lb8~*p;1=EzMH$uF z4-h7bGVZ%B7<{48ZZqz)%;097kXTwHm@$=InQxUIc{B7#&}Rt=tu% zs~YYSJ!G1Y^h5q)bYJvK7t%-{f{Fnk$;snG^qcT}Ab0YQ{lE}KebBpT;Rk5^&7-TO zeTuspT<($hhORooB_+jpb!>$1vCM{%)fJ_$`3ehw;6QNEM=X+~PU=yKXMlT@p5^$$ z3+3FJ8pxX1G0HC}wY7(=aIcfYW?Sw+yGOj?dX4RD6~*Y5DiVHoTwTA3TJ?nM)}Q1TEx%_4yRbzmm6a4 zY8i5G^mT@YogWUK0s3x@%rEZ&1RMbI$bDw_G;Ussv!g2EP?yw4QKBWFp+S*l`^M=D zxPoUhZo!x2M_6_#RWzP-99C%a_XLe6LPN!yu?9wQw050`g$kG%S;2$ti)E%B&ELj# z0dc*j0!$RVxzjve9Fnl$dA`8I>!;PertA?g;n-{F2W551K1Z)SQ5NWnV2CMiCVRq{ zBKpAQN2z$@s!3v7m}bu_sdeFt6%zI3EIqY=Qb@3+usM+S)RdogGVlY7{X9zi591iG z^{!w$Qt>VmT3;6?cgq(_9afOSf1Cd`DzL)uU{?1TvU-0XwHu8EvCPN^z)8_DoDBRn zLd20&&bP=2((8N2?g89G_%x2Ki{cC9wg=C@ zAJk-v56T@uT!4J|YJ@Rr#V>HxrT~?@s2}+fkcsdANOM<$F5N(&^}D>xh&B-@~3hxT^LkK99WFKO7yLy~jk4 zOkVL^tl0k}deN6`JuoD=CI*nmVw}Kc&}VF?n*QDXelXNOUK&|3{?e^971{m%T;0}B zP##}v?)NSLW)u^buyT@IYNkUZ$Nd45l9DXa-jMm?LNaQUK}43@${gS;>_+)V~@IeGz{Ro2cDr>);1zl0OQP>KFI~5aSMyR>*dr z_jxp|-K4nfq8+F@+zsPMGo-C$B$h9+Hb2F`%r^cXMhsW0RL3wCT%OO+}jc_6H#8SL1 zw^oIq&uIEdyL^Y>Ii$<`!hcbFVgZ^6NL8nWq?jAjur9-AY4S|=p;mEO8qTv>Eg8YO z)MM*kCYG$1+nW_bBoDmByh2x3)EO4Q(7Fvj77_Ivj7kwiz69?&G z8bA_+8TJ&qR`UUb`+W%B4Ifg?1pGy8>oyw>Ei4Ht)X4aIZ1({k&Jg6(r)BoW0pn?H z8AtU5d07v!F2!LAB|bWjX!UR^czdsQ-=sl>>WI# zGo5a~@u=T8OzP`tS6ww{-#;$v93XsEsTcS^px9>^A9|3 zOiVYkveVYJ{s9CKj09Q1b6*|6A6uPJnQ*9>QgrE*zJwJt^2hUC0Ff4p-qYzvP)?kq z!CLvFxa{E3n%D2q3Gq#Mb@f*63$%87#>^`a)W0ckLGwb56!Xpx zxbGo36~P#qMs67E0pTo8U^}}NH$AvgTbRzZT=_BuuXfCPX{E~H&F7>xHd1iua`Iq` z?%u@d{xo%d*+f)J*N3h!gJt33x!v8ZktjQe{(S_&LMWZ`z#3yPxl+F;pSTZxrP~Sh(3NUa#R|M}a?~gWo%IPj(!o zlvFq48b3MBe1#8Gq`-L3C$M5+%)cI^z9T72Jk-dna>TOGu+4(0Q!6Ao0jOogKQN4Y zvvsu$L~>Eg^!gQ942c&$v$@rLwiSep6KCFp$!p8TSciWBdEdb;kIyxm{~Bhs zxYbWoTkdq6HIG8}AZHD8OK7wX`uYY{qn-mv7{pgsyg4sTBZy{f@14~kgfmAJ!zs0d z{@e87V~`3IaXs{LTjJ1*d!g5=DcnS9v!_S@&6HrS`GZS^=lzrVmzsQ3XF|W|_+Hku zWxx9;8W%MQ5nz{CwQaI~fSQNoQR&9q%%L%DLd~0C#Q{{xzPfYG+k(XgK~01E0rF(n z1-j2W;Im&#kr@OW)fj(qCeLf%+;YTb|1Q@t171l+1{$Dd9V(h#5Fc0Wr>d#kSgcl# z*xML?1^td$wgVI~w%nS=V5JX3s7<~x0C75jYM?>^FCN1 zT$rJJ0UJ`w$N{Sb>Yp56jyD=D9K)=T9h0l+pF)iB30Ja&Z*z0c7`FqNQXFozb@ z=-hc=8u5=fbJOs!tfzlZGiExuCdaM_g$Db}TKuiv5%8Ss?9xe?Iz(KGWl!{@mXodu z4*wN-qn**Z|7O>4q8tv@EX;9jt`DSepZ-*3pv2=d34W1JJ1>tZS*th9pY&^!I?{29 zPGns>lYr+u4u`QQ={~OD()@-&4zgR z0*SGuCwrSU^e9;TtG|J?U=ujCwvEOy>lrXo%VW>mBx@!dYD$Gd{;XpdapNz$|MA46 z;*ng4QbTZEGW$iXMd{H!2n~6kyr1$3qfXEbONtUr&Gu$OiA;;x`7jdI~SBU!;XxR|ro(NZ_NSq=_r&kj z_M|O|xDub)2kpz?>7837K79}D=EONS5hl^%#yx<%jVB+%QLZ<^{vAZq>s(c>-XvO!IS$2o;!8OywB{Z~9uUm*88q`>D6j{p=H@ zT*QVHHz+x6Ex&gG{57|Ut%etw1IO_`EWENv5$kd=d-mb`PgtBp)9eBK*bX8cM}uBH zEDX_gg54AN+Uqj?j zBWJ$jT(oL)UzH7g7mBQ6~^@ln^)0jbQVJs>{Pg|CywWS~ALQVVop5 zcaOV@H_@=!v)iWOm%tuKyA@ueBNlD$^mO#Eg4W*@IQ~**t>$&2IL*4&Pam>}5|&I{ z#(`8aC^@;ePsQ=&#)sDl{XdH=Fi)tnEh31lTXnF8P+T$u8jKV%RWW82UBz+oSBm8F;$i4(xZ9YD z4VZ{&awVRp`+U*5R`^?OAvF;v)8-c0>PG;G>^KBFM!y9<$K?lv>z-cgK7c?109BN* zA@z*xm&Kr{Y&ic{7Ds2I{6?zvHC7DV7L~+YTr0w9(RRG)Tqya{K=t4uCQ0eNGZkIrPhihHgiU&{8UMZ3c z_4-~it^@1awT+nlI}1mqJ%t%`Z;0Of^>&2gC_R9H2Qb(ydnhRO z8>~O??Gryrt+28+!%b3iDCLlPne9Tt1`-e}L9A`_m^8n&ya4D47a9N3+_&BZ*Kgb?-v@d&Z<(Mlw+}$c2a`IZ*_Ang9JT@Se0#GYOyW)POzQ zXI>&cqIwniShS=59W}UwqkFZAlq|9+8~n1gzk6ez!b+1#nf)V)65cCGsW%?Z^aLDQ%J(k={e6ALnjlJAe%4r zbE+ea;ygA)sU)2|xb?>-Awbo`Wq1$2Xtz|&NoDh(?7yM)b3u!om9 z6<6cm@xP^rF(I;Tc9^l4Jql~nitUVNo4{MtMF2)TojzP}d-k&0x8?I*^Mw%#@U?td z7G0^e=6G8LSr7YQHY6f4yLw_#mbj08+ZFdrdI1zYr@& z)e!JU2dvyR4N2l>N;Y$9s3mhP46={dUOk`Y^C5MO^~& zf-IF7qS+a--;T@$HL?M1oZT&pu|e67N)OBdDlWQg z6@~Ti^!l+1o5IvCR?(|ldGu;u8o zP9GbI#mgU6zTc*$g+uYm5YAgKA>*c@vVAkV*2&r#*jsxEwT)scqd#;s)_+)c1+{#~@G?|yatj|=lZ31|%EcH&l#>y^CgedCg4zEvCRgS?> zrhzhbkHZ3yd}yy8bM)Or;j#WMg7 z`9^0uJoo)M2CR;jrcS_eP-79OpTh-|Xgd;?FU+@pg#4_bAq(lqq7{C4S6S zNw7>0A=Z>Qt`WF-wdKI}lk1EgwI10e?|?Up`kj`6Wi8LtJ!ct!ZxqFpYYZ z3Seqf3ctCVwEfF8puC)=UmN-x+?eo{OBHeVYMGB~Nv6XSE2gnmFdZBFno)6C~jO%9}#y8yDh6Krbb!~Ue z5Jb}xGHUfhpD?3s&OM$JL{s1MZcgvbIyDQSTf&}cXqr|C4m*J;X~f;GvjVeZW?P0BN=4M) zc{_S$zt{r~@O&#SZo!4<>|dsqwWeA)sFML4r{CUv&-SexS!WsHxj%I1K(4$Zf~9j* z1Ez%+C@5f4)pqAPArB|NbT&8a< zdf$z9Ssl*zPO`E-<>Re6;oK%+IE~2gCRDdFxNBBZlfiuDOPQHF zIqae1fNsDm*9LN?YTeel0 z{<@WmbD?KG^D|FD^52#2QFG^n?+%qPJHKwT9pkgzz`~A(i*Qj4<;<)0qPfr%%;cYR zaqJr&*3ci8waq*F%X+?qWPt-??5x&R;s)r)XDhfieC+{dE1g|D)7!O-p4$1fs(jBOAp$dRjSE&RiBjt|tnT#No*cr9 z?s~^&Q<1)PH6gT0&uzDRj67^pbaXVnI^Ww+N-UAcIL7aCe9&Co`@6`v{Lh6Gc!YZYIRX|qQ-0|6XaN98-# z;zg?IR@_Z!a7baN6Sn9iIUJNalSx5Ka}~?~m9~*@X;g3B!*JdYe_e&XOj##=hG9 zq8aeQ7_9X#AfGq8Lie`4_Hj!>%T+ z5Rt{Oqg0kL>(m#f?mFj#L>4NW^XGie1QCBrJtM%$d5g5&=ZJABEU;Yr za!va@1bglv`;08}cpT;Lq}hhtmYvCN)nVs-NiGL{!vBgwQ0^=`zsuC><3~{C?wTo{ zPB{i>;5*Ti5kzqE3YOk~1BmOBf9f#7O&;2o_sMpf+Djy0YdmF`uh#uA)*kXK z6_eeh{VG)n)wav{APF=8Qq!D!HZ*S@+_zU5qznLU$tufajAC`M18OXiiDHC?TC>f% zIC3O$*2?|3OMEF%mCM}CDU|HM+@+b!k^jUuJN@Xc*2=tZN$qAVroyv*L`n{`>L3J< z`M~VGnaI)!GF7xIHazbAXe|{B*)P<@;t%lKNpdRsriOonTP#IQg?}1^&}V*FtX6k{ z{-6T9X3}2xNUKrp-roR8UeDdKlCq zbC!9xkLNXOyAC`si5p>p_4 z7xPbAUxiMHQCjvbJ{}Q~$lQN_@;AXK&F(9pdgh3PlyU_q_7WcQ2qCQQNWTZvDKfV2 z)YO+{1_$R<%nB(hO9JWQEAT)vzoG$Bh4KdWMtzGJhnO| zE8I)|23|(Yd#32Q*`*G_L+9;zW~eVQ{-+X`#a9}@z<3;TuiK{P2)B=ksyMV0*;0wM zr9u|F29-Ll^A8}9z({HL*bqZ6>`z*u{*`af^Air-YXW!lb5=lTzG6G(RD$x401py@ zR2?Q`eQgx9#EIG}IZf;J$uH!M!j_om8V}oVd!x@bJaOP1S|+&{-+tmMWL-1}qu9_; zoE$r;9`;(1o(`j+Z@CttPX%e+!Y)677CBi_xiW6#1sua2mRLsgd8^9FslzTJw%?Sr zemd@?X)$;m5abG`$*@Gjxo+aPD;F%54Xj$@c+6Q`SD%yeuxKJtEN-`}6`e&Y3hp4U^8ugzgC&8}5% zTZgx6kWgk`?bt;oB6>Oy#Tq1BPejVqQ@g!~&*+yr7A+08ihmhMSTyB>^uhrxu<1xd zqzNwMF!?vmveRMY;LR}hXqTw*#d4t6Pa+LZ6~LH@!if_;e&KJtNV_~#^zi;YwWQCs zxYvBWQy?8UjNNeNXPBu7S$G%AT)te%~?2cbfLS;X#V=a@s*J=Rf$N%`H~wkfNz{3b~ANmCfOq4+u}@bz2uzT1!WGfa;PampvNxpxe+faW$6Ko;o)Qlen1@Kd0N|!nFw_CE8rXxwH<-rxatCv1d z%jvVz>50_W5Th@s)YgwzSBQ0&|A=K_W%8|%cYG^z<22FOG ztZn%@MDmM~gKYi%eHKmQKnI7_0jl&3W&5@Hfhu7ZkUPWr&N)S>Yz^a;J1$N0cv|vj zR0{ZG%dma4ITfeqKS~=3f3}nfXdCLRrdg)?K7b0kJqW# zXNen#@D$kP!7!Elja_Ha$+u_L!>8|TS>GQlVnUE#gihHk;xdvGCOMhZto-$$&C23_ zl}egZdbiPijo0`Mvtv3b4jX>B3z>f9c_?E*hi9~cTn%^JS0n5HUe#RN>zOjqvC7S} z=wW`iXkt?GK9IDI;xhHO2w1Let$X{;!0eDieaerMv$57dvG%v?RDgFkgf)A zw%(L|EyKApGjrS~qm+wB+^$FWoH98{fz-_}37j<|&7)9-#I7#W#`^*PMHbyXR}C*F zmx}$89=#6#+=s<~U>dG1R7#JaZk*2ADui+{uGnS8mGt|OKNLuJnj*)2df7pexmGJ5 z=Vq?4RL{-w{g4%@9ld$&nsLws&212 z!_IiRIc1EPey3j_)smlKNY}Y__$lherwwLwlU4x1!w`zGyy$=sF$Of`$h-n2;viK8 zqsBzWEfe&{rPz)dWu7*6hj%74d_ZAK*Zu6+zt$zQ$7m_LeNm2t)8H2OlXXhEC`m4J z&`RF^+hncKk;bg8`;YA$vkMmt1e2^L>^xU*Ts6P*tH>{E#-ornv?cK~VhqGqj>cmU zTeDzzD`XvPxNJNN0Vf<^rkobRWI7YH+Q7cVzoVw)3aUS{M2i|A64ZEw>s1eXC4J$i zzFmP)htVS-W3-53A@5L_AL=61W^Y=#CRY!jhmIeOf3GjyNIn)L5L&balU9$nHNq>Y zjeE2nIi9|Vh_568QV2;&H+SOQZI71>pw<=Pk`GELF!6ywUAYyuVh;Cf(17%MNaj)7qJ{JP1V`Z+khpO$&MBCai^4Y7O zN6d3F@!6OPi1ycK9vrX#{`p5Kd(~!xU?5IUd%&_zC{&ly-uhqr>0Xv}qF%l`9fVl- zXEU^|oHfU(DJ;~=_>+@zqJtQjxPQ7n{Ks7>;z_$*+a zlsesYorknAEf?-X_wjW*wNxFdCeci0JAjZ%S?y?mf|9>t%fXfZx!v7eaM&g&)&M+Z zBam}kV#O`BApWSE&;Rm$9eXv&XAA`*HBeIXOKWB1EDOc$5o_8~RFe#XMe=dZCZ@y34psZ1PQo<;N0O0+I9vTpo(05+MR#iGOE_HL{Z(O}T_C{R@ zO`n~(uAGK{<-%~6fc8;>A6vC)XU?T^pR=}I51_*D7C0g1PK%ASSHeq<`$lvMX#h*db81RYI};Gl>E*o> zina){|K~zTcqhj>^}^vN0h zx0r(F(bN(quBSmQ?=Tme^G8b zs%S$CU>6tN$eN0_=eJcj)P(Dgoj(;Bsd1}hCM(JN`^zX0aMrPXUN`;-1UP%e50g%S zoB;o*4kY}6a_WYDt-6<82p0mL;)Bc<8^6-E;L{275-Xd)l51%Xjd@8Dz7Te0A%FS6 zG|f1Mj(Ke^a52;of@ zuWIIzfH_Etf`3+!BApG>)AeMd=o}QQ^h&tKF1EW2v19C)=yBcS6J=j(Ud<6AA9h8= zKTNo1sCu+tX{_cc3n?18ke_zr%lo02zAOg-pijGd3VZ?eSz#TiiCa&GO`;S~pC8aW zIwq_=4}NYZ&0D2X(*!+Dba^s~HXy(JX}vJca12t8$&RU^Z)UN!vC^I>*-&r^9f|SC zv-J>$<1LobHVEoileCt@s*;7+l?EBRP91#%>&rfpypV_ap%8ppoqGW~`)*o)f2D8D zbS^7o2<>ptI+b6jX<(q<^M{BQZoK=HRVzEOyDFl9(${^j^BB>IB`)rhCgv=gJ%l^MtbBJ_c# zYa&NGb~wcGt}5g@Q+ljoUeC`2FY>SkX~ks2=zH&E7obW{JGL1uqc8m9QnV` z{XN#*1TVa3o^sSq|5dw|Qp$;rZ=ou_A@vJMiZjLM;xs=wZi37l0WV_M+&GA6=qKT` z5YWT%KAa+ipk?(vxf}+nd5bcnK)4kCjXYAseh!}%>cFk{;)N2Y0+(qYhJT~oerBaAMKITRimR+L57k6uE8~8y?hZ4c!POWFd9`TeuFykuV`?5-r z%dU63Ls-0y+9E;7dteq{@0THFA^Id zL9GY+LU@MQE%^vWlVw@snP%+ETPQ#L=cl;?6>Ex^E>MAV5(MNGaZ)Sgz9#E)Oj2Hvs49xVXz;}w-4=q)!1aJmM^T_zsuMVA`m2I`;(D5a&_2^7@QE&RSQp z`@P#E#o3}t0aY|$v;q9vA5hO|y%+dj0C~n%U=IZE_uL#e@ zuN%5u1=Od7xnyTLa(~HX^_1~j8(n9yG>OL@E9dyas!o(4I?-c*F^h%H?8D%b`{=zl zohQkSZVFFHnPV;l^3r`zvGLRy=u3Rp4vgH}MqiWC!a= zcKWxUl-}kRlGVOl^lsX!TFwkwTDI>7BBPsdKvw^xP{}JGsu2nDgvYx{U^l#&!Dk_$ zA>p|tAc8WD+9Up5p`3UwerNq%{8UUgbjff``R8N5=?v5c;l84NK=XkDdLZ4%%)-Mof? z)_S4yo5Ex?L@0Z3i_;~+`{K}|fj1XA^pWQskam?NRP5hUI?_L(a-+XA6q{u^ju*L{ zFQBmhs^1>AvhSj;F(WCF5XWSYm2!a{v;1zEE33OQ65yAowmqYDD)Cgq<-JF%LB`OS zjB7J?NL_ce6Xe_6+1YTbqIE- zu#wrIk#Hco6dTanQ`3X7c;zgkGdQwVL<>hv$)Eyja=>-*H7n1lB4W87a-n=bKtNK@xCJV=7 zouvm2YnA>g`vuFyBc?!0lOP~qoN3YlO#9|q)U`J>Y3{XOy-c) z1HYddb|m4>Vy6sDeR8uIA6Y0WoVYmV*gwC?k>w3p?Qu|k$0G1mT{>3X^~wX@5!A<} zdRrSj0R=8rG6{)0j{%NMk_+$BM!wN#B)sVt;0XE^A60zokDW>3JUK`?`p+&zii8V2 zM1ZMA?P_aS^odDC5oukad4>ls2oSK=UW~y=-%Yv3pqZ z&HIk9%Z&%&sL;ngc(gk}DsFun`5c}r&UxzBI{WH^4rNcrvh491(k`Py8^H1AkNz9L zn{;0!?%~g2UdE#90p0he!ZR9~ByJ6gmUH$_Su@#@BPgRc@m41OdyQ>wSDH4?>7x6> zhc=~zd5d$`vUP>Dd55aPu`G&(i#j)|7u9ercZa27)_$)l>lO!?mAW9;Ch&y@) z;rA;bI54uM!#(DQ&Gt)7QD&R)GOr&qY5PTz^ATTEoOiZ;{R)t0+m^MXpM`+11SfMxDuNhhV-uZ-@_vI6r@K(#)3YaGU1Eo5aa1#|RjUG!8!xIUx? z24WtX>Bl|C)$@UFN=#sqf{QxyaKR=xb67{fx8ip{GDWZ>WpLJx8C+jE8Ic;N`;nky zf1w&{oM%!OG12FuTcZyjuYzXcKjt2a#!=T?lr!tZkq|Q2F;HxOy)n?cJC<)Zbv!%P z*H*2TtNn3OopD)o1O`LB^R07-Pfq0ZHzxgT(k`;!%il4PJ+j>tEuYlz+YO*lkH8QU1{Xo}+iO;qdp|xSP4N-gcOe#lz(? z_2SN|)kszH&m#u`cRSEnDcQqluLb<}VYFK(Q2mt2!B4k5AaiSsdix{gTvHBB0C|PX zTcdU3cUew4#jsAf`?E=8zwUWmajXLA^(Ii!tNPKTB-v#!&keeA-e`de( zs6KB@@^`t>u+3|*E`?qh=8TSm@xT&ea@y&Y)ax5_Q&W=`ZarbpEkx_=vSrFp%F^;% zj}5Y#^K0WgQ}$%EbUgE#BwjJzeiZwZI45jrK831|d5$BUgxXgf#$nGwz(>MuVR}x~ z%8(HmZY?I$tdX+pes&EMJut-1UzgtD+a!s#VH;r(n?*JJu^v#HlFe0;>>JtO;tSr? zU!Cm^P%T!EBG0XC<#F`XM?ZaC=37D9+>BmYlFN^~@&^Nz4%=%cBHK7+#IHknUXGF6 zSyGgTfRzAxwAoMp%>$!(8e(C#VaurXx?*bZqvVgD#Jg3EW1q|!&#Qz~`~ysXm>nw^ ztUr=)cec4T*5qr4XVkJ6oY+iGDw+jMrZi60NiK@$UF~V8>}76cz{Dt~R0@6#vwdfb z91yX3IFbD9blKCRK#J;*`P;|L6@e0!PYQ-p%lObisCjcgDFOe^vk-8Q@G6UGLH#;x z^VsFEObK;?M2%Lxu;54nS?W6A7}*{jR;K=Yr~WZQ#9XdMk1ZQ9I5V{1O7}fJ+-|^ftkug0DWPf!IyO_jaGjw-IcnAea=0O44+jDw zS=4)Gb%DYiY%-UX7;l9&F&K%=5ZO;H^IC@a06jV%5P3SWClWEv^^Z8NB|wDQUfVz4 zltZe3ko}VVX{ydUD+-=wmCOw!TV5uTY{hCVHrToixtQtT)&{i2QRVW=M>GmqE@_dZx~%jC8)y z<+U3y&J zuxe&Q0L!x7`}YAo^8zGOS>I&ARnvM!i822E4)y|UxlS(UM}?HhQ1YgWY-XPdZ(XESuM*dQSDqSL(=v zbGjhuHFS8u7@XKF?fCBE_r;c9T~b=K)1%OKz-}hvxM@AxrD8S_3kz$f46Z>@l*RN z_o*;0ozG$`Q2KF0eSNmX-Qdo}MBT-whVw;QRhqGRj|20Cnk+w`%;gqbT@<$~5kuxf zY1sM9-L5;VrMsc9afCwvQ!MqO zJc^zw)=!aBwC?)ded|Fs%!P?nzEcYRboTx`<)Gthd)i{nT8n1d#=Y;o%0E-&IG0A} znO%{P@=!ZRm~Cm4@`&G{F!a0;QBSU{z#O=GUq!@7SayKQkI62hjqdW@%9SQfbkRH^gVYT^|0aBIJ z@U!d2_}Apn z{USv&Pg^CFpZ{#>oVgP|^Cv(zhef<`jLvoC{iEffh)ggRhdu;tuAzpPu1Dh4({?9?mYyhIH65gQWKnr_C?7jrK>01^~AS3 zHH;o?{_PzG)hr`{+9dQc@$p#HfOP~P?B9&vohyX*Zw3q@1iuYhgbs~c_1#zmT69=4 zIMfY=v#Rr*E1UfE<;y4^8s-i=!t84EyO_|!$6M<}jn7-lTqooWOig1JFBX8=t^Z>mbNJieQq1ha5(%T696~6 zrOED=m3*Dp$9kl!m>3_prVmY&Wo1l#tDG-LpXhECx{s?I-k260L0{6G^;#v9x_Jm# zY&?QKY>XH@2ut?>WASh@b}4o*#pHjvWVXwENxyxqPK zFbd!F85ct?>9Asc_hgzp#vDCe-8J6dw;#lrmS)>4vS%wOLZ_1bJzcZKTCf1rdv>9k z)`9KosWlrLJv^le_IjfSgYiz(S_cV+;u?@P6I=tzme~$eYYI28V5;B%z*GNdScaU? z(dXiX6A(P?Une{$s*U`Ownyh|hE>C^nVB_2gS`~IS(^jK@D)^1NVC-4Hp~QSHox#X zCnG^&J{Fd-H`IdvB3=BFqn?w){zjP&(^Y$c2=ES2K7zzD6z>#2ENsGwV02N2Dbsx# zJ>SS?rXhn^9*EM7Q*E|DvW;yJza<7loS;2S6pjO-Kv;suc8|a>#P9Ii*iY*?tfB7+ zcJ$CUeFQm6DKGAipQ(uXo+B`Y9t@e`Aw*IWt7vY+z2zHHChkmM!0hX04ga{6-k@<`rmOqq~ zVh_+KN^BV`2OXJ>I<>$@ET;OJ9HQ07O0aO)O1_+zFT-J9>&{M~!wNm(-g#M8pV7vB zuv|fv*10N%KK!Lsx(p-|l;uRQN&~HRi<{iD8_(xN9n0w27LgDbn#@^1M z%ZDOAQ!lLTJr|7osViY6o?vH=zmrZ>{2Xdhee0SJ@b!n=zsnXaY`xIos;JLcVZt}? zn$I0^bZOAVWZ+BxQ-q6u4)3>m76O7!FeybSwZW+q{0mkEY{=)V;Us6#0hu|qwI@0$ za4{?p+EVBfThvu+6PC;4h~QdL*Nrlg-yKZ0e}0_HvX;oyNw#%nt1{rzni;>#eXrjt zd=|2pUT!=sKpZ{UWN{ol5Ducbl?w+#2h404MG%#%}TmmSiV0pv7S>x>P zK$J8!kQ1GKd^P9hkR@kl#Iq0(dp{*gsSy}gJKu)*?SK&D)x(*e*iqPv3iq|X;a`NC zGP<%#e3_Jtqw^g_z6r|tAv(8qohhzi{rd>v?lJ-IG-9d zDrlrd?0BV$LVj2o-pl$2Dsj=UEK~|M)!(^5x`P^hCKUxZ78&Kzm|C;^LgOmRfsJPd z-o4)J;F)MO|6sjqhV`(g&CY`L@~(QS7<=OTrz$>axFjD0U_Np583U#J{1gFj5e*`L zQT5mvMR&TQ-1_+MCY+yzfD?{wYxnQBo9liK{wfFZzR)wDnr6|dUoHL2m2B;hmg&_l zzX>zb?%?Zs#ckX=j_mMh#+WEdR)$_7Mu`fy(Nm7>QOc<2lo=9Hf~0i%J~f`~>!8vI zinWScyI`tt>^h@iym}l`&I@(ojV)6GuEq~4t%Ch%V7vv+Rkf-TobpiucC?McR}T;v z?D{(2T#SVa-G#mo-AU-f9NXri+AN*{pbqpkLCq}eX%VjPLKPYy%T?7ypd4!{#KDcVmPUOoSI^i!?B5Wii|{BG$QRIR>ns=aGIz$ZsF@mpF=#7g4X z&d{f5D4DUdD>ruoeddvck==H`43vZz6P2;3LKHu4S)&S{@2J1qzMXAXG zMRBsCKM7P^T8D~E^vH8QOkGOxH|)dVQUV+qAJ&H7*mK4WGo8bnRE6i{C2ki7j~1Pi zP})}!Ec&xjQIK#R5ot}E2HSMmuF$7sLEa!EE5CjcDuw@=50qUJB?Y2hq|iEOgcmVL z&O)T*F>(((Eq;CiA8qzMJ>>~;82QhQGlzG~jL7FEChj>Ej(--H9N}9e*z(t}TJBlu zzJ#wDHBN*qbO1JxJHlN5s={eS^RR7F9drx$bwXmW{QE zRu`&Ub7X;2)j`3elN4^!Dw}t4k&gl!M{k?fKD)1-YBAo{GOLZ7h#vU^q%!Zy@+N>r zzCwS}V)!wH1|^Sa_TXMa7$`HZ@v(9-ks=h27i50bO3q2=Yw&SnkXRohQk&ObnaLz@ ztDAL84~w3KfY@z(TmJlU9UclG$|yjHDQZO8x^h-EUEg>_>HCzl-t-crIYAj*3lANW z^V$&jqS3kBR4(D>()NCBA$yuV<}A*S4nvW1!$6d4np?f6(&Dx|i{I15@QYD}xv|B~ z^nL7cF22#M%Dj7^DeEB>_19#ODkDjP{{sKJq^|Gzxrk*{I94}FT^WAq;Fk4S)VIsC z_@f*?CAQTfzlb-EZO7qW8(h_0lR}whuv7a0u)%PvlR)R<%g#7yXDIYUL3_lzm5IDD z(0P^2=V4*IUg`ug7t^H*-Lq~BAKg}?`t-rktnk18%DtMwE`;1bxw6T|r8&HNkx<^> z*+^Lb78+n6VedLngBmfB*9C2bs(^mW@$XOL(U)qtsYIOFQLM1e5TlAUhQeK+ycjJ& zaIKAxi2g?unf(3%#n6W+J*3Mg(`x>vgOKY5K;EEIBGOvDAB^J78_XfU*VwC7w$pXG)ft< zN_Hn&)0O^y9l9KKw7M15*=1$w(WxdIBxGuurn2SKYO0Xcjyku{g&Q-cCHZA~=ivG# z(F(R$@w_3)O}7o6mUNGX(1>wo3}XLvS0Gr|S2mcH9=AfWK9`9oNg+*Mh~d324qL5b z?YFCEOCUtT_4?-yPD?c92={&rk?|BU6&r~Up)1;4lhWL}Gpl?*0`B=b)xL_iX~%~x ztyIJ7Cd)7P!rt41X;II^wD-}-CCJ%-$&{kXryf6EA4xX2=v&o*nQ66+ z@hB&$AiRDH%}C==fngGtoEW7USs+BT=>4L(N5BnytQHZvpSibVxY#wnMJ0)MJ2};< z?!7q_Y<*dojDey%$?3$)bkHV{y;9H2wXLi^dnKJ1M#2$2(bt#o>g%0!&i5mfF7Us? zJYu7**KcZ2jrKMaQIkfrnZ6>VJ=p5HP)}$7yJ*li<&?b zz=SK1&M!jz!c2ov8eQ>^F@yN0RrzZbCxDQewtC8yJi~(xWQ&I7Ny`n?cXKd`s32$$ zzedvN+@?lE^rf|eHjwgo>JBiEomsj z@+Nm@Kd$?Kv&SVSk|a-Er}vakld6){d_?TKoe;L`jCfl`4nhO)BKo8ROHQX`Ovt_K zQ}N^3P1R&@wtV>!kNa#xDEgUzW^A}wvo3~wfSX&(u%ZSBSv`)xEEdDJ(MAyQvt?t2 z<5HK?g9^M##|0~d%991ZcwzK_TSq;hg zh_BM!zCB>P)@zF{V0 z8tjz1C@%K9N}_W9GG@<U-&zM8S!4F7c969zuJ4!T;N^fT10oV627>hAE> z6I({BW>>a0O?!QU5} z>#j+>NeR{*PB24j&20UR4*#Go)%k_qNILFlSDH#>=Afx}%(De8)&b*1hH_H>e(R_m zms&C4InXM*ufhc^>7qmLEQu?zN=6&hRkH>1>iPDx;HP}4snR1Wa{JfKiiLy|f(Xt9 zH4ew<5mjGYp+?JGz0Wf*TgqS>>$|OH$-_N%9$_Bvv*|^u{lh@)GkYxOTyyv3Rv`lt zorQuEGl?o=Z-Dc$VXZ-`O4mUi%U#H3p279QxD5Nf4XDRgbYCh%^pWEoA^GohCrVq1 zxw^%vcWsJ#=o>FY=|EFew2FH5$g6<{mL}i~S(sqND$5FXW55P6l$e;_l>I6bwLFg?=b6L2)7{D zP@qP$(8Nps0aIRQzivlKVF1{YV1>tkT$RYw)`VGCSki#zHqV~=0tp9kf(<00ME~Qf z4I~p+!VTfwubCn~{hkpUCr-uBa#c4zz$pVui2TM|fzyNxAkSh=!w;67kYVr$-M;4 z%)<_^Tn^V3e2kY}|NE1c!>)gQ4u5`6|yEOra{}+}f!TEIz z`q|r?&EKb0bxw*AXhQ`E8m!S(Nx=4Amj}{eBb60797r2P|C z;1FtW`c{F7#d)>5xM|)1Qui8~XXi34+3UIO zGMk+eE9pp88X_*(_~jSGF*Q-)5ga||rR zXT8Z)92t!j!iSzyjYjhU1|0OHKvXwCud6(G%imA8sp--7}5Zk)UPw$gH zL4C{+rp;**RL!3kG-emz$f;$O;C^cX-%MK@`foCb6%X>?Kg)i0Z(2}|4%^6E1iuJ` ztaK=6t#=?`m}?_GR^E1N?eI?1+w>+i6B<~ELZwIGBtCmdUDQ})u6JY)gDcwFUlck= zv-W2+ikuy+TO?_wc(8`*H!<>~oh}_x+Hy-<&ML>)E0QJ#2I%tsI5~A)HxhekPU5RB zR*Sm5)H4zv#^K-I7pAJ4wdc~Oxy&n|UWz`NonhBn5Y1n8Lu1Mh?fBM8GeCDl9Fu75W5h^PX^Z zq6-WpV8l1%vtA)SB2fNj()B3fEgU|+00K6Hgd8;7@KuBL`saW~(9JnVGD%K%%iZh{{# z`2?G`oh8b#FK$-w($!&MQ+}Yb8u?7}PFdQhDs%X~nfZzJLaMgD7)Ni;oa~@ova(b{ zj|Pw^Yb!blJYKUd!3aeXh@pee_hu~X^!yI}*Y=2ugiC=%3qmxhw6-xoVsM2}iTpS0 z7++T>!dw>=?5G2!5q#~bW~<+7cb>gs@YHC`=at6LvMi^dX@D-nO9RK(;jg6 z*YPcQb{DRhXP2{Ws>5rM`#Tq9W~{#yy$FHorRCtLC7{6c_6qBJa9DVO4Rv0M1$eWebeP8^fh!w-uxIVQpsxrt zGwwHb$}x3Qq5m7#hZ%7f!_*WA7mWl)p~JNeg6#NG~5 zJ@1I)c@b}%ZWwR&uPD2T3E`Qph!&PlUWs#}AWoJFn(g{_eB<>w=QRY^A*&@+wGM*vpFk`HsP-h{=)*;csyW+RJA)wS&m*K4AtS(P<M=2LO>9ouudwLQ6R(#J9X^CPP63jh zx|%R@4tpXTK6hWf3va(~dXk4h;kgVe%$JCRHxpR5H*^q0|w zgImGkWI$WCwWS6lIQ)L%?rQ>HXKIyP9lbJ+a`!nr=Fsx31{8Qq;s$)dV8;4CrDB7& zsX?sjhgEHiLa`aYop^P>KTdYW5K3eS<5fG(snxFM`Mu=%(=GJi;{2=iTnUa?lKH47 z%e=%uZ-U40+9uh3WS7pq*{nwikJk8aeoxpB_~U6l;;_oaD%`x2nKdp`kEFdrUo5%T2!41GE4LLbm=3xNS9_ z!J5wcRG|?!6zRs9#9LZ#a=x%Y%4eYXq(7%lGV_2 zHiX_UE__af=;RCQJ8Y|rCIuBb&i6ENZizV;`0L&KuqbVHqu*=*d;>5`8~|u9!1i(G ze7pBfpV&A$yzOQ$_{^Q@z84=O%5QcO&K(>dW>k&b*%bwhqcN4;b>s(?3zgesB!SED z)!?vFF>oc&q3gx4k;Qr#N%zzG2Xk{t1&!F3QP1Nm+lqAcS^q%x6%tNvB`t{6tF#!A z!hQla#FDpyek1MY{Vg7nx(9N_=J8)^v%HVT?wfw3eayboQoV(zRcwR$dNh}F-#(&x z)&>>XD!vs{Yj69tS7Z017d};t1-}rtg5I8X3u_Dsi8;tq;_(7ir>uN9Jkj{y5OL!O zBH%V+XE5HN((YxuQ^xI_KNwpfKPNn2=)ZH1&#%gBtnePg`ry^)4*AP>J&P2GG9QCD zHN_>nOfI%rO}43+d3AbUAFQ0Ad;KIyrESq$&Cge{#QI)R4(LYkO%mk~stqJ9-(cA# zykU?985RBSb?FTG3Ol~Ht0~qf+IvdWD^ds=I%9r|m-(+R&q^f@$6hR@uR$`kYC#aT zh#2b9C0*nGabJk0U8u&EXWopO#`)can>_t#W1^uyVD9^AFwgsg@V@)d#6?>>IsiK% zR5bfX(u5FetAi3}bdoStwj-lkT6^p5$Iu5t`Y{rZeVR^)UTYTos(FcaqN50DS#Ob; zRuIvM1;4v!=wa_@a83t^yI)iS>89yd?F8jk=f&v>R@0V!TA5ONYq?|L>Wh^{^|`G% zV)RH0y&JvoT$Zq7fHpKolNegIfszC!xVCVI*8XKYdG=KFaGZ$zXQkE-KPxrqQ47~> zZ_Q;txUaqfdHUD#S-2CIagN3n;y=4@SPtW#dh}3Ll~0+^HcY<0941-`bfAn@V)Qv& zdtm$Vq%|?IwSQaOBx+7%rzT{n5vjTpiuq%llc!*jyO?@F6$2%5ozo4#>_k#f3)qQJ z_(GUEU-~7&i2c|Pd1ih0+;p(V{Z!h99u@`?yMs<3qtH3$ znrkccinoyJ9zi;4AKM*svJ*BI!?lD}17zXzgg*Rut(F%s13PG!a5?-v(AvfP7 zun;TiQ*3K5DW7mPx025x>jx^Pk}P|OGlHhcT83%wKX_)Y0c;-i{9ML^+H zb$M5-0Br`)-s9=1Z@%upgEOW}VsT;3qJh7xwJ^u;kEo7rMq2zUoFOwrD+wNnP|J_f zReC1KMB6f-Rv=EJ|IZwThqSw)r-!a*PbCb;o+Nl?;kV1dHn30e)Q^->@VhSfVW<+^ zCBJkGzw(2l^=Q3w`;?UD1GR+b?hK8fCCZF`cjKvx@I}xfK%>8Zd(K(knwU;kdJnG< zgKvuW=La`OuXe?nz7o^Z(Q9u|=-n!%|?N9bkxfkamb@IHMcDKu4b zfvovk)af7TE0%Yy9F%_M8}|(`M=huu35^cg+L~;-x@!tn9Y0V0V0oGW589e;Py26u z4j1O^{$;4_6yd6+O%-J$`yn|0JQWH1Z!RrDsa7SO6+*lT5~>!W-ckW-fH`pxG3&!n zS_3)wgy*^$%*+rLcVjX$ z-6bwM$!aMt>z$5XMyX8m^G({PBfpLI71bZ~EBKv$`~aQ^l$Wv!fY%n%e7rT3C6F4i zmyf?;7Ky-~k6o|}I2@im8;g-LdFdmX zMi&73&k@~79aYQ~MFixgG5pD%sOY`#1u9Z)ClQoK$a7y6=&^s_ps zCLj9J;&rREl#9-jO_FBPu?L5VU~0P>m& zvhA!6bEKZ!cpA3V8Phz!2O9}%#(=hZTYkG-upAbZER-M}{MR7lg}w7mZA0HpMT7yM z^Clrl3?d4o!(l`IjfJKjeL@^;gVqAlCD1d2a6L-M$xmT0TI%aoB(N&36_BvLk+rh= zQj+;js9$-Vsa>hTpA0z@&%dhSlH{e2n@^`(#OgJcMKh260U8Ay{?zwm2mL&T-ch+) zP;pFMrZL5w^}^a@*mggkP@+$M`f(b*+_$y$1aB%9)2k%NatJZ~iuz^!=kguI@)UFD zkX?m1GEx+gaGJisd^S?V(PzjaC5TFcExVin@g9l1pgd-P3c-n$$V6?rm?7<3<*so9sKdz4b=i~Ry~acb`xq3SjG+f#ufhI z5gopr(#b`$=!DwV)U9_L(bwgbd{W${i85Tap@2w1>Hi}#{8?7Yw0>G}HCK(Xc0~T9 z1tSovd{Me_h;Ro)B1ROho{A{yvbt?Y2ryh-0(8GbUSGn}7z1v&l zk)Pc0N;j4jEgqC2vWH7~)r35K{oU zlW>LcY&{(vp57Qh%-tIta3po3DH?Ob?%vJkavuuDYt;Y47vym4u}a#SaAT_=az;TY zRYAEkY7$s9dXTwZ5U+qkMWFoe@W=~^JmzH%k%`G=rZ5Jh$BGG-)ptjW%hs*GZTP#G zsL8#!r5#X`4c1R9OT{{W{VHWNNj%eisf zXQ68$`6ZJ_rRn&Zinb||=^mA3`akjj#Ln7BsmHfaqdB|Df>sAm`{Z1mk37VmZ$?Y2Pu`ST2kQB{E7r7A_}_{asnh*7D> zf1x6s1-Yed^RsY&7sFSfyym4i#^x|wSloyA)_S1I|)cE;3^ zS3pn3<-l>i4n;luLTPD$j;+tY zT=@C^3D5P@e%k9i>V4#SoGm#7lHMIRD1rwe-A-ezB`_~b?OtyK>0v}H5jONOihZYWdR2F;(9j}r0g{NwPLN#EfrgHF_~0bTN2i7d8z)-TZTje zd6s4rM{fB!ulk3pk`Z!g2>`G9b`z}h#o zZZrMSKP6kcQP!K_e*=5=xW@YUJdA4oTUGWhg9Y}wD5F}c?G}045A%MT4O7g(WvKe1 z$H)<{@j>j*XPEkWuV=}1;B3BsleWrJj(1w{N=C$vL{jtJNOd`Of98H!R*dM$GdxA| ztz-48VC5h83W1A&37iim&H*Y4=Fng{2SOTHz+4+;UKaCYz15AnkjYUegPk;qroz&k z>3ETl(Uj+V+T+R&T%R^-XRevG+MkQ~`Cd4m#KAgl@Jkt2h7hqJWkuL#hBFt7ITZ-N z$z({yjUQW=A-CEthEGB4FG{~!cCj{D$=ho*L)I1h$LW)=-ND`rb^@BIRSQw&wql!dfq?MaD zr~Z)!8W7~(-SDF)Wk>m+a4wBaM}Tz$n~${>sD`+J;lq*fr(RqZFP|*15j@r8W@K|L zHq7~#i!Qc!Lk)bj@j~Xe@JQ|eJ1WG^x5p&KUzTl>?F+%P?}GTB7x5R+562lZBMhGS zInPjH2A`brm{I{p9BW3vMTqJ>380O6dgE<%Ei!G+S4x51hdtF-LhL8s#fV&JG+9qj zsBk9${MXHe{pBD_GK~Fa;AH}KX~nQjc-Jz@%O&j#LI195()*<0zYYyT_7u#I3U#*; z;9X*tWgW|L))h%z;g|Q=kAqnxLrSUvVAY7*$!N1oUxGa&|6mT(AHSz3to{aUH`RS3RDH&6> z@@Qcvi|rH5#*;&Zqg`fFKq!;~kf-wIl+IqB)v!2U7WnZCYr#CHr`6zI5m~mVoFu}i z`0v|~x6(`B+I+4Qduki4`+|2UIMi$x8+z0F2fTU5JvOQ^;6MwgieY5ISnEqgJyGUM(bSP#0TXKM6##*30VO}0yXLE=%ig@TiYIWkSzcbX&Hj<)r)*~r&UCqM zt%hvu?RY*3w`vYCqspCI&~zy0t=eB&3g`se89&I`MM-?hS!i7-Sl%hWJ`dT?tyAhu zcxYIZzZZ>6Glu(!%b`@7j?d$-I^Fg_cXxwTRro4ebn0T)xrm0 zjRdGlf1S7DD|$S2L6&KfUVlZNoD56tfccRNp>N@p&BQU>*V$XU{t1^l(tCMN`QU@L ze3?V;hjcj4i+dJe_TH?!P&J{H{7k?PI^jMZfC3^8n$E77a6!Q!NmX5la~H(Ym@U1Q z`bx_`zXen1%?-T$##L$3n+~Ovl&0v8WQq_JkrcWTj3qhZd8#DLZ*KRt*+7Kt!gQ61B=|v`)@w8J=1#_am*L-hqyNQvHFCQ-z5Mnc>=(< zVk56dAJyF|c{t@h95EgK?%pwajZ`bsjTh3_nBmca8ww4xPz`K8_Qug@Dr*DROPeKs z-ZkE@dyOjr0H?;;?TNR+8Kd8FQbHGZ6XqV&NlHAL8ku`OqxGdWW0mss8rTZy49$^+ z9~k|hI?Utm;-JaJy+=r-0QKz}o&Se{gPwb@4(pf7}w5reFWA<*UD9&|%5}kh45=i+Nw(j63f?(2E5Gm% z9@MMv3jYcJM!od}jrr1jZZ*y%U$-r&6ZuzkVLHKJ?k1tm8V}|=Z(}$24&qq#EB(cD z*`+)3Mlmqo52MObuEL?n!+=XG!3c;$}*GlzNkwXucZ*NiuDKQ7Mm?e%_-FY3jP4&{o84s$%{3NpS5{=Ca@NIfg# zBJr*KBN(pIzZ6CC9i|_t?{^rJ3HhiQ@GpH11!F zN_tP8Xa#hHm}ori;S8O9;HO*9v{?cU*@HuC+9}!wul_q^`Yv89BBWW*^Wa8w^kF2| z(#-XuRb@qBJwJ_H;;Cxnr%8N`=egvrK1TawkFW+u;WJA85l;N1!b zEo10N?P94TAC~VUU*T=oE%YlS&ki2`3biz|421v}%plLsaB5qNfq6QMv8(fMsT_Bd zH!I1L4XNE`?ov!SRj^yF-4E);sZ4K#mRw*$Z(fuMzF}mHug*K!f zLJSeau}FM|gpUhk;-|uO5H}8h1VSpB0Ih+T!Q&)xt%Jh5`f zkA+gL5e|siGK(q2x_xre%S11a@qTZ{dsFwm&0}zj=RlMEX0iXSu-2_+amS{VurcS2 zMIpPd1%=!VqV0e5$Eu$%Pk;r((1RCI<^$IgFvl_JTttm>+clugUsOTK|DO((?gOHq zLxf4Kx4g)O>Gf})k$?PK(IUR7Ju~0X;|1O$&WYWy7a6wm3x*R8ao`-TaHtlBZvLs& zb|*VtUOyvRHT0oXO*SFxGeuN5dfFc8e)>jhsHLeF7hOxarKbz!kA|H6) zF72-Ylge8bD*toP+C0+C)m0FicyQm72q~GRvpwrjym8I#3ivK~*}rfP4Q$srY+A>v zC*i9oPU>`u@D~#Ce$u{wAEHWL!az*__;Y8i+yUFZY!0nq{ztyIkf^r~X~qj^!&g7< zSEk2(WtqprpHAoNeB~EG6f@_Ha8ILP3JfXJ;5=3s1!Pbc`fKpxxi&+jRk8}LiIZ|! z44**9oP(6F;X>>&+PBl&b;UJH0qh$(!R##@{guTDSV}SM&m2fUiV|mhN_ofzujW83 z5GIL{{P&k02 z`ugC76;gdHYb{t2NUXFwO-+76*wBpk4?hLljw2rNTU&T(P1L~K8taghZ)jXWfTf8A zy2Pr(zYLn!sKv_wldSjc3ZPX?OjlO_cJHBSljQl1$Di*NwJ$|7|MPl1D)z~N<%d?> zdR(^^{JsMI3j5rD<6O;lV$lpvI|+ag7Y6OnvXy-@w^@ z8&4Bex$}H9$*!|f!!hKd;r9V+k6^Z9waQ1+QuuF{N5lyvY3|au<%p?S>}^!3ERcLR z^nhvQn?qJ4#LNaRR^ApH+pv$=14$z6i)B?@=puR=bL7^-Dex-Y`Ol=nDbD0b9?$T)TU~hhDksqlaUT zbq|bTj>ax4Oo@fFGoFV#Yx|fLBfBSYRJ9_Ic5l-w)Xv4vSSdy=w8tZsuqT8!^xVQD z18VOkm3+mU}25_M2Eh}as zB`*C%le)r3X=<*l*P-2C-mSHo6t$~xe6`k^0-z=)It80F)*S+zUR8;BZWnKm%_)YD z^aZfJP{|YP1bKS&L?C@X}bbYjJ*eh+Apr!=hfO*mvhWIb*F8V zncpj_T2qyj?Z9EyjyxKQ2OPhh>Mjbi-!_)*=3DlCn*OVEl+{?l+`BR<^Y6pnc;TeO zaW?@1Zv;4+Ba$H5CnK2DY;^w2QquMZTS?_q0G(0}g4Uq~=Q#$ZkUhQ4fRKwjH+sY_ zYcC%&XoFrEf4|RejO{GSIYZ9vtc-52pt_LFk`&=HYQt%2R&ys_l6s4|GPAQEc$cEJ z!GtC?5sejJ_|d)j;I@47=RhPq5vm<0CX_SwD_K^LKzDjzbE3R|R@=#8sofRLG&gF-cf zdx8#Gk(79gzxAo{fr&`DRQ#EEzN2@$3-UFfcNiKt)gmS~U6~rg^aM3L zxsrM&B94dAQiF#s&#%+~pZ6(P6G=@o3aO0yFu#LUmmpWH(>U+s~k|8 zwR(Dc1w9IFl=XXKjR(_&?-g%VS!#tUG>Xv7oO!r)#oZVXBrG9t9a;-IR2OjUf`ycf z>-$Y0@t!CuTLx1>z{B*Vl6u2)j<@a#m$HMs+EqAvHrkkEE%)$kla?vRSypmn7h$QS zqpvw1%xY#uvImPs;d-6Q^Yq7skTK@|7F%fUsf$8ifv`EUyY2S235@pU>=HUGrtJ6< zX5v2M7=;=;=KV{QHE^QvEUVdYs5!L;%BjDhB=FlO_l)O4D}JYHAxWty@Tv{y0vaw? zD<@}s@?oMQh>yAFcZOI(Brd$75@K9*ztH_m{6E0fEc*-CPU7rspaTMB#Z~nsRi}>- zL!!ST7GaE{Jzg`#TJ^48R#~j>ni{rzK>Dh*n6zbC=}Ek$s3=Ux%58UPZ8b9coOh14 z0>>qCRH{Dgbt8VJ%ExyllRk`Y$KSXQ|Cc2qoJ|M6oI|4_q0IN=uza4Tj$f~$^)47P z9l0G^%&v@M<}4S^yT=M#V6pY~WS6VQd{Z?$clC@Gv)p@IX8~ZV;Dvg?8xeVS>;Tg+ zG4uUXTv=jPTt#j<5rI1!QB%C`4L!FZq`5z!AYj8^fdLN->0M49#9f`ZL7faSX8pDh zA7J-%X7t#%ZT_If!QaH2KJyECB{j#$l7Wm<_{P(34#a1n*hAdmK6dTVxkXdsEsUcq zEs^IT{E6Dy`&cp4-$^z#&m-bRXgi4RrsW&{kfNQnoKzfR(A{O-KLxO;B8jUb9rMNp z!!AsWsVO2K);%&ND>EJAviYVNYF5cF--XSX(eud3Lz65SJR7x)ppTRTy2K9GH#HA* z$c5ddFcBn#N$(#p8CLCq#U#anJCKCCFlJESY>b*XBnmU5<9J|W6atOr*EN7AP>01~ zzRoCPMk*EziYO;!#RRL(Ir;SH>PJn3C>xVQ9hOgV)dXvmqPC8OXOLT(0&lFwiek4? z(($5)D)}C-(^)LD4e8a=M6*1kNAPn`;(MY1u)Gam(amggaVD?Dp&RuD{MkcD2dj1^ zv9cGLl14kf-dS~pZUf5*^Mxu_6H+Nx_?I}Ip>m!Or9#@#dqOlqUR z9y6W1|>%N$1C8n)8$T?lPQ|Kqre_D>4Pd3ktJ-X_xKKrbJGVc+W`hcEs^YS{v=Xj zGKVgRkm8?5I;H7DL9b)&u+|+rfHlscEX!3k)&fx{JMCu)9Ub{WPtZBe2~~by}~dJspg zu0K@Der*{X`Ut$_2B3hdgV6)zbo$}SB`o8Fk3|zRv;$m;fEf^J-U_txy9zH1oRff% zpf~Md{N26*4wz+j;0SfN?=rOS3Y&_r^H1~Nni_9Bs1IO^vje+@_tLmX5V!llO6&$D z8-karjA_u+o^T!PQJd}pUBkvZ=(ZxMoodU`t!kf6Cz*0?f7W7qZ@-{A8nhH}Py%$% zlsxG!ms}(Yw_aK+TesD4U-Oumvh-@l^zRU+HQ$&C0fbbyi1kLTtSi<}DadEJVGleU z2|0w0RmkQBTh@3(O17Bma2@5ZcVg5lHO}>qGilP28!xAZLGJ>|&kAed3FcZG4GW3Lk>%8@OKIpmZO~<(o|t$BUNWn&$T7faxCpYyD><%A z8SlDR@z4ryGvbd`!mIsNi;FtO8dgirG38E~+% zImgK9NsY#+3_Adxr=52X=Pq~#m3s{<=#}*D6lO5-_3RIPTl1y@*r(Q-Jc z96gwA`j3DU5Q1S zs@-0|MQ#tLd_w?{g~5Zz|0td!D}lxOaMoA8Ja>p=jelh(;}K?NM<_-TQLxH76gb6TcHJN64v^70#`VSV>X{1ejv{+|1jWvZ44@@ zG8E|D?>JSrs1qIeC9TzYF6~BR+8Gqf|Hrc-X}7?=;#(;x1Yc^%nP5gR<2EMpScSw@ z(I>$g2b7&3H|9AMS2wdxyH3kEFBTiia8Nl9H7lzShzgx2%(M;AA3hL+Ybe$Yj0xb8 z&yO$Ygt_rOeiqF3TCRC0g|3KeTJui`Vj1=jwghCIhe=-GShd4xEC#{uk~Jmc~Fw z$J6>f!VK)Kq;#PuIJNxYf0PjL>Hz!mlQPKqmEVKztS=x&Ng7QK#UUO)fS zhwE8lA{d@>nRVxE@Dd1e0tMjKuCXTjScF~mzflkD@bfv4meXwnF%lIic zFZ*oF<@0PbQpM)M6$7{g06SbM++{v_*_qVMZYG;~B|DmN+=}QgJ6wq1s_0sTAkA-QibGtVCSL5MsE!#}l0?{fG6>@{Yfsd{6WM1SG z385w}3z-l)E+V;yGTaaGIHdboQx|nA3Gg8tnp9o{(^4{bMXMsY+Q@7yx50jHb!+^r z>bFLsqn78%F_sibN|fl>_SI_dPIUf3e5_;PA~Nc*D&G?2F1OcFi#~{*+`41dl4o_rXbP?&k~gbN#ml|&&J>e5Q}XG=Ei-R_4jjAP^vKlvRmp#WVUl{JcZ#V2iqTZ==2VVMb7gcksvM=ITDRiZ zWaBpKUsC*_wrZ5FMCJXRP#_H>Wd&`UAYj|9l^p|SjyFS;;J5OXwKN}}HLq?Mkr!)a z(8N+$`HBd?g=P476I^#9>yvQ&!MwV_ikv4srZTST!SSi&_?=LAj`h$&;_h|7K8J29 z+h~$N7;!1}eVzU?FKcB`z@cYnC{wvzTj__pV~9;#^tOtN^Lsb6FU(jA<~v-k-0m$ehk6*FYDybM(x0v8-6c=La9$?E6bC&|Tk1fdCT!FEh022M4Q>?0OqG z0fn!lx2(b_Ce=G#lTti$d8L3G75mR1Rku7bgYRPIvzo+14c}Df+rgh{3G_ckZ!QQ0 zl$GqOwK9;Wx(Vq(9(&=>#%rsD{}&mt`57-(v}(x~kLsn+KhYMGqQu`EVXp^wLPbII zzG2Ln!m^a^L+?3zQkU5pG95Bu>6kG^>@RkSe!LcXLL9Xp&|H8m zDh|wjKO)rS&dt*Y27%4O1vlB%5`n#PqWN|aB3K+V^me_=$;$=2A`a6G0|rbV{{YuMJ9)v)sL&?)UJ z0?`nucZdy5SE%H+WUzf9$`8}t@A;~nfmUhojbJ_ zu-ESg-c^@C`nd%-SiGMjtaR=n>hN^1nrjDY&8KH;_o92u-Z`1F$eiu(ScH~qnJyUR z3VvQj;3?8d^?lAEKIMAFFge7nlnXjLG2l`r)cvkjyI;l3lwVrjO5Ro{wOyIUM;)cR zTEs&YDlma4sZ&!dzph~&ByPmxRRH402Ce<4K^WZld#NIbLXStOlOoo_{~Uw#C=L+g zkz}oaLAgn-F^E+nBxus79V4ND>Atp*)uYkVxoG>RQ~#mQlnM{v>3+s8QS?O?-b-r2%WosC%SBr5h=?Qh+Xy&IviwiFR z8(LXcJ~N)9sarKxMse^(pnl7dHO<|`P=+SHWjZsz`v8YBSpu#Azm^=1<~&Zr_^a** z9<0~Dt~A`k_}ryR!xX`5*WfeKpe=+YXs$tPqXM_}o59)-3A!<^QZovni#&~gtswP3 zt*uYUHhSJnZiNzmsB6&bku;il3sNPD=%b(TN>p9uo-(db-BeIG=g5tL3uek8aI8Yfvf#+boLUu3ZuVe%9(378`xg1B#H$)|7#v(wSF)fSIa9JB!_Ifln#v zkKZ5(2?R*)B=a$mWyl1sE7XWz8z+4XhdSTE|L9!lY?#%VY##nNX`2Up*BFdeRkr;0 zN+Xmx5l2E67r`j3WiZ;Y6YDZQo@9Ywf8~faXqG0?Y%ZfGPFsO7X9V=Xs~0;w^!B&a zWn|%g6cbvT25zd))ii<~X3M>I49+lp`jCcJ*;LUSi8TQ8d}MkzEH* zjYjyH2yy{JDBzvH;fy;`V7G$3GHVuj4IEunl(@5HB%3?qQBiJgaflL^tS;}7x(xnS zZ<@Zh4gK_B?7Tht3QG@+Q<{ypHfJib;Hxd(Pn)-jOu4Q3i;u3qV-$sZ2TcBAtI|DB zJy2#p-karJ)XK7xqsI6u@5O#LJ^Qc+XonOOEXpwiP8A>Xx`h=U>=6x(WN%L%Z<^{F z@eEpLMgO(nFjC2NP~-i}93Hc`QIMb&Yx?vFl3L{t>+d%)?39WQ>ZR=iH^XdLK;i7| zKDJ2nz>{MMs#NzooneVxV4xI%=9FaN4Ii$n zap63Y0%oin%umZ*64$=^sa)N6QdetogeepmS85@+Fg<=RklC1`cOK~aY-85KWBTy7 zl8A(Ks3z;EMEnu@tE^>4R>yFmYDZC<|^Yr{;!&70RxKno^&+BL2FRF=AZ9I_}UwUiyLOpO+QZ%fv|_P)FKDlgS8bMzE&AM*e^g75qSP2O^# ziIi7@s}0N2N9{T(_C~+xkHloU5E0(=s<<^RY9OEQd_gw(h3WyjyGz64u|;Qy9a}>~ zN`r43mf|g9tA5hjS`?f7jH}7^#;-?IK=H$x#a5^J5p`x-t0qBT<_|V#nhn)Cznp8B z(!GR$PMNjx+~k1{-wUss44Eh_u4fZ^BLyA_4oMLbNh4)I{nDi_Xx`7!(TdW?PjAR= zxr;V_FT={5qPYGl^biO=$4bC->XD!A#i2;7P?qbIlb>tWA`OgXD5}pOtfBR}wai@) z?lt`h)}suC?p1Az6JJbBhBta~p?)-Wx^?n0d+3$M4(i=DIH20A-YlEYL{cByDpd}} zVLQ??B=oNC2o3$uXT^t?faOU88=Vg~ycTd@ywRVAeu+t4zX)SJjL}f%Vcw;n@LYR# z;y@RhRh5g2`Qk`nM=gEwoHw#X=g>RdcBROwxM7hQEQ+-)I@n6vxYg)8l4ifV^}eE9 z`TWjvCY!m^muidTl6ybB@vlsi=dVJ2TiEyyr{iP4h>tk%>#rv@&|7^K2OoMKjQx#&7l#E||+J8nxu)w(X+r(NFci-*8%tV_;sN^Xd4! z0hz*IpB0v1{sYXAz2J{Qjb|Z|I6++m&Wx0N+qEhX6)DM^<#n(fZ5CG+sGCX?GXEOt zy&Zs5#ZC+#=;MNcpXX^7zL{A}-zCHo#i^HoE&F(%C#P>RN=yIMtW}J}W3(4{yqilP z@l;;-;f1fc<(r{%HU9KLW0~Ah7lRcJPBK$nqJsc?7mNB!z?(hv!ruR#>ZUkb zO$O<+{Wy}yvB0u$1BxOJwbC#MK~gDivB%A+3B%&Skhdz#04^T6-ujzp;Qq^~*L4ib zTTqGK8R@gR`j+?rqrBLRPP@m((t9nUPutZ^prd||*||)5G`iUB^>8R)H>9$OWM?SA z$t)AcjJ+^0SRR`0U}V808THi@&sGcAZ!qo?t1 zo8XDSk%hYaJVJSXCsR|%J0Bj9mLVwO43(po*0~5rQ(G5~6umy7-TQdLKy+y){XcYx zyNS}g;BDJ0}~eRQVASV5`1GXD2FA5d@6e` z9>b460DqnXIVeCu;8^U`kUfu~IR9-5auw=uv3H!9>u;Cquf+qw<9CZh$f+1tyR0Yu zwgwN5Tms*acT>7eBh~d;BPNMaGAgVhlH=ana>@YpaxA@?jIm8^N5fZ-R~OQ()r3l) zU>qWtmyp|YKZPX!JjZ_x4hw;$#xP>DQ)nf`;HkbWI~X4bidr{fJ-UUGgDKJR`&cN| zj9eb|S9>az_c9Dby$(4k-jPl!HDy9H06JBr_KY*aYvO)`B3Xh?Um}-cMPGOrgo-1M zFLH+n|H0R{xK*seYY$|!zmM2TUIWrT5M7kKBhdG)zMJ1unIm?**}$_K(As(pUz<~_ z*i&U=qmbrykgclB!X%#071#V|ie!@0e9v;D*&+<=7{x+4{PBsKQ-c`t8w#y_vcW3X zZP!{#A{Yt)k)}OPFmjtTzTU82s*L(@E0auyk*A7| zMTm}rr|TZAvvU}oNO(DG)UCVm1n|_yy@GcnhL$(|_fg|3u(^4dT2ml-I z-2X7%4^aa2&WmnNO&mt-P{IoG+D5U}4n!BhH#ud+QEEYmo`c3li$_m&asu+}(uXS5 z!N-C_Pu3Rq^#Jusw}!0be3LDLKrR(7PPOlh_F-|v?cb>tA)wo*Bu{=HuD8C91ujl3 z0j_g)s#qTeUQUTj&RccQ0;p0k2gYe;nDy;SK)Veq0dxy|38EaiL`V&7sTnY%0L09Z ztu2kAK0P0cK3yqjfX!xW#H`HYo&~^R9VcadwayJ*lR@JCOJN324HxQK2YD@-9n`XT zf8;aI!JK5`YZ5186+X7SJhKkdro}qrcMh)sT%BX5)(hmzFfSd%-FF^c*ng7!x1Gvt z3GiM?S1(2XanO6AcH%+7eYPHt0YM)2m(yN9StrY#gZt$Y>9`>uiYxB_#1 zdl&p_A_@`~2p*dT)9U@GiP*J{nVFs(qaxy_yOPZZ9bWsY(yNDo&=Nm(4|jTKQAWU` z!WQZbKo{gU^Lpo{6^{;|SQHP+bd>#iY4e;#gbqZuI2P9nk;Cp_g|4~(dB9;j^bn-Fd%cl^Pyz6qT!VI`A{6rRf{j*-UIo@qc_lT$>rC?ps3FR zfeu&?a@?-_`XC(c zDPth?frZNRsx8A6LDBVLZC!y8$t^FED*L4jO3FWI>!ajrA_~g@&UR0h`JuEywTa1_g5zJLX`a$w0{g~Qt$7Oco^yTpp+F{( zuut~u8#ew~d_lHi}QBBSM4fF=f#(rl(!luAw@N^JEqAts95R4Jq(j8!3 z3=DACLLdsvz~Aq(m=h2Le|@DXB7Xv0Q4Ekqej>Uh@Dc(6IV=$d63`4jny0HOE+qX} KNDTS^=lg$vggT!9 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/84.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/84.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..f32a1da73c948532fa102b80ff65ffb4dee668be GIT binary patch literal 30729 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 OBL3U|`u+dc*Z%`t%94cu literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/96.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/1-piano/96.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..4efc40bf0c536e7dee1ffd4ba085ead6a3c2664d GIT binary patch literal 25596 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/11-saxophone/84.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/11-saxophone/84.mp3 new file mode 100755 index 0000000000000000000000000000000000000000..7a961d0dfe2c257ca55ee7f1ca63a869a10e5c14 GIT binary patch literal 24649 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 KpMU*-{rNxX#87Pj literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/12-flute/60.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/12-flute/60.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..0189b3effe290f8e5e4ff5a068796407859e66c2 GIT binary patch literal 45669 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/12-flute/72.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/12-flute/72.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..7b57139bf7fff48e0396e3853d73b6451d624357 GIT binary patch literal 33812 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 N1O^;Bn*IO({txvZX%qke literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/13-wooden-flute/60.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/13-wooden-flute/60.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c898b844e6e3383ade3ab42b5ec33e298a03a4fb GIT binary patch literal 34383 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/13-wooden-flute/72.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/13-wooden-flute/72.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..6a7a9e99e9826955cdd38633defd14888cd2b479 GIT binary patch literal 36776 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 P|NXi+BjcL?zvq7d;5#Q% literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/14-bassoon/48.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/14-bassoon/48.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..5592bc64979f40a098c71e19c7be4acdf0e16ea3 GIT binary patch literal 27567 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/14-bassoon/60.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/14-bassoon/60.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..640f3de262fcb50e2c4ffe4b4a301c654de39052 GIT binary patch literal 28049 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/15-choir/60.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/15-choir/60.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..489247955c62bb7a57bc82f3f47269cdb9e3c3b4 GIT binary patch literal 31410 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�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 K`|tm6zx^LanboTR literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/15-choir/72.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/15-choir/72.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..0e3074f4328c3144c5868aa8946cf4ceb720e823 GIT binary patch literal 29022 zcmd>m`8(8a^!Iya7=yvscgDUX#u~DWeb15#sm2=0u0CX&v6Fo#vSyb(RI+4^WQ!Kr z%1$B5{(fe9zTaP-f8lXmE*JB|d7am}?{lB~oYxIJN$v&y-!CgykGsUb(GkBN0D$*x z07j0WLZTR$SlBpu`2>VT#igWW6%>`#uv)tMhF8ojuHCS{jk9-hc6Imk_I>Cd96|_> zjEhf9PRq!7l3!T-tg^bcuCclORYzxc@8Iyr==kK!=h?Z1@2l&Z+dI2|4v)`3qAfFH z4HF$%NhL)eviARlB!?D+8*2cN1rm-j*#|=Z`@#P&Kfx0;F+dPONI(|=@HxdhpCt%R z0l>~b{|{cHF?c8dd3N{=^04$GKLmyET`U$0q|cDkytWz@GqDFt z{p`K5&pS85?#YZPcfZ{UqE%gg;KVJu?)w+#;ceLV=$23Q9S{UB=qF}anVA7_0HFBE z0iNJ`$pM_}wPU@vr{0Fmo69bwMy8~F z>exRak8H9=z3CXz`TK_KSn{et1PZVKpt7gc;zb0$%y=}dy>|pNDxQyHF!%Fa69X3G zXVa&;%bvyd59JFSQkPfjz@eA=7d~ba%>3YpnBUPqVG#?C+Z=EmKby2e*b{7!|txa1gPJu?U3G6o{- zO(KB|PmA1C+V(bDe8+t^_%(O4?WnQLLn~&uLuq(Xc5yf~`Tpx3h*Fi^3OiX-W$px- zhf$#4==Wcj$!m<}!Cwr?uPWp22^95&^#{$iELyvr{|)_}nW7d^O5=Ih_MjbzLCq_6 zG~21oPbckA#F5KaTCm(AM&nFO5{2fA2Y@Sb(eR(v`*1dWN?;)^J4N4$ Tf?z$yF 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

VnzO8xF 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/16-vibraphone/72.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/16-vibraphone/72.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..ebdd5e0e6730e38209519074f3d9decdc05b70cf GIT binary patch literal 23547 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 Ad;kCd literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/18-steel-drum/60.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/18-steel-drum/60.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..e7b8585bb63251141ca3784131ed5a5e594762fd GIT binary patch literal 28015 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 Tb3h={Xb1%Q|NQ>{>*N0c;5b?; literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/19-marimba/60.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/19-marimba/60.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..54b7df80b9c086bd58b919b98001cb1ca22d1485 GIT binary patch literal 5229 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

O^5#MD0t9&he8_1_ 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 WSfaro5P2+EO)D!&$yxn>fByqAAN>{p literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/60.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/60.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..0c90c3e32e8ff2bbbe59c150b0ab055c2f2e841c GIT binary patch literal 60288 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 z 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 z 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 K#Q6XJ_kRFVIG~XL literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/3-organ/60.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/3-organ/60.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..a329b732cec12fdf74629d6562b2a398a8f50c93 GIT binary patch literal 26939 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%0DvjHORzuHfP4G;#ZzlE zM?0(XoUqcj@XknQHAB&#KBex*S{-RGs`(MT`=epR`H6BZ;A^F71g6nodd*#Elt<~m zb(MLgeE^sAAy@Qb<8|P1JQ)w}XZD24|PFcH@F% zaRAaMQCERo^z<`Et}817cka=89a(n5A8C>h9jaSJZp`|%VS)z{PYWL+RplA_M}_~@ zqryZ~m(Wxw6M9-QDd^|9=6FW$lPXjtq7;>f-h`?G)PjjzhLEubU3g&(^r57?*9oI0Tnt8YZ~=OudmH{~={BkS=@lX=P7 z5P;x*8&Bw|$G(6_2*}s><#+b+N`DhHNMnQZl#A&#UFC~wMDJOBACx-NnTK#Lrf7E>kQ5D!`c}>8=RN8~^o6 zRrr0Dz-ildc7NE+H7{6+U$h}JzmW`VF<6qH`Z7e=Xugw{I`rBBhfgK^l}6q;e^HyN%iA7AqeI>O9i|0 zP*m)Hed^O1{bK~Uxvi>^qfT)hZ=U>bBdAty+pyXNZDm6Jd-+z1@IouNh_u*8%w5VX z6gk7Oo|(n9fy&~QQFE+~4!cjg;vc>o{S0iJDf=Cv%(yv+KK#cA5L77ICR898Cs`N# zKww)7o^n!yN^KQS%hYPuz zW%I54sRNfj2|4Wu`;JWZ50m{K@6w8YKBNH9FbYyS9{%KETptq$JvK7P+V(mTqn0yL)p0`+9d*&{p>5L6A%!)>I~J@F*n$0F;x zjNG<5I~Y6fV0hqVfBl&NCNZM=b-&j)QG!~`rubE+>;wd(Ohy?wN<2m(3#;bGEMMoK zVEsAx>>Uiww%gvdBrmxvlOy3c&z&akeLUZvp>u}fcU$M-H87ppQfWPglz}|*=h;O` z`PIk%3xp&|v$()G01%tlnoNMVlMn_bp3AW3iHiB^b|a+n4;jf{OTu`*nqJLE zCrgeTo8AQgNXzP{qoIr1jzA9f zD(H713zNwm8%YsrSr&$zo%b|BGas0=sR+@Sr z*9pL1o6jx8F)R%y*E(~ohmHtDcB$hl!nrb%sv;&+byl6?K7IKf=5jhe((z)DCs-Fs zvf{}$Ll3zn6fxZLuA1AiD0x&w>Zif&jAOpMBqUwbcd5^3apkK#vDEIIL=%`?T({2U zN^!F3FOdlK>QqBsGivYr@8>-K&NqU1azTBE;aIu2k=z?u4k`GWt=bNCCny3bb3jH^ z5!D0Z{q{K1V&#|!s1PKJzD)yC99uCR1AA3NRbF0tqHJ0cC9!!Hm@xlzHez-6TFxNg z{{*xFTB2B5uoVMa59%m?PtME>;R)VE*8ra$P+qcff(tw%NE`8l{7xt&P3FDdE=~#ldTXjh=zQfcemz_YAjhkPI+IZQb+Ill1+ie&^VWkt>TY z!@0_u_a%xfQ7Mk0|NK>Ipnnw1Hx|8eaS6G{LW~0c`cu|6@05&h^jf$1q!4 zWK@(}+7)oXDl+c6CnCuOvr?8YFYGWP-H0fT>H1;1FlKGCa*4m^OEmM!co+m8j5>Eh zk~SK$xAm6*+O^uyV>Mh3wBGB?OK(uS__tgF_x|Woba=+>>GY8Hoxi(+hc3H^2IDZn zdS}1aiYEW`UK~WN3GBBS^|8`mzNs(?Fw#zfXCnyWwHb|x?cgap&B(2_@ zOna9vgY*^(DnTlXbA`u)`2s+JG^hZd0zWTy;hFOT3lr&aoERpW!4k{XV}#SpBibJt z^1nJU^P+mZ&`weY?!>}5z5D3sgRrEs4sR=oKq7bP<#N14^`2UG&Bx0ZaXyAngW;*RnRWmfnXYhGmH-Tp8c(R#0N-eFF!qDNSHByx9?7_=REW6- z0jt;y(a%{@rTu z`_KA#R9N8O-%=(6bARVy(!76Q#jXHmSFpStsyPs|6P->tkv?ry#D^=JjcPY2LQoL|L%`x6Q_fXEdZ$ppDYdl Qngs9<`CmTv|NYkg0W#=DO8@`> literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/6-bass/36.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/6-bass/36.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d967d830ef56e0a9450a3032a47e1d9970f2f0e1 GIT binary patch literal 19738 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 R!vQ!AZqfkUDz%FG005K4dZYjV literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/6-bass/48.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/6-bass/48.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..5c8ce5664ef7da7d3eb1c002d4496edb1e6c5df5 GIT binary patch literal 23175 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 ORRTCe2Y&y5{rMjW1AM^% literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/7-pizzicato/60.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/7-pizzicato/60.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..589c65786785ba934243cb6d3008597ac8f88fa6 GIT binary patch literal 15102 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�|fEK0Kh| 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/8-cello/36.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/8-cello/36.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c337dedf2cda849ed2ab020ed1d17db09789411b GIT binary patch literal 25512 zcmdp+eCQd->Ir4&nXcXzkqP^3`YwYa-`DMjw*0 zpK$J(OeWtqNj|gJ?se}j{63)v@V}3?rJecnGo0s_0RUiJ0stbRVS(|9NXTE&&_h_* zIo|RMiAqSzDJm}~8yK5e+Sog~x_kTh1%3+&kBUu5NKVVh&MPb~tE{eVXliNe z_|@GzFf=kgIXOKux3Ijrwz0LdcX)Jqe);G6=I-GM{`_4kiegGqTg1Z&;PHy!S79;`6Eyu>ih-(XeCQ`-|@x#5BcYRI5}~xK}LZN zGM>(8RFLp9ymcATGUqxl8Q?m1Vw}e0i?aOoD>)RIh_RnaY_l{}Jjaj3!F9X%Rj+qy zC_e$-!P1Gwu!~A3b5Z=%?O?U$*_|$_F$9COiMVta1y@q}O`qFlX}+j?x!dnr=LVs1 zQ;X9Ou`b?AZ>VC^2cB;XS7-gKLpyl=2X1nkcGm+|r0%}iBk!{2@~n$#Q`HdThmV#L zekGc4?4QBmSH5s&n4D#KhjW!+mJ;T|Dv#ZULbM3{g9Vev|Fsx4hYn@Sy;A8KdAuQA5b9PUi8Wbk`JkXhogxnbv*&^+!p&@RXY zNsFDGK$jB=xH&D8evtadAU)Mb2nktU*lbgaWomkd;>qZ=?#l1rN-oY#f|J?wmKdlQ z=(;Fvu2f#EBCu39;d^OJ3+mhY>37m~4uAZ7AAQy9X>nu$=8s@11cG=MF>pE`;s}IG zSP>OOAgQ8T4va2v)>EODPJgQaT&lGy(RP$b<$S{UMMk%C;eQu0d1NK8@hc{)Wl(Yp za7$O0tf^P~$H*~Dh%g^D>GR|2bRrF7f{ECMi#UT7jZkr=^Q)UWlWYgr$*0L)%SSn_ zu1F+Cu7s*c{5^p@6x17`MomByJ^WdZ2!VtgQv9}t!H0Ux5bWA>q<;puRWKi$sA3{s zm6AzJ6tDuVQ-NY^k4g{Bo+L?`-%ELv^X9RZA1aL*M?@cUBvD>CquZ^rIcy1t^|88^ zW>HH{6m}}yERPam%PKMoHhXJ$S(~%}X#2WqV^Fb9YWB90dFrUrWxrluy1^Q#`iDi| ztJS33K#5%Sa*NV|9TpUuQKgY7Q zKQg0)Mq{5G(Xk(JPIN3Yt!}C=Hf7Q#OxpNA!&~}&=_vQkK4dXCW=Cw1enTc$D!jTD z;`vb=`S!>+O=4N+O}SZ0@20@_tXg%_IKjzs^o73b7WhGnolzc8ymJPviEmL8;D-W` zH?O;IY6``&ZW~J);l{MqSmcRN2F)ssB%tQ(5BKySb?)qZ$pe5@U-%RGkz={?>9hfW z#*F))pZNoH@fC`K!zhd~k;T{B6GLs1ivVi7yS2CuSUT2hKWEqF#GDcQ_rzUtJT3hV-ds$C2;GLe~jo~?JHakg66Ih&gQc#>!Xi)S0% zuer6)w))$h?PYOZK?VKskghHwzN{wnaYSRa*OsMZ`Sh>njsYy4L^m z$+;ta^}PR&pfFrC*aeEPc3Xy^F};$3M3LsvIo+q}0Ab?r_d6iMW>COO`jBD9Nf4{h z67_iangLhy!GJHots`T^JDunNLRsZ$4mvEuNNd32RcbFHkjHAT51pkJPrl!Y6#P{cYo{xGZ11P* z2ammowP4W#s_QD}uFYnh003y%>1KJsWKHs-WQgL04=Mo1kW@;s+SYO`zvLh}QmEvX z1p`ze^=PGZOtRf7E0#Ln%%_%n`wo&@DCnYwJT#WCYLu+|voC-Wgdte&4@3WgQmoiE zByXvhB2F{Z+nV;(f`TOXTaL%4%dQbR^@pLDYQOpH-vhcDp>QQ=tiOLZCZ^6q*^x+W zVl@Z=oOb?$o34maWIbR3jqcjcb8cZ({pbYE8{Q5M4AZYu)xF#LhP_|JZ?_P3+xX z+PHb(3JTsI!T%W`iE#sv=#u|L@`~|dkvV_{YSGf@IMWFDwb3=UI3_ar=T-N-VY1*E z<{~S;7d}J)a08>1V%y*$OL2*Qa;^{)EJF8vknCY03zC2dqdV(%*69V&Cpps8(`$1O z9uZxNu{mcL3}1gJx6$V2F6p;RMJ>asXWv>10@AVxgPo)G)XM!^FNmtbW&K?n(?$32 z+NY62-{ukz4=O+t-D3rotXY)pD^Gq)Kb$WF0y+q9@pB60^1%rRyt)dte8S358e`~K z*$0?IaF0g0W)y_CzWbwMwUbdC)SEAVv5@WGXgV2#vm`**Mqk1Ts=Z;{;%^#0`|Vp} zywRv3TtU@INrPupOl$6j*msA2T1UJeC(O)JRo#jh!4V0`9lnho!UUfQ0HAMm#K3G4 znEfkBQzo?4ZV<&{5JCDZj(-QQgGfKh6XJZzihl7M&-%h*lRPeP+juN4iA+uvJbhiz zE&vJCZq?2YTa1W7T8~u=z18YdeVU>p)+9(&SAS0|G?+okT-zYXr`X7jDE194D4{rk zb|&|G0&*DXU@57ipBM%n=}1&fX{TZ?h4~MkV};KLmN}JFpn~+;D<)?uBMg}+yI-qK zJm?gd(|FR?xT~|D!F?u*d}NpFCH?|MwLty(MDXO%=;ZnA9)l(SXz;womvs2aK?qp` zegV9H-lx&!a_J4v&!&+Gp9mjYi3NEEH3)w3Tmg<07ng7Fee%O=1yo}B#{2c_6mnrd znx;lX2IoS*mv{j9;kb%O9;dh+Vli4|CXwy{h_Z~Q8{D8g^-Yt@JQ1LOW4Fv0kYP@yqgg^an?bA?y8j} zKT{JFeky8M8qvpULICOfozq&tro*(LPc$bnJ|{hQV%=sn15MT|iug}QhLhfZF69a) zgGOxA!W->c-}d4m)2G5OKdz+8EJA2pbZF!Vs|GdSD4|JK(AZgPcFj6}4wGOn&Hw#V zLdU5fkMlZzJLzt@67@SvHX>D$?;Q{Tu~{QRBn|59%^QHPoVCb(j}0r z=Xy7WF6uP7fgl=w9(tE6nVbpt*W<5ilu5kKY53~+&%0o{I{DVDyx4OA_O8Fbp(Nph zx>jeYUn1g>vb=HwIZC~LaXs^|d-l!!54PTdeX01P)Rp4GL6!89u2`J)m6h%WbxW^L z7#iN^$cYN;SGA45ZR%h<`ltsyN~tuE)}kcONSQ^+)k8Zf&kC-z`{<+TvDi6+-u%(< z!~y`Aj(0K`jUB~T3XV!tE9pX7(epDS2}7e*aZWiYo&M)hE%v2&zrGDJoXkPRqCQ0A zLURhPtqPwvD_*u7y7rZWkSmprbcs*1mIs4RPO=WY$ zG=d6Qka}PG;vY}}q&wDcJ=*~2?-(J`wdbJq*|g{~*1?65c@2Sx1iy_zu|+v6Yz%Ay zdN6d|PqqyFi&i@jh!UEZ72G; zE~EMqcBG`i?Q_?XlbfFRN+g$5i*!^`0n+V}TkN_$#E3y{sEGNR?;{%_|?T@Ip|n%n?s+j8I{=spz1@ zjfOBLHQivLq1|ms|DQ&vEJ2UY_$xtct*E-AcGVg=L|yoiDvez%LzTOYS<0CEv*BxV zzv^qCeK1PMi`^E9G<#+E_{Aup0R6N3%Fm|*+1OW{oRWV$&bRaf0Dk5LU=At(!{63c zK!_qS>^)JlfND9Ihrb7@SMBfXV9GMr7ro;k;7SQeA6L6uDVIYslM8tSLVBqyzswwb z(b@^MX;7E3QH2zj*H9@?3)bgR^3W3c`H zu&Bq7XvU~c6p^1lsy3YbE`H~$w3(UN^g=#4;xwViZ-}PK-$HaUP31cTF)4Sa5QHG5 zTgbOC%q?sZ%x|6jXs%eME0e&E3_cd@IGVA>d zA0$7pKa=Ef+i)2oy~PSF^}zyJ%u~rRMAR`T*8pPpim4z7vo6z;6r1y;T@@>eg=3yB z_y}Lz=ki2GzM5vs$CSa}<%A^r=Sq>f_yGzOi{QbAPb#mTJ@?Nysk-`OiQW_)sRZY< z;ov39dEckKC-zs?ME<)7ao7Q#S2=TPU*lfSi?0+Wy2F|M0H`~y5wMfIs|-m8&Q)GC zy%Z+mg!X?{xFp*(FnO`s*kEmbd@B>b9ArXtL`+h4nMTn-;jvS6lild1MVR1Qu#w^p z9Tk51xWHPa@JULoA*ygSb@UHxC4LqzH-;weTkrW>?`UuE{f&FyD`JD~eSZ`wimMQm zM+G1V0eDsk=r?UQ5Hn203dOS}Q}K6Gf8m4bk8{l?Y11~G_pZdEG&!|x^fe-d<^GbC zt|k_#)l{E*Z%E763)ZR`D4qtozxJ(NiAxru+fyH|^t2vbinkW|tnBo({ySD|_B2lC zJ?Arvm^@2%Q)w<+iY52!y{3y}|19TSv$Gy>s?Tl8NFMk0r&(KQNZaDlFAyeF>Vg{p zux@;!0W-v1WQO|>Vp@3TV-jr|MNO+{4*R}ND4F=;SS#GRhv-`Rf&YgvSpeI|%}P&= z2FKrZK8qD^T#s*ONGmgXmreM-X~@QY0iq&kYK(tbNaHV2QNd*^Q!rWK-HD}Y;a9yE zilkLf z*Q$#_XO$G%*KjIgnQxQz0sDyOFWU2g8f!ezdChzVA4nL=$KQe&9Uo_TrTq{XIs&>n=nh zWD-$|PzI4b#LTsO8r0|h4Uw};Hf0J>b@+u3vLE<|)U*E_E~756c&VqQbtFvFiUeMt zcX>k@X65?=+h}{6A>%w9J+k`nR$9+P^PS>Afm47=H*p8 ztZ0OF70$+unN<>TyqZq_7jC;qoyKwI2s9a7Tk>5RKWqH!DMTgCQ70g2KEjcROb}v= zz0>l_0};NLA`3{UJ>5+C^Ig4=Gc=G<6zY#*=I6lYZmP6OUf=bq&;*s#=&L1j?zr2= zmq>MCr>JIk#RuuXGe;>k*2p$+qL#bLTxB22BMi2tHe+qrT|=ccii*+c(mj06ceZ7v zGGlS};#2kF+T-H$b*nNuZHdsEsPW4kn#g5{n3z(Lx$oa<6?OfN#~CTPrW-wDgRWrs zeL)Y%kJOXzr9NT=m76I)_q%@WNH^8GV48CiIq&opm{H4d7pw66NTMeX1M^b!h{=Qw z!K6?virDes$vVA6=%`5~yg~cOFe7x}d?@IZnct5oM`tDtET53+2BOX3qymBt6YtoM z*0u5$W7voO#VlX%*cnrUTGS^fEE`L9mi+A4Jh@ojE6htTj(DMEIMtSZX4bJ~^DLFv z&pP88+n3W%Bk}sU>{yCpFOZ_{d_EMV^I(2jDiArS2NAG| z8`e`qgn}7{l=4YhbVoE8_GU>%-RY4trdk>nR4N(=+R?M$F$uLDkO0S&=qQM~ecn~Y zmYN&F;nr%o+Io8-8yA|&Lt@!)ggreqVm#r3h999O%7)kKPhIn=;T|t(FKZow=AeVEpc&T-tM_wBcdSJInKLAz`}5=Tsk>x&`Z-=rdh7 z`~muCI1V4Hl+Ad|Fe^QS@)5hk;q7Gr5JlSf-=sxyKJ#nnTSur6bsh!fAEtuZR4S4t z-Ux&7uF(iw{1^X&4|$wpiE0PRjFn&K z6;JD>X#Uh{meep*X@?R>IgB@GlUpO5GCYi_@_XgMJBs9SZ}l_raCV@fR>E%47-^(E zrti)7rzyKWvhHlJRi~j@+nH7%ACHJ)fk+l1mI4@np=B>8n(^+JbH5QsD3se`hJsT{ zEC-X*pj&E3p0Ea1LV{jqRJQ~@ky(hUCvv89C6!gFW{ukh+^I-3wL((rqAKS)ls~&$ zjhR0dk0<>8d*jTU@}XQoYvt!rhuuo$Tyf%3R@2fyL->M^P>VM~BD0(IhaV#L>}TFh znd#oS{cMNU)3;E+mC^v`98(@tR= z4qt5jYZ51WFyej-AG(LLWjlQ$WRt_=jZrC*C~#0&o~*=MI% ztZPprIbI<9>_L7s*K#9k2`4!rRY;~=C;v;IUK?3{8aN{G;W^yCX>Q&=k8|*G+W!|Y zdBH@g@fYz-zGk_#(c7#tEAy>a*S^;6Q0G5SHJAW`dJREascmZRG*UrPv2tZ4(WHxR zSmyUDIYML7L_ncl`#rD*nlr|~9_-geSBxUYDpW^wB#meDjje z2?B9(HJ|%Y)}`l+kjUgb0=KUj>ft}U#W5RbisgnD+FkKAm9QXGIdss5=ng3_)DQ=4$3^D z$;j;5R9Uh`B7yR#cC3FKfNF@BaCPi2LrqolMk}+uSM&5-O6Wq}!R)Mc*}li=P9upo z)^VFu>)`!yc9%jIOK-=N!h-1!(N3Sd@KgH@(*OVyYkJc5YtN8*7eI}=0p`E+fpsZG zP&7O3CtI2*?n^rY5@%s?%{Qh_BEgr>@#fM)901lAd-ju~MyjO{r3B7v*7CXm%lWUA zj*Vx*oS@-m!d`UlK+r=#fV()n4H8?6;_s#y1JGavp%?6%k0#xrD2 zpDw3R1v!C$V3U)-!`yY#!ouTVAj+KOVILtH^VmO$4zVw^^9?Pu4aZze#mcNd@~5wA zYIV)dSN8Tha65&C1?Lq4H+V}L(m52T=8irs&=jRtSJ#y1vNH-g;e|@>jHG0>8W)yX zvmfsCkMvTa=E*RidrEXLYXSj`-05+C78Qo9_Mfn;!4P?W6;lS$Q87eP7p9IdHg~5N zKDYopOI69^R6fh=d?u!Z$Vbuuh`U<%`qMzk4hI7jyyMNEB272d)!)I#j%B!XVY&g9 z?^o^pju1^k3XSm#y6J`APicj+^qq@dhDT=T3s`RBr;y3E6^|e4{XIV7Y4oxA$t4y? zcgS2lRqf4Ft4yX8lq!!SUcbOhRYFvusr!9D00=-BG+7Bv!At^xry3Ay5HYN6KmItW z)eyU2u$P@?^pCyHr!>fjLftn2k-p~j)NU=Qc$h1uk8K67UhLt%DwQx2H=>Y$SGD2<}tHEG80ml8IJ?sg@mr? zYU+}b_kZO>k~cH?^R6eo?H5)PR`JThUT&+`U!_}nd#|Dday@w2n~D z`sZmEWO&K$A=z^-!NI_7#h?;_ujnC$I!hMG2muedf|YIy2Z})AAB!19Lh16axqy^> zGrcHT<%Wg8YOTcBxTpA-bbR6Q%m~AJ?J_TXfc`kW%F;Fkjt8e@kd-8?_R&sNgFmQT z9C!?aa$eu%$z`^o>F#+>jfHIfYlG7KU7)x)kQAC2PY4d-8zzQ-Hpvw-8b6$lY2V{6 zh%07aKNHG#G`-yH8Jhg{*X3u;e37+uk4IIct* zetZg&oX7?FLtktsC~l#7o#CO2Bhmy&rm(L6tt7eYyFT1lk(XZ+M@DWz#xOboK7WEvUN z1ouj7iZkXaO#F0`{BA^s`=i8zMRC>CI3&(w@@2o_AIo~{-HoX^jz?6x#)`r!v0FRR zRO=*$d~*{ZOdb~2ND?w|_&yW>ph&mxmqbdXqi!-G1e!=wIDqdTPzmO6HJ6G?X|%s1 zq(WMHlw#xuXR}g4h&2E1OosNhghNv|Npl#qN;w%!&)(%GR@ZN?1vh+uH>xcir_7XJ zBn3f<=~_tSY>cPG3=ro+Q1iDHH<7duzff$vawJHr)r@5rnn*ZL5vNB84oOqeGzfib zOqNtO*ezzfnatK8jRk}EKSs^~0ZbK5|6ceY0>S=!bC$N zx#MgU7l>y$_Ypfyz6c=q5xf)68={43|5^gVjY#f)gn* zXS1Pu$JoKBsckNXv$w&Eeeer3&O5hNc$7x~w8(Wt1wMtv6fMC!gSfIZ3Uso0cSYIi3G?C~FNq^* zj27dpXtkMTbfA_9gBcGov~Llqx8z^^Hj+O+hmxet!8fMAtd^7skq>cPAo0*#Wsm(S zsqKvK_Zdg>T4*<~WeZ%>7Puoks&6gu>F~o@k_NNYm5q~B<{R#hVpiGO-)JQtlFuby zCO25VnkhUo3_Wn-zc^12%zfkhw^HnDnoQddp4s~Q=RTL&^xBpFZfgFLR;k$pPHy3f zZuiQB*Y6RcVBB>Rkd##IF#E6F-xLr_`i{e%Ty22!!kdq~^xIUVPN4wK7$hx}w-jE+ z+`&3KiE8h(zrb?o2xQ++g-oc^8UqIw6L#u&&%#(#lYg`ydkvr3qtsX%22*7a7<$oO z!KsY8!$DAr4-z|$=rfd|T_}O5b=e0-X?zJ4P!dri7yywIelt}oXyj=MQzp>G=QscW zsL+hvT!z82=%^PnHc>?6@e0wDwElhCk=ZOZ&}rx>Z1H=WMAe}#D3Td z)G~_I_Icpq{n8}TlN5vQNJ_i6tHaSUvfsy#QnruX{>~^BPko?q51oU%hfraP@Ko*S z-|p#eQmZrG+zQj6if>CYv+_NFc^QRqqCiCF|NN-``B4D?bd7rRmgT(Qx~eNlo*+S( z9LN_rO@FvzawssLm3{+vE`z5kH%Zy9BmqBOor3#LN@I8Groz^gq<%xkLfJ|H4vvTi zmfF=VV%mP4^CT$|q^IaB?^`WYO49R8y=xafx~eH9P4w24dG*<-tnGyR?dfz!etAJT zfkdN(!*}ZT*2O%q}aP|9%%-J%656c!rfXuLAyFnfAKV(8EvNgHL@a%u53z{||CGwK)a z56Kmq>%S)I83_|g6ay&e$ZuB1=%NT?_#{JiHTxbGlJ*OE<2c7m61>o6ZEO;BQRDE8 ztazvLYC4+hXVlgnOPOtAu|hz*5e+ADB`tf%eZURT`5F#9tM~XpeLU~DM?%#VOUm&P z=3n?A0C1G#p7W1=?s87)i+`SO=NsLe6n#H2K0r=yxUHFE5Hsi@G!=Zd0OLg?rA~;$ z4;omGRQUl_b>fnWQm%IUN*9*@Uh^JA%tI3KJGd4Ppn4D=&dtaevYR2;PB=f&w%Ja} zlqmABw`ft6Foo-fLV+Oq`=g9V!EVAwMpYBwC;%U|V+&y92Lk-9U2Rl!1s;=$VSUkn zL?tdBg2g{`8wxl$!NKRhQQYx019JXgTvikWsTwBVD5W(cp^~& zKG>u;!HD8YEGrPnpf+)-ju(3gxalGOqcN zQS9=^m06Aa9KHEj|0zM!%;R^IZNKNp$SwUf26{WjW8XJQ_*q|J7XZz+<5DFcUK;x@ zxXv%?D)tly1+u~L0DKVP9%Y9-j17D@Ptawt(zi;yhxHd|G(^a3p+)?G?R8pT};M00De7@y&hosC1sCe#5fp8GzZDlHPAX+^qlj z0KwOWk|%(_Z{!V@PL?qgfBGfj+O8yRT zzWBZTP=6uYSar^uV#Tb{_!BDomV(=g(|^vr3iH!jvu#oF5E3^!XH;rs+U-k5SJCuL z-g7a8@Bj#~m9UHc!|)rn6_}m-)Q6D4pWi;V_oj$}%2 z@nm^f7CWMcM2y{b2%mIw86_gJo+QU2fdQvurx8I{TT~dG4B=D8R4ws2c+L(6r}=tc zi&MP~LnYMIv3PNLZSf^Lk!%qq2iuazrmX2C(0G`(Qn6IQU+7MYk^V1>}jD}la&e86BC2)HwMe6-jIsl8!u~tz8 zvU8{7<^cf$Y#oWB&_!H20=n?NK5rcCKC!Mc6MGEh@Zrw&D0=E#trPrN@!^_)mwH4P z0G1PZ(U;|J{wnC|&sMb^zbCbr9oG2iY_;3?le;lZgU*KCFktwL?~)W$%g?gO z-lHovD#ETsazhg_VV zhgY1P&0tnU!)!uu+R-Ec07Wx#b~ytHy~G0&07q5kx&B&j;z9OHi%4xT1hynq6O?Lj zdH&Lv@)4mn$}q4ZBIl-cZ#s7w9M%-ANzhetF?M^XZC4nX{>$iH@)koZL&bwpsRF}0 z#R+blGo7lOJpDk-d-s9d0Qs|9dmYT;8ivpxJxX|*4$yb*PLgbs`p51>!JEz}zYzTW zp0}RV`rXZoJ`QS>rmF=pp!%^=O%NQR3a5l*fPqmHw2Y|xrpZ(`Zkka3`d4qcXsdGf zmq@hkc^&D>(%Z)Womt9?7?He(r?PgCSPp+qiCjcSr`K3p8e+DcvwwUN!+J}jdVZ{` zeKy8#@C(K6M-f5z>g-wBoX@|8b?t0x)ozjO$LCfn8c*G&Xk=ILXD%j&A_Tt42oV1N`s=U*q-0JCzo9SB7OU9 z1jJp*=~9l0DTmi;-ckV@#cJ;gNpTZEM$`wfTQ?R}KZXQ1lvFNV8dSZ7po5oUC^CW`>Y}VMr9kDzsz!82@l7kP$`Zq+0L?dE7s$GJiwL8N$8jh9(C`T zikov0C9^z|8oMr{<-XaaAH?T`#*oB1QcOEBax*(`U|i7^B{s<_-|rAkWPuxaE0q4y zjz7+eIvOH7kcyHa{xW!dK!%toFp`3-tu|Q=LwP0IHf8~EQ4!;;ZkL~kkVhoYS)D9H z($1G18#Mj9_V!d+=uudcTh1(plZNGw7pK?YuIZ#Kh-B1M97Ib~Sx$d*bAR*cgg4^u zu>%hO$>zQY=6d(I;}VTb(Ag@6QXZ2Z<2{xm~s zD=(?xMuQ1~;%0qn00p|qgZqyzkdP$ITi3&Y3QrF)#u)T}zphJp9q>#6gC0ZG+GCIp z8>5bMy#=9kW^!2{vL&ttanS!y6xGd%{t5b`E{$ zl2r>yL^hws3B(j_R3fhvnL4U@W>KqU#^OOL=dBh!sko9AuOb2>iUiJR3J+dD1<()u zu%5_bJCgpkc4o~WF%%5~@<4U0!#I9xQ`1YtT!sn|MPp6&n2c-I#8)=4Cj6K^8@3eu zK4-w(DKuTQM}`kV(f1gaUVS;;VESMD0B}y8=dI8A`JlieGdAs7TnENdpGFC2_7uIq z9P8RYFt?b-cf#i2H~-@)DTAySxa-;Id)$APIg~fVx>w>}vG#OhSpk2WQ2$myu>Mp5 z-v0CH$Aja(>PXtK zC8coGVLP!GB!a>L)|KbpqDjzk))`;njLqa=W z@-wnOPNtBgO$|ow4a7n}iMp+1%ab9#5r`E>ofN3<-aQGD5#Vvxh@wU zg2pYzg}QcjhuD>=T#cZiB$6qlL~8J=CTyIRg_c~{%;W|lE9~+3Okvu^GB57`hKX&R ztnQXuvq@7jERDN6&$tP`7A97h=;`fI_nHQ<58Lja+o{n)_epFL4_(2rVKJ;QOuyZf z!6OEQ?q=!9I_@tcX|dCDh!=n2bQ)DPYGNuEGkuEpsD<=jed%T~(#1WZewa8c z^9*lEv98?EYPDd~h)X+3t$a^poKh4;#vbXxEl1?2=%}gy_x=927m@ni7fHfnDFi;# ze+hxaR0W}5WoUj1<+2A}LcQdG;nwW=se&(ju>Ej(6hv)OlMT;GUh=a|sR6^noj>D| zwnuK7rK_Of!Porr(8GE}b$m31p-JQ~Kf{h3iy95flQF&ckLwiY%z0;vAGfGtiLRMx zl|Q^wRwmq8f5R`kl`qL0yGDHn`eRoLXGgG`IF`yGC}_x3M&hb<|gxsSvdP6e64%dPAB48AmYA6 zPw4AawWnH&>?B=r!|uSB3i!HUKRD(S-J0$#354>M6w3})DfYg%i=tpGmL0KOCSmJ`s!eBM(n;jjKgmWbpJl$6xky_x|l2 zK>b6Le0*XJ-mX9{Fa?OS|1l|x;t#B2Sfa~mU6z4?LPFn?z`8sRwM5dYDPq=nI2(D} z_hduJGJA#_Vb^W$x9V{1mB3q(vnM{gr*ynEzSxw})Yk>Ep>_xV_QLdSEk4gMIdV@eibtk9zaDZfD9i0pddH3385~%hGv3SD&LVXaS#vt@tKNnYX zV?up!s1m(_Peo&?h$l;L1Q8MI=C?fb0O{baxsp;AbldL!+9*S#@AU8Ox?|LMb4_(D z7Ox2@Mp=-6UE~puNU)nV>YC&b0Nc}ApRAzl=VBLA(qjKbabwX=lf^ikADsI$T8SD` zf(n0gFY^9sQKlym;*@Oq4=W3Xlj1J(my`F_1;1|mgzd1ReONlDSuKGDqT@N&mw(?g zB3L#4{=)Oe=9TQ3V_iCzU$T-!T3B}_hlhZ*D_M*i=Zu-C3LFs%GkcGaN7K3O zi>t}*W~VK6Y`FkBp`kxoH#Q61im}>28%L&;IVmZYFef}=l;Zv%Ghgrly14@lV=A=iUpwrQ-dwn2*>{KUx`Z}TUSlQ z<6Bop;US#VwKi9$Yx<8XSzk{D&O$`}L8s66>5!1%)@YN#qOYHmUduaNK4l0BJ!N>i zBAnR$)TREUjfq`A$%NG{7LB6pPl|%sC>;P(5K~Dee&GW~#EF#=w}lQH*_JXs&(jNt z()WjZD@XmJykOyOAxmPjBQ{;ci?De4{Mh}x<)B{xmN z8T!q_;rDm!SA6&(n;KfHl@Qg!k;bRBrrU=!n|ztP^%Amhd)`3I_ zZ%nskZHQ2?Fllod)-2Z_>AbeJG)wQ@;&frLw09Sdwp!AiXhl0x`qW@};-BnVu3Pb% zSflMn{45$Xnnd*_&Bou_Q}*k|kBR$Q?d1kuqk`3wmV1PK(4+ZhagkQW-%{r_m#*su zGQLT{)_mcE=7%H2_q=alzwrQpP!^Fc6GjKq`=B`tkD?5bvm2=8HJ8L>1fbJG(5ZRH zY6$SJj9j<(YL^)b)L|3m-v!j5`lHpv?-lj6>3I)Kjc_arIk}a(^at1OhI)!VFKE4) zt>s4nxOlRnGie(;Xpnl8RP%zk;Y;BFDoR`Z;Zt0wif3L#lD|`{}BqJdpiztQ`3 zD<<^`YG^QW!+UL3I@>~W1nQZyk=(&JuBA5Qk*4X(HFXOQ*1MoU>JX}%O?IKxrg`Ph zeV_X3*2X4nU;DdqJxyh~HQvIKV#Ym0Qn~RoTATQiZ}EUQrb-ge{=^8xxNrGfk0dy( zaoNBcgy2f!f#odZ@K>}-n2A4X53huNCYaLVe**;Nde`3V(VJ)cG7uC}t!=HecDVOY zw?013EVj2%Ba4I3ZRg%-rS9&EX{N%@M`KJF%@x5UyS{H(`~zd~JZW@0On zYteKH&%gxgl*UT_RvoJF9I8kaP{>G#y1jWP(koKZ)T6hQXT`+=2y1z~axKS?92_7T6x8`9HYU`GN}Z4>D8Yec z0XX{hogrq0vz^H#dBVqpMnBinzD3)XBQ3|^)01LdWO{Xw`P;(9H;wt)0yMZ0A6zhI zt2Dyx%V9;4$aG)a^hS+UJqAUbRb(%U@i8S2)Lk{M92r$-ym{mMHr5(_;JCck=tAJO zydg{J8{a2i7ZAYqortMX_!KYJG9@kuW|F0mLqagD@B!FIvQ>u=vAmg2!k}}lqw~MFC06DSe z{m>9EtePB+fC`hBUU)Q^%s~Pld8I=9?qc{kSV$|<|Gel0(GO=u?j;@!uS+fT6H*Jx zIVhyBD$WPQ_fjyZ7??4!tQx8ZtVBLxM0Mv|L>p1H`xI1BQ&5;oT6!-r77IQUnMr7p zjLIz0YLmdkWa3|crEN8DT{R3pUz;|o_il#vg*e~DOp~7dv+_1VKz*eoc(QtTvv=XX zd6t4I!I}yJ?fn(IKMza>`Ax0(YO5zYN{O)sCV~Kr@@N(#4(TnQMQqEzgn%F*h);tG zLOe(MK%j+eNZOao2ZEp2uAzd>Oj(Sl{}%hh3Qv;a;K@(LPpd`=((XH>D;soCDSiTw z5@}b~>s|ew+TR;$JY^<$F?%v1mcn>8vb%3r`eEz=Zk zQK4SL!-y9?=zib@IpO1i@lA@75~d{50!k}G{{U+&p}XXF?_5X}yEo7G6B$J{08*kH zf1r)+qUDtPo>&Eo5=N4A9n<<~8Cqa1h&q`WPL!ABWBK3pMufhqlby03OG2hvgSAqz zVqX>lL*IKTkdKYTUKEtQm(ScG;vwT>cF;hL#YM5*3FpeC0zXd*&U!`p6rFLb`@eG` z@Xo6#W$3#7OgkoG!ld*U!~9e0D^1GG_HTCH!(>A@=+61r=xdA);rJm@gUuOyhf2|( zmp4R?hEc>?jScQaBOAw)ZL&EIyV^7sk5UY!-C(j&ekZ);!A|^~A{xqymrq!~(8&_0 z@c!zSlTD$M#rUG3Su!Jv3P!1l`}3N&oLY3g0E^@!_$8m90i$-L#1vB;H)bIFSn<@q zKZT&X1?H&z=8EA-k_%@^o*2=P?4+SK|Md=$1>j<~;yf0am(x(kg@8vj-1d-$a?to! z6+POO+8iY9wU+eB=gv}D0abu@J_-LW^-0UO1;3jS#*V+-3dbFx@&5&SeKHpqiSgk( z0jPJvkroM;)jtR+p7jq9nN3gM?K_SFT@;8PQSdRYAE{$Kr%0KYkcZ5vhogOu*6Pw_o11%lX-hWUPUSeVXCG`q3tEZbGR4P4Xl2z<^-wR|z zqE0_vIE_O&9>z6?Ug7}&RQ8mRP%OmCBcX#(KKCa9r~sC;R=3|0=u@;LlvA#;W2r;u z5Y9cV18>$y3v3r*6l9JMvin27k zcw$G)kv~E~+=5b5BbowRW8fg@O^7Ozr4<<#cWfPQyHJ<3P?4E+N)*Xv6hDC^*3( zv>K&Fp|ivb*%(wwFr)?2$XQbF1b-8k$z0L=T_p>OA%Bc_)3AKu1M&mwh&<;L`-2mD z$g^H-i!=nysCYK}DSnkInzW1!9XT0IaBn5EqDRk3NvmYG8m4&WqdRw452Mi_wd>9o2_Hg%IKws ze2$g$v)SOET5k5j8*8*cno?J#fla<#G5-5z@j+JL7u}{Pn-T zH~>ZI1>8hM*r`%4dcgo<<01*$q}b=4(-j{SL_S2~-SCU}@(W{z*lwvT>j9Bx7nrHkQZfU>Yl47XDx` zDh(?k7E-6gqj+Z2(1<-nJr$Z;`rmaUoRA?>S^yp0F9}hinpqmz6pQ!m$o#c)o9HIr zhNx8$)#GSI3BRf0zm0R((ple@{C{t{LKXZ&#<5m%4I}Gk#&z97;;?Fa#ANCGrdi z+;+d%r~X3ftT0ByNh-GN5pY`AVDs`@rt$SQnu+(YkYx5mZc^Ts3?#!%_>+#J)Si_gGJM|)IlnmT8fa{^xXU0H7UYV0a-?$fk+y0^c>F z|78yv_20e-({F@oKRzrawpn9;pO;JT{t{8>M77&ZN-rfT9@H06>HCYGw7y=;ft^#t zSn)k-*p$bCm|tq-Byy&(h2}NIQ|bcl-%p+&pV~LI(lvc0^U0H>#lmpvU^lE+B z$fbUW{LTWzf`NfN#g6@xe*d|dbB15F?<1k22|eF84f|{2?pfSZy4sRm>ri}%C=S$R zXyS%{@5b! z&t)pftkl-#pFPZWl3vE!e2)-sg*Dl7nx7DTX4G1HN=YMEvR(g zIHZJCwtn-YL~Q>V6ufZ$fohQv&r9zjr3fDMjRpXYFupnYw@{4}@12a6tRfyIvA*uZ zGK$7a-ekGMO6wns0&}11^<_q^IU7YZ$v^si8)L+6IMbBmzokY|lMhVu!Fz4;EnH6X z=(x)M{<+QBMSbRBf1%sFSF{*Hfo)kdQxMSGEB@H>r>JzdCD5l4+F3k@ zVs~K5R#(xUisP^^X@z;SL;j(=*7zO{3TbeAl3M4!YgOA41X{f3106P*m7>Iv$fQjV zi(_6HiTm|aUmtn%y4k|?R5|*Ks#|38T^1dclOXPxrQqB5PX6Z|J|6DV$R8S%>UBP@ zZgMow8_u?g#ZJ1HK5j1?8YjJDbM)O9?vu5>?WN;X@cgiWy*1vPBlaE^9xj6oFy@gq zia^fp>Qm#jR8W#TYECEG#-r_brI*Qyl~p1sgOU*VRIZ;4d3;Rc>=>ZfcRV+xUO0}a707XvBCD^fBXl)L!YIqv-K-#P-QM9NrxHidb^s!8ulWKr4%QK^4>36 zNp@>?9L)upp(h2Qp(?|KZkm%-jsZ@sBTq#+)mFddm)g8llZs9~x8V39RX+?0%38a= z!}0*A{x#{^umg)uDaL`*IaDmw``q*kNkG%Y3cu994e%R?tnOBvx-e-qy$LsAP2+B) zI(vNvWzp}cwmdl-pbSj;!0AZLbVBuFv3ml|(8yu;FstR6NMGf=>{#WGr%Ka3GxjUK z32D(5x34AuffT{3*1n2jHoc)%nX;sR2OsmUzBV&t*Uf}E%j&HE601JeQzg64mkL3u z$|kB!{~T45%Pm=w)Lbnp!9~pLX7si0Nat2oR3ado$Do)u$!ER0GOb!->TYNjM4zLp z-tS2BwtV-`&Yuheu&cq@wdGXYUB$nPG{Km+t z-6HAxcyQ0M9^gz<)6~k5b=lgpC?y&PPYazJKTYao)AwO3wq^C9vbs&+jONeO)$yc^ z#YL*Z@|$!h;wq!DW2o#8oWPM0M9dP!3I>i)d+RcJ_Siy;%{yh@1OU*8uj*Y=fFs}4 zDAj$u_DS)@eRxitBt~xdi?zzalv~*rbG{n0e*nN2-vn#uy|!y}xmt=zcC4teGR!J+ zRld&C7=@JRn|sR*b`nU9$epoPRB7409$Cf0YN?9ktCJZcc z-I=FXXv-E(@doe@)i>K3#R2<+E}DFsyj(?Y0F`0go@0|h9qmT+Mc!-j8W@&{V|_gOyQ@@NqzEoodnV;H>K^NPlIPu2zH7n~{2CEW8czDim77|o zv=G8>x3-cbe|Hg%p>S@p#a&G^lv4_7N6I7negQ(wXiWkGQz4X!y|AgHB7d}N(Fvl= z*m}`7Mng0R66Pen8q9p{Lt5(Bo$Vf2;V|<+&S)p?U}9vxiMYn&skcXi*1oKnfU#$( z!mNQ*}L*Kp<0D#G&g4+@Vwz@mVhyw7O^xKnn z$h=g+PDR3xb~LVZ@ZfqKmlDdxYx9|h44;0%2lxcKD_qM~x%TB>wjB%7lV#_Q;Lbyc?p^+gIb(^X73uo@!;fwz42vZSSb} zEXSLpgO8dtB-6DbX!ASHw561@G$Xj!eeuS~rIbFTA66IK=oa=Q0a%`0Fa2s7sYygM zW{0V=uqk^*XMM1BG5be*ep0UHF4bJw@OkXvqq<{ zVm!6SkaK~DmHZ6xKgBcRw5k5$SNUU!_>UsCEk4SWpw5d;hv(Dzgr64Tj-t^@z&&07 zf_Pn-r)I|v`W%gi_3~L3PUlkGC2(SPYkjl43j^*=N<3Urn-6> zK3r#yvF3Cpzn(|=#+DP6Du)l}i1D(RM>-IYki&$P78~@%`W-FY0A-56VueZaPmr6i zjW5e#ivY1z8~U~cIgt1u4QY6u1Bq$^&a1!slY5w6!~o-RYw#5YTPQC`3QtCW3Z93r zi6cp%3tEyyNNM1e2peS^AGS}uprzpECr@aEflI=T$``b`JAHYc{1#}z>@<0v1zMmt zJqU5+RViiu)zeT>18=t^;9-+uGrP*`-uDmWn0m1+dYJ9SZdYL6)0VtWc9k9Wa-L#q zfCwvk6W+CysI$RK-);#z<=os|mm8uLT%Ttrmb>^JbhSQ~d`?>-5+cA>U5{$#3|cJF z^ZU9(*jjhffsX)T6*o(*t-OQS;UG99N(a?JA_F#C%9J$1N-vUen~clNDa)a+vH8wP zA2L2tjYW;?mOzBXD|7!HNY@_9g2l#@@-@B@CkTo*S}oJbdEm3!>|I4|RY0`sQfAEL znf;aR$o*=TcifT5(B7KZIadF8B zo#IaDm6-!T1dz>q(z~kOhfm@Tk9MT~{(u}i<~JD=u40U_C;R-UiFB!skJZjBxBk0( zKGOmuaV`8u_IBH^(n=+}>3x;wnU5f5IFXbJeQ@aF^j0esJuZVW0JTb8W#UbE7STkN z%jBP*od_hRRs!C(4Q4icBgxq*+J?xowXmDBK>#4n&qBL z)bn=R^`AL_TWRszar7AaP=-Xas>0+ma(C&0P7L{~YV}^4prx13=_EFAQPf4&3*A#zTO;J$P#B$55GhrIKyPYFSPX zu%jcXeZ%gOBTk=Dgor|S#4AIBho8M)kP>M0<=Ul2!IvW@hq60{n!vJ>qMa=2AUN|+ z<^5>9C&@x-Wo)d@q-*;c+tJuWQsFkr0Wj{ajl;Xnr9yzz;tqYpsm#t@nHgY@5iUcY&sRyhs7!sD7Rrq`plu7=stmUEMcBjlsx3SvbZ`*S4lR3TZgk)WILmnvnH! zW#k&{ZpC!smOspXWn3*ltuUap!@PsnHD6!{Te6xC2sqv#1<03<&}bKSTtbFmR7zit z0^!KY5_U=P?j>HJ&GMefk?M=`2UN=Dfm}pOIrvjK%&SZa$^!!mThWRfKNewWaH=Ze z=JXU91kCkZ8%%9J#q0W-aF8?>J7$DP=IfW`BlL+9Ky$fvayNgE7Y+gp=I5(%x3Tdd zSZf#qW`&t;0fJ?qC3^c zv9&;3KcYtxkRZY|E1ZE3(K(U)-+VxfEqza%@`wHG&2DDbWPd%_7fyK0%)LjKmVi&9 z)c=f%HAQuhRY+hw0A))pDuq(yYlMpPRBt#f%qE6i8be;T^m^RZw8C-9Jk6h%Zby#@ zCT#Jh!07DziFAI3>kmsx$f0jkF#Qa%C8j>^*lrsU?n-7Pfn`5ygL4y+W$)=~nWx5> zySL|jSDpGI#so{|LG0t>B`K12n@G`1h|He>o45Av(wiV(~Ml!^Kg;XK}uS5cy zHHZZdgf93-fIXw+gk$u9)kyy9FDgA33+UU%|HFmeg|GSm3tCHWf162is212BGUi&G z$N-R;NP0(4yu zEX(lxWLWLlVcg?s)TT~TUMM2}wWk2bSWs~NfQPw)6SiLeGZ(djH zsc4l}^Wzh-HgOK{N_lzzEJeA|%Mo6sz|JbIKeeB&(6_2Ee01v#`fgs`j#A0{4;A|} z0!A_O$a@_TA&4#K_^Y#@ZU<46N~V)oDvYVRTxj0$X*TZ}eTA<_n~b74;J=TH1vmfxnMdGz!Y zd?a+V2AKvFSdX(q-uCTeT4MiZR-}1=603Z{Y!y~HP4h|gXYJa_?SFUyPlv+!stetq z=BZqgS;)mkHQP8FkjG+G6rk{}IGsatVRiV@`*V_(8Sea^SPg|h9QRX89TUbMswH=h zpc;Ca3`<-D@a-beI`9??OP{>l%H1O09>EOd{dc2JZkc=6>~N?_fx@1Pd(8@s1}rHb zJ~A#R6pauTvta=j9bO&DVKofvLKqFtnzVm+`w0KqUB8wcDt^s-Ryx^iGC%crXvrHk zYvBr_hxsa8b=2YYO*8(IHg{lXfdzLGp-Lwu*SzlL)kvz3ndeByje=B_BCLoFKE1>@ z6D<~B`dI7!&hKqetH2a#!9Wc0ZeKeVl!y-0*M@YgPd z*cM{LcOk0WWt~Co)p-oi8)hX5K`a`aMEn$Jj0?eA8_%Flu3^F$ybKc3Zn}qfWqNV_ z&>iB2@xzX;;M1}+Rt*b}<)gcXW@E?|7F;d%b{=eACMP?3-ZlRnq8LwlPV!zAE zaIDV>_T%G_kO~Nd%yu?a`oylc6v=|&+DEG5btX!IKdnbEZVS#~4knIHPOs6c<0Pr! zIM3B5*W>v^|I-DKX!?o&2yTmlrVpW!H0o#uSi+lc}1|six@{n=G5B-+lY(9Ij2#|K_bk zYVK4#+@HONz%uGU%CqIAbXV>pN*sKlXLq8BuFj6Has`Y14wSngL-7Qec5ct<-)yYO z_8=gMKgji0>Rtbq=_9?`3nz6_Z~qdt|sPXuYaGAfh< zuNB)y;=mm^FQv_m3t_G?F_IfJ-oxrWDagrDiiBJk#DBrv<=fzjtre&( zs#nhZr}~=E($R-B@e*Gw?1O+O1FAfbxDHKaRl(4c=HsxZbCrx@P<75hM0TNq-f6!Q z4gfQRfjh}~Wz?@xyGH4}2>LTDa_fneG%AYkdT=j1yEih=#Rxl$;eC2oj9kICt(I95_*eaTr4qTRKiPn$4 zIUi|VgUY((YL~ZPslKzA%6`}Bo#?seF)vi>$S0hM*%+|t)f3x>QGMZbz%T9W_rE!+ zPJL&K4}f;;6(6k^m;1+<;!9sOh;u%Er?tdH$X7{#KM4)heC6*1`cb#{ae8a42J=CJ z{O-r8q7$VDJCvyk<;&|rhf>&QYjkERkO8{657_G;zTIv62LlJeLuU~=3pVlR zlzGE$qEK6Qhh@3^;gHm^I6Zbgjgc;j?iXCYLQj3K&CUYp%dZ&i+3Z+Lk4-D|3ZpoU z+J)xFZTxzMvfne)yhPv0lIb(j{0!|nxolLs#|0N4&ST-J!T6Fj8z)8=ocgkp(rKyx z4yroGOyKz^Jr6h+e@B62uZY@a!QBRP`6RyZPjfa~(|=p{-QGR_)#i$Rb`D+K=dhz4 zOHNm_4l0*PG9iY4PuC^fD9?Rq0(SFUV@0$%7p?p^Z|vO%QGBG;=Dc*iH8uwho+H|+ zEmbbX4vr|TX*GNsQt6DieuktMZ(6@TmrETfvpSc~w=xiGDpC9LvO}0OcLg@MO|@_7 zeVynYc6{^mt?Ab{nxD&=PHr33)Ud`WKXE+Pa(BNxUWbLE|5avEz~jO1wT?5b;eKr@ z4A1MnQL4Mgg$^LfWw_7R#h9H-5{ab#KHt>8|eF_mRQf6pe~9ji2O6YRZ@pCKoj za@am%liN0@6rc58@5BJn%E5h{Hm;Ce$yD$KltOzFwpLzowolk7EN4>tRjet_-iYNQ z^Yqun_1WL9i_P$g47t=tT#}>gV1V=KWA?{=U|bZuLX<_2|KiTTs-}Uo&N| zH(}^aU9|6hF+HB~n&*GA_V2%s9}h^l#KGv-31#+ z8Ixkuuo)$S4`yc=FsO&~24>D9V%N07mS|a8Mg9c8SP+-j}ct#Ds)=)p1TX)~_-3 z8hOivvD~qMxG6I3b$tu-!^it7i-~u;6((wD=Dr6c5z3&|oJxV5!SR9gS5i*IO>Od5 z6OMQ8e$9d*$OAvUykHO)bk{2^r{HweY_}SEu3h6>;AM=II}; zGdw3s%_)*vqR(dxk0;iAe1uZ5{Yatoy)IQWtcU7Jn`EdwS$n;ggIuC7lzb}tCPZ}H z>()(gmJ1D@D!=`I!}X*EZuBup1b${~T4Ny%ez)oWeTG;bpbnvrLYiV~lB zyp_W^RDb=#T$OWL{C|DvY2Ys3kv+UZm(BsB7cJAXWV2>MG>T!V`{Gwj^k3AHuJy^JCJ%gYDiZHHl}Ya8ovvU_VM=-=*A8FnUz^aB~-BRy-LjEoAmqqY)P zB{=VdAmaz;IP2?Poq>klarDBC*p7Lin27xr_-h}IDt7>G`NjQryXK_b?dGRk z!J8Bmy}^6~O00q^)gU^TE4frFyoc7I4?kAX-{meX zf>+r>k2dZujs^1G3#CnB&i#dc*x*W2pW^)2`J0hC3G;>{NKqrGxj3}H|NPc(GqGVR z5X9(aY}!A!J(6wn-9^t!S!b?HMMeP7;{$|?{Az)EHvk~QQNW%F(49}=i}U8iQs4v1 zNRGm?1FC(6@xtNCuV*M2<%`fHwiK1&2_BumK2wpJZ!Enz#k#*s_fZkD=NQ32(B- zucsSg!oLIXnN!T@wl;)^LUzfs5@fDwbrVgLUl3?Z?~|GWMNDg>BU literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/8-cello/48.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/8-cello/48.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c4b556da2f46e54069966a7737bb23b9c9c1a664 GIT binary patch literal 36240 zcmdpdWm8;juwGys;Y`)8 zshat)cduIAy;eWH!Oy8ffdBo`v30V3{|)v13I_n<5&6tls`Gv(L<(1WS^^GlU9o;>B z-v@`s#wTay7M54nwsv-Z{XRTCJ-fWVeR%r!27bSnih`)3BnLAeuN!pd|2z^WDJ5Kg zFaYA`$8%JAr?LIdAOA><7PH$8*Zi`R$zGg+BzWTn;X&i*ii8|@T2(_*yptS$s#@lXNN@=2mE@03O+QvxX`);oA>#TIEzw0Vv+IdDRo1tZ z;AL249w8peEH)K}awd`{B$GTOd)R1Y_`IsJW~FJ7EaRT&uNdLO=TF|{e`?jdd8cRW z4!C>;Z!ZEFm=8~e+|z%!_A>NSv@6E{Db*^gS$wOyKsN4HtoCNnnRylVv?n@m<+8S` zy{JtG)342su&8Ozewld@;t1y!0H@jhGulhDv)2s*Ux2~SFFRgrv^dZeMekurU}~d% z5Z6e zs1^1t;o=<{qTb@rPqT21(XMkASORZ7#Bu5|&?j%Dz1BG!9A2KqmR}xzIivb=x-!bN zyKPXb-^-jhPQP?`z0+;3^Pt@wU$@#%qHsMlTVrqX%DfNG)z;3A1fJm*Er* zWj$+|VbI5rl*P}9RkWmC1mr;R7;xg0Z~IL}Z{I>K-my{JZnMyq zI|a>0Qr1N?zGx?^0Bk^yG+3gYxHtmgAwSOXb&3pb55w(W6g}~-yu@^7!qI5-m`!`n z&5hGce`noO@4i`%vGcq&9Cfthu}4m&+e3HlZST4_i5U(B05sZ!QRkQ^F0K6`2Kd=y2n7I4Q&m;y89#w%uCh%* z*`Bton;74zE2PoGolkU{XsNc+!Nv~zrR%Tcp;6}~a;-S~syWg&M~RFhccD~tfMHE6 z_uLJ;an<wXdDN-s(&?Q03`;LPsNp%T96Q@3-3}t-Q2m%cvv~YVN~pmuASSOjCdhiwt87V=5bW^khxD_Af~R z1P8vif)jgmm_~+tEA|Rz_#|fkd0$r!g{~?dY1SDvVcPE#<0|jo` zE2+?~bMh}7dy@G9zn(G!teYot<5>I5*`BfFaY?E*A=&;y_Y=XSr)z{x zaW#LlF{HvMo6x6VEf|BhJG;+S*fgRjomEv#5@|Aove&;iC`|tEuXJ(j5XjA$k|`SLgmn-{2z7Ldw>5=P5^lJ96CV*pNev3gYre%WH8&Z6bc9G! zXPDy)vU;{0B(gwIEFk&4nxhNQ1jZiyctAmb?THfOk`QJ4=~j!?98Xp#s5qazFRd~M z`*pZ+Tb0PyLQISsscQrq4Ho11EAVPD3BAc>Y{VIZoxJO7HebC~Ta0r>o&!EQGchLb zO|morHMY-vSoay}b)?|0TYrj<)APTUl)EnVHzju*t_irK5;?RTG0c+HsSp6%Um4v1 z%wZLgBNG`LIaX6?F`<&NtQ<8-9<)DZy*l1Covkh8KWpPZ>Ma&zB2%!^nV|jN8!J6> zMj_{l4m@8x_HfY+;%G?4SDv>f$0f#F*MUVTwO{$Yl)ilrCym&WjU<3HLEi@-AfbSk!AcH|@I_SRb|_7kFtBVzc!Gqk#VVp@1MvK-B4nX^ z9hcPUUpsvm^m}Ca`>j&LJ$0uGK(ih=XN_pljiwOcuNcM_zqR#f-g(#YSVRF4?+49 z1CzLFAcuIT)u|gWGmP=?Xr|JG(r{7Rc`6Z%tNtw|u55a%3{uSix}KMA)b3U_%TcM! zw63;`d4tgFcuBUPJ@;gtK>8oTc#@ICrk!$@z9Q@6MQqQrSkitd)=t00mb`>8K$X@k zgSR(5iRLsKbAyf;3I`PQW!-_q9(LNP_dUP6rlVV4j@YKVSvxV13%ai54p~yrNs|Lfz8H4QG_%j~*kix1Ien0)7#6J`@gfiJIX{mkR8p52?kaO-OBG{c$F2Ha z{pxg9muQ)*npl}yMIhO!%-TDDyPGcDd#mq0r=m_~V$#!g@kZ5Nu4UrEPT5JYC1$j7 zZQ90rb9iegTw%T)4DALBPDVr0ppqY{;imn??l19U?p2e=s`oCG!c76`&EfrEixP4>kATj*N zcPao-S6x}5#FOrd`ouQ1u-5lb3C2CQ9KODrv{59Inbn89O`E($w5SVN*0gPEYN&gj zLEbi(bs))*E^VDC9JN_R5HE`QI>SZ=8i12-xc^-B(M*?Na#g4eEUsbcZFAB3!6?xEFf5eLch5B7o$)UuP9=5D8m)NTj~!@hLw$UBO6{l zDplie9IGA#@4yeMS;BF5O0IKqZP0@DOfd z#cf=C38K#Kt6x_>B}Pnzm|K7xG{i)hNqH}=n$--okH!{fs*=~JU8j!iTs1r=Jg6Fq z6|3|&c1!Gh5`WMejvzH9dK&JBpSj=0eBxaXPMoT4>-D{mmEqD2S7rC4S(*wQ^qu%K z;%0tH&d(13fB10_FiKIyGY!O$USng=0|J~n=4E74rJpl3z z**6eE3XrmOdN%HxZni-dvfa02VZ$t}OW82y^ct){;<<#P#pL6>!DeG)YhYb>M6akK zG#!ZCF@Suf%*Lnk^#*`ce`#?~Gyq9evLH3;(lrK(oDeG7s=kMI)TiD`rk{yyKH~j# zTZFNftNwhcuVZ`uCD{x=l+awBa=I+c|-WMibf>E4Yl6w6zJNIZr3;LzmyD887*4d*EhpJKmjlKw>3w{oJub&vE!Eym*0J3LtdZKs#LfD7PwHGoJ z+4Qv@SJXOJ^^-Z95?7iDMB-e#Z=Q=WZEXbhq-V_DYI zYRoUfmdAh(qUz6|PhSX_x9(=2aZG+u{N3e=15SS`m(ANmSO-kVV)iOAfbEYSf#9BZD1J@lBfT;9pXlH)>EzGSbg@Ue;FtGPv3^1 z?(wNO^o-lV(pDa46mm7w<7uVPCDMaPEG`QKXRjItBO~VwLO zl_iq`xTP)vr5$a}+;O)sv3WRfq(XsaVG>&odc|pFkK@+@ditgYn1gs33R-3tb>%Qy zLkCASdei(r`j$TfJsb6u5!%QZGDk-0Zs*PEe2X<_b2Py}M(CK}L$h}j zq+f91wjyHdW?}yPn{47s4gAFcUnQ8gY-ML~M-bohRbj68Fa?GE^Z6aUfubzhhR=y2 z_fubge#`M+*HN{Za&DAOd*>TO(trfsdt*6Pn+B4GfiW{pO_YiUySayIqE$&<<}^sS zf&cUgh)~m3T=!j{$k$iSHVwc)SRZbm1+I=GXDZy%$Ho30oD0@3?}@jlmu6IOHj&aG zbp2DNVrFJ$I=E*7eF7Pd`;*+eAdz$eHY2hO30;{LVu|~hH6vuhJ~pkU$#Uy*WUQ3w5@W z{WvGNeEr_gh2VVFxU5^|e9@>;@NzXO$d*J3_xE?z_LI9Dts<8jSwDK!^EUtTUH_V^ z^K`6yj;zl$=f-+WdED+T9nM5IM1g!ahHpV{{pW9*BiUgpESv3D0B*5R%n-gyAcsWQ zgciBwO0=*1wZr`Lg87YlW0?x^ul37EZN>sJjanf+w9howYuPN7M5}q$_JVzLKaN^4 z2=@hVNai%7`4A@$Klj);JPS|l?eaO4-2O!szueAf%du;;snsInmq;NG>3k+0y^-G_ ztTUo1jIwfM!oYpKc*x4i${#P~f9T(F4sw%(08}mH^jnosFk%m_$CAzEKudle)FLiO zH<2Nx$F{NZUl}}t^Q0nWL@t}r+N_G2?i4vHHattU{e_@+)NR_8T6n@UW2(>`ZOA>i z=p1PA+xx~<%BX$kgU^hRz+Op(cfVixM17oB5?`9yCjj=grwJvLlDP5tA4SH^su964dX@59XwsBN))azSq z1ykdPrBzv1mQiUoQ@1Qt1a_#2=N@r*nd~bPeUnVIo&8mnmaM<9bQ8oi-P# z?ce@w-B(Hanl}W>eLEl>@)N+H|L-r*g839Y%K!|SjDNh}^+|4?dRFp*c)?Fdcydu> zlca&hL0EG1VBS;jIC0Dc)~@hhjuD8=B+}w+V-30rf8Lt;q3-*w&vvD@tQ36Do9jN` zc%4@hNY7wvAH8{{Z)!d3cgFQ9w<-45rYw&im;ZhNcXBnYrhlUs(r9_IJ81LGtI=OK zw9U1QvwMYIbb4c)q>f>cd*~lU1OVYc0D!12v);w|g18ozAR?5h5bI3=x9llquokjT zB20@VAOgkCDxB&Y?I%ot=66^T%CI>3fl!)%UN{c87N0o6Vh#2Oe8bz`=*Qa}#*1qM zTm)H{mI{OWvt|clU(?SypbLJKH`6Ds#Sfw~ng#01LW`sm$!F4bb*_}QETaE|ug(%q z9!Y*%jo4Tws4A=N!C$SBI&REM6GtVktWvwd7A4G&SyYuea9wi~54*Jws12gi@>M_D zayE>W+*e(XQk=MD-_TVS*nPcWdG*@qoIQWo1*aLbU_ihVQ@u+Sa54zMWSP@6Xapxg zS`^GE4#1p=!~@iaC)8;abvsswdRahikU#RrHab8rqkx|NJZ7QUciZVaRtwwhJK{Cs zspdbnc3{_dQQq3M>6ZUBO7G>SuM;=@*E7`a^TB5(5W1_P!fP3To{svs>b*V_>s%G1 z7#l^E>+Cr3fL|v)9S!;eEUoy`%I|~z`lkpdakdj2N=Nvx--@HIqfSa5~?QIt}W1;SHfNYYMiNRYN~ zeUJ7V{XG54(>F;T<(R`?^3TuS_QMQ=U)9!Mc8?uio>^}LyqmkdY6UA1_a}RiW|iM& z8{1DV9BH!hBaXSAEq2MrpZ;kdC!tV>`*Y6pJ~YUbxkjsrBC0^*9<|%wcgrGMyW}Je zLn;Mcj+w=N=xrnbfuZ|<{YbK+@>|OQ%z@xSf+A_=bc)EZiFLCq0TMbH92N`XJdm}3 zKpur&rhu9Rp95FtIE+4G+%@A-#@3(;QI5o*J=^UurO9hOrJlzqSvBC7p`le0tjV>8 zHBiIa?a>J3?^Y*@N+u%XUvc#mY)0|(9%>q@XrrDd_6*NkS4x%NFIL7p7(rJ7WaE>- z$yer1-M3wr@{$+Niru{))^hOc?`Jt@y%}|+(=&nCd|4E|R5febnG{qoc-J@IvvD`* zof;4358vK=7Ry19055%Kmyi=ph3xh4FkIf4uEx><70V(M6${&=h`lV)5Cpc8HMbI& zVmDVnOF9h2cF=k#+K$tvK_5&vCffnyU-qJhUdP0qeS6&+{rOfaSNVW14>?5)uem*n zpO=lQ`lP(&7U~Z&Plgd|ZfZ9JnOr;g8ScDjZ4Fz6jm`QkGyEMTpA>?>UT=4WKXB== z*#Yj%^9k9iums8X9VuvmrV^o}lJJQi`tUt#VN4Yqdf_WyXz8{~3Iine2br|FHL{Yj zQPWdnGl*}9VTYt_l#=jU2gRVIZL!;E2*UJHn+8*$mcDiR0UL#0EgBD4=V4~}{Y)M; zDeU42v+VE&Wx0ZeXT~g5qh`UhyW8ayhT*slxB^1A;L3}jl-&>jp0OGPDaa_P`d!CuFxVKOBk%)Pu5muNrW&FU8-j>WYO?9!>PN5(ikSLD z#)TRbqXGq~5>R7sl@%6w-0O?>Sbw=su&B)zj{gKKud2V?RH>>oj)EUZT#+^-+f3rj zzozc#Q*GUV`Iy<4R{GX7Apnf~-XowbEC>u0tnc|~O-2ZqDB-TS3E?S&e`4h4&_D12 z2BXT7Dg13jw1az}pQn>~0A&t5gkaKQN1IjO#-h@XkUK+v*=}C}Eqf0&I~KFf^KL$& zB0I{{r}s)D3I6F@Z;`?CmLKAmIG$Xb#qn!J_Nep^Am4FKfmaB_6IUSVk;mOZvG2Tj zJ$O%7i{2iH)HE1Mm@fteEGeBw)K0#7v!=N4T{`%`*CTq~vS#BVsLepV=4d*mVtZ@i1uQ4L@oSAnu_x528Q>rZ;&DZaqq#M-f zz^KvRzxa35ng6Ri@IJqYu1ffPw=?<}&uoSo3j#oxtX^t5uoed)F})?Sk{=8g?F2f; z7lYo{#*gV#LOaZpL0w!=go{?MXzhcH5%n$7EZVQDH}Ko>)qm2H!dhB zl2-k8+MBvx5$tD|de;e!J(BXQwEps6!jijLH2@ zl%ZbCE8Sek0-7urdJ)Il6OI1d*CpM(rc>dleH7E0ap85LEsRYmI-LIibF33t$@aiqL#r~7@m454^t2shTeblbC0~vCEHfEUc=QFV7^!-O?r#j2}Z(1$QkS=My zdL3_zmj(7Tddu&h=cLb5-OZ4zU38~FdoSf+e)Cy5KD(ecm+0wuUg7!{drsLetaG`i z;A{QLVu*{%y>+5Ix{F+jpMRb{MTt)ZBgz-Gh-T zC`%@Hdhg9L~SdL;9?6%dITO`EDpyyyjd6AI7>%qc;7YjKw)yy2yikVbmryFhO^Yp{c zWL)iqLi<@0AuX^CH^~EEYPa>)`7DT+z-ixK1cN*EniTu1i1-vYH2V(@`AC{X3)Uad za}xJh{CW%pWSAos+`G^T5m$OC+|yDq0VZ1C`q4xanh}27;jlYOtr>TRCpDSFM*TYc z$80L#(3H9<^!Csq+aaZ7)&H;VoHwRZZ`}&P+Gu%$#{!GCf|j!N>TgDWBnm2k*lcnc z62L;}J_$)e@ttdckt!OpMhv1KTk4rMRsgmYj)u>CKeo*BCerYG+`htx-oOH(y7IlB ze|en{&{P_|``_Ei0}MACRFs)SqCxRzC%jaCZn?^qm@y~U4kR7fjMH>B%RzAwDcl1w z_a!SPvmrCFS!L^TO*|cZ{O#ix26{H?Xra<6M<7N0D`F{AKNu4TS;@nXK&bF_15(W4 z+#1#sNGndu4pNpxjA$#*jkfXloUngQ#`=%~9Y#CQzz)7m%D~o>6!JL8=`#<)L&2nqUKtq~J9Q(w>V(&ZDiTxQ)A$K||%BE5l zt6xv56UWC4v-<>RLLH~4FRgc#brWVlihkj=zz6=<@{G;*S=!!g>WTokP|}3d9RUQw zQJY*?;CsOzX)IVO%3{U9|MBmWc)EtXAovt6H4 z7Tt8=tcJ~Z-Ch)4&%Pk++}!3$jZM&I(Xzbd`}ZYe_JnicjnBvsrj08j1c%_{!AX&a z?CpV|`bNnW`3`%7sb9I#?$v47wodp-3EcW-l6lbb^Ap#t!@1Q*J^~P!1pf%=^kBQq+*_gCp>8Gf4ENCTm}Yh+=6Cl!6NqQ%kXpWlvY3-6n+c(AWmb{w5cK34kO1jVBRp#tyn)~Zn#>}Q8#T8k&xkR3u zw~<1#6mE%84OpieXeXPi^taJh$|wJeHvBmi1I zd}`ah0B<+;>k!xWCJ$E=S|QV_VHdAEMuT zO-iRjSQ6yt{=#jLk^jI41`0^WC+AS&b$m^ItXLAi4Z9EPGs4eEMjg>;3^z>i#caNN zfu_z&)3v&(nrj(g4K7pvnDBF@HSn&an_>hT1{5y3BhxU&HdK@?HgeES|PaPs&) zM=BVI^SfARqSo*hIZj#;9#!?|ewj3~)1Dy?dAvNe9BlYf z&)#c*@#nmcU9~(ztqxCTLp(#hpSDpM@`*xn{m)J+GVy#W;!&0@hoK_J1V{eR%3i=0BH+Y0r`hD5YSNgLyr|f z(N^Y##ka~yG%1ARqGGGH!l=qP(G=FfqsWGSZ^Tr-()?^{N|m?#l!}4w<4Ms`@T!qn zS?P-^kHv((4$sRjCmmEZteB;shoY)xm6j9ktD7NlhS^Tcj*1(9cbS2EiyeF* zx+lWuOqeKXm9hp2@U>-0#`~fH60}ANjrAks?3I=)l5^)!ozBpS`Hryw$94l^*b1r@ zGb)2<>94MN?CvK$R={j>Su6O3h=*aP5KT!MTO0kY3MhC9$Gst8U}QS zAAfj7_ZwunyN=9%O8wfw&%DUmB2N@21r1LcymN8W^tv<*GfJ4ZiK}#gsD~LFE>d-H zqy@6EBvelwrkMYXCH8?2DkSP1pMoQ+{Rw2*v0*w{uO;fxURDlG!LwxRAO>X4P*gc* zkhhkj+uKMEneWpfJR!Eo@R~F5{Je>hKKN>mZsPp<>5DOC0;>Jzq-)Mi( zT1oefW4TBezbtXqZW`V&-&{uN^QOaS_&gEDsZO=rr||f(nbXd9d>?Oj26vwh@OUkQ z0Q9FRjTllrE|W`0WeXGh6cZ`<8hMk^$VZg$v(4L-T!E0+E{-**{gOX{=3aiQ=s&-ho%xP)e~{jN)>UvFrvSb zdA;!2>-L$|%MOLtL`O6sLQUVOlJW4MnR*rMeDcejz-44cK=hRKXdN#^Xkl>z#5T$@ zu!Gy6BRFVA!3eTFrY#9CQI)h47DtNs%#G}ki;otuL?zO-k6y9Wq|SqLVU54QBfQ6>pyMPCV;KMH`dG4x%ferp=tOIi^w&2&K*0qPj#8Y z{xBL=g{BQ@W|7eaRX?Wy*9fq=QUVlr55V${zvB zuuGZP?G{J5%fR8*ilFmp&4Ez5iJtJK6I&eLZ8{v%9GXBHh>^TmXfl!v0t#7;LKqn> zS)UsjCl6T(B{3(x`B{_mH0L>WWd(}`bRVg8WDU?5&=IAjpkzE=Ng@HOF1Ifo zRa0nERk4jmr@k*+F7Bdda7JmO(g4LfstHqRWsrhJyHHREIHsv@%#j<&I${WDT^Km6 z-Q^X^m2>4tuLrn)tI1*|Q{|%(i zdeV~bxhCYEPmCAm3n%YKa>??dVz)((iKk9Z53<@)}cBenubY>;V(&mv9YCOm0lQ_#*34{23)pm~Iu5*mihp|#G zhlp__D1cIm6JCkGRJ)vS08m&U0J2#|U1$NQiUtjK1r`sIVv&wFc!I|KzxfpiUDZ_X zE(64%OJ~Ew1A+)by=(6EQ7$s9ijJ&_TgYULSRf;=a8S&D>kb)Pk0e;2f2i!U zbC8^$I$wV&QJ7<81{I_T4Fu(XO-V1t2g2f-sCib{Z>d;zWX}N1bk$9K2S9|7sSM_6SZIyM zl3zas5v-gk!eW-XH&MDpi94xzbz#_gv;V8t*?K9$Vs2X8ju7%>u8Q-UwylsDR1P|F z(oRwsBeA{kaw`kj_6_i}9qWl^U8HKh7|!Y}r)p?fH;3_Y^192$v3EtBi!)EZ-r?1F z)@ZX^s#lAkQ~Ywg@Aiy)UPtl_2EXgr>r?_lS%M+BP1PR&2BwUD>PR0LvI=zMWRs}O z!ZB)DNYzNLzz=>RgV2v1<=*F|bWa7g$QfCld3%u}+9gmw_E|fkB@H;JJ`1BqEPWj` zaYo&jK3hKa>t4E(FVcTXj;rEdznL>UWMO5D`loeieiwl*=+Ir}7W5fqMZYRrcfZm$ zB7er(tT}#HVB<06IdOa3H^XpeGU(0n#;W0Y%7`m*WVq{TH7hq~vRm%iCtmz}2uO3B zCLZqw$cvzW{6}m+P-|nFHG&dhq4mp#WRJa2nIX2UBxa@gXM}&Dn z#)BAEWLc?0#s?JU&fFEFIrGl}xl4J{awJ?`n7?hZd279wdx7+9dVjlzdv`W1i5dIW z7Ja8ggCnDhuqXt~MIgXoQ1po*5L#Q?lR!GP!jm6-5}??}4}9PtfsT@Lj%G%q1MIJhIGr6ClJfMczHMMx@0N{xK+yM~o46G@?*(g6y{f7p7qde)8Os1Q~mQ zMn_xf))!L2&x>9#j8Y^1K>1o0y~j=rCmWE6h-s`O4wnSnOp?&nkj}FGks5^_-&z$0 zmR%*k%E+;R%<|tqof-@}M(5VuR@rB}NuBHQvJ1EN3WlV_u%CXCKmzC(GWyCKC=rTP zqyC|PcjAl6NBO`9Aq2HjQtoewyB%x=ozlDi4WKGPk7WN;-1|w$_Xo+R3HUV;oO#v( z8Ldy8FjktV>81A8`dT)>OZC6al`rggF-ZdqZ6ab(uTaMdAC)OK5|K8ekstrD1<@!6BcHCj-a@vr2jX^XmFiXev?zxU3x z9fEdLb?^D&&p)$na(^V*m$MgBQh_j3j85t1E|afgW`GO{L+1k7kZr`2DQ_D;L| zI^BO%GB*!B9rv+Zx31vc9IVNYMEQhKo5yS>Ze2c?vrOa^XBGwWrcr5pcGn3H-Hj_%~s6_C*~pH+^KbU zrdHGWQ~T&tw4BUUt^ZBN*L_l)yt@4~hgqjllfc=k3miyC)v~=S=0d32z5^6jRe@Rq zwLy!;u3gPHz`0YFeJMPt)s?;KT(9^SMu7jrfp)LqT9qa-kMP(w?3gO+eH$!!V_GZn zAy-x2J3wTGa1UvVg9siCW$aatgOkX7Jert8SPB!zB4v!w;vklgnN87+vF1*O|0thSuOih8`3r>!8q|ZI*)NP3%LRkQhY(o-bq3_*eWik4EC~V<$&L|y;Tuo z>TIbo9WfnLBOPjw0%5n_Oy!~eRyF-!meg-F5 z$Ge^AR~L|}^c^QCiCE|~#)m^dIzZ4%u(197VW7pF5T$;h7KOtFizx9IJCr+; zf*(E2*AjKn97f0GPho>oL~4esx(AhVKknlaB2q2WMu%#&Cw3fnV?tYRucj6=jq%&@ z{DR$y*@)7-{gyC+FTKp*_nLU#VEhC)J!|Iz){$NCj3x*`KyWpzw=r0d!~f9PQhqOeB4dy@3^%LKEyMEs`w{>E0Rlh<=cI$r7q#YdWe*9+ zAc|>V@v^p5O!lt|L_rjyW#iN`cv&xSrgMprfbcN`(*j8Kfyny^mX2FK*w)ER($abVpiA26G2{Ct9t~1+TiWX-}4V71@|tr+7BM z?0SQz2pCy^|2#982=8eHe>*p>JJ;pA=lRBQ-n|{PT#Z*LA8M8J6PI2LAjIT7XkuA_ zF*3l%*wBdfePSpV031&}oEu=h)l2{2ClG-4UGhVp&_h*Je)N}u+`WrfWqd7pg+OhI zT6i=qyj(8Nv&_tl+8DJPJcp(g{rL7t#<;qrs@?IPMfPnSyHnwe_$ifFw~-Z^ZlIps z4u!$UuGMml;Q4En>(zceU|#g{RbU!}yC{opIU+%mblBTnuT z7pJoE0awxq#qbBGqpcMZvd?qvs`b|V_>UP-HAnYe?)vKdtYtk3>b#Y)Q1Sy(?53-h zmz#}t;=4K~=w5Ov2M6E;gj4}A0|2;Zdqbn9mZ?}W9zour+CjQP1zK;;m-q9>)c5yy z2rc~ubl>|62MwL^`+4`os5)KWCdrpR zOa`serf3tS+oB~-MK5yan9gDuh1$qf3}`+Krp^v3sfBrQLizpAnAc^KFPuW#QAqi& zn!DVbMexGmgz`+baI0vo6HUK!!N8kQZP2rbT_4WxLfM=-PQKb)o4~tzamE>Li$m1# zH9=gPEN8Xuf@q@FDgCX=wB`Y<#{RZBkzK2+{6KOjoZ-3E&sfQ{_vjA3JSUtC(tmzF zZ2Y$iet-awq)%=GsgM~-&_>}Cbutw(SxMca35SidC~_!A45)ho*Vb=Rif@V+ikgyt zLzX+UH`WE3wJq|A;b>7MpCu0j%^YmkR5dd;Vln>naqL>I*4N&x`eSJN$18r=Ua9S0 zY+Uz3YM;aGO5nncXA!o5-0-IhJ$q)>CC2B4yDc`p*Ujyh`eZ@Klk0<@h#^4ucm2~aX-8B+htkpjlRAnpD5iR5^Ju8$63(rUkaQSH zp^0RoCV#Smf06*#VYarRZeHk(-&}jGz#LOj{?96C|FgQI;EauAreX7NEAgnF&JF%N z`1y@T^mmS1m99Q9e-8QvQ_0(*TRkcg64L6qf(Mg9m$OJ(+kSgRNMWp$fNTf?F9CUJ#Dx5$xoapuaz?-&uo@j*Kn02ku(O|`| zgnJ=gbF$Ws+tyxg=R6Pc%HMZulTU9tyZuKQ{Z(i1ANk=8!_qlErCvCO4`2tom zwlzgOG1H|=>Zdj*&s+c~00i_)vZ8})Nt{^%+q%!@_vTS#MI(OJ4}Ky82vn7M-ua0j zT~SHWG5}o+TrC7~0Jf>!#WAO=(Aj*(L{QL?(J%+Zhkzl$<>(M0;!r*VhDhe5;gS`> z!xY+Z{6i8IGgVw}R*h|xd!mfP&VwnOof9|=F0NN1BZMK;vFDSfnX!mSYMt(?))93> ztxw78=@ZUMr#gcRw4aGu4O8WJXakKI;`)`g$C05A4@kUD7G29sHtsEx?OLx=7mOM= zo}|v*Q62=(L=(-GLVUGCJ)0+cCy~H{-O7*NU|}%0*3Hm>Awpgw_6b0WxMYVEaf7hhi~7EBb;h=Kf6{?Sx%T`xzuNvwtR+ZV zH`_{WrqB7UYgYe2$4NCT+9Jq6Rsq&6dJVH%a51^&w1ZQE5Ad*- zp~Q;gvOn-g0-&n0$$ac%`&L#k2qeRKK}AcrB<8b|rQqflx!Mh}MrX0Xgjw%|*fF1f z+j`)BY#-{pVzp{Es{wz^3l2b)EM|^Pink1_ z60$n8{>I>+hWre0-rGzAg4F>s8(n7#cn^224aTWtJEf_^1V)-!sj`i3fnWw@4 zeD?rOA}(@C53X}3J*peg*?HvOd`CL|%COtTZ^2`ZSJ$msfDWCust-`UJ9z{;p)77Rq zn#VV#jU3v(8RvIaYr1sP^*_G#6S{)It3hBSMgau|h$qkOCst-llh=5ksUa~ryFwUf znJoExqJpq-wix&};j89xm9%ffx&P@;EC9NqtxP~VfbNKfj_CdUFC4_Nu$Ul?tMWjz zR)bbTv2@3j$eC4f$r{nAAMv|jy_?BXE^zJ!1sk6m993UyMzhU!^n6}Ty|7a4Zt2Ws z_a{U$u_&yx@=XQ*{#ULeGuu~dR}EAiq*sA5tLL_VQ|Ge>W-%$-MQ|oq)$xy%vn6gS z=dl+GK&8Ue@1#>n>b~*tL$IS<#e1H*BXL=lqOf1l*vHk#IaVU!42F(vJT3_BS&X5F-ma^kpKH=_K*m$y&fa*wZ!GrXK*2^qZ7h}&cApLXkljRfV2hg`*>kP zm;fM=sN7vDh=PyO+M5pqC`1sK{whf*(D!HK>6r@Mim6C;=B*Avntm@kNP)wt`{{t8 z{&ZwVDfQuLi|qPd^MZu~e8f=c_yfbqxr}_PU|N8tkK{o9i(#^tP?cxI?DVgY1LP9g zE_46@4gi4t)TaN|Ew67C$CVjdU|Ya94ttn{hHFY_%WA^=XpgR&278zRjT_5J3Lte6 zsel#~zXgP(&Zu14m+Hzd62sU)d^_l%2W{bP3w?+vqYS$GAhLu18g><9s3h< zbt{A~rP#9^{k-o{x(PsZ>%WDWzkJJl(OjNcwhe%Z);+p9j3~GxT{EdU@W_;^mb@HH z>l9wwaxz4VAk_1%gsJjdru%ap_&fu4e`$F5$9EkA4Inihd?5@xK304_{U>^RAcP7pRg$Nz)uQe}F~i zvqQ|tr$e!@Md2q$Ebm~C&~P?e26XlA4r>g-le?-xd{B42ulXt488i2$4*|iim$$FBzs*?_g<%b zDZXI4GT3&`;j8)n6P2w6)Jx%A!Pg%AHI(mDBAV|dZY5I%ej2*NQiFpU#1AngGB|r& z=I@W$9^t_2L8ubR95{jsV_?&Dw^0|f)`}6~kgcwOBON!7GT+4U#zpqiZvD#rYinG@ zbYJ`M(*I-W8rb7(yY0lbZKJW%#&#w)CbrQuw(Z8YZ8UCdH)x!OZPR4VYJgLm3NYP|M@PhzM8B8hr%4tkj9hWv$pq zVI)tW0Jw;Q!J3HiaU5_8%dqXo=(@B~bkq_xK%Y)~)byDy#_aeE)KRJqqmiO0p+wez z2DN4#s(<-M`Bm+S(g7BphCH2aT5Lv%_TPnB+#Gu_yBCqXu=N}j9Jnq=IjPemxw|L9 z=@TG>Cd~}`vL=H#TPvtJ4XutEz z9(eC%vnmdsSy)3cDR|KNf+z9Aln%#~V;Abq4!X`-a61dPT#LvkBkvq4f`KRlxk@lpEz3$r z|0B{(ZBSu;I4nL|>_|M8DWiDSla3Qz`rj>;+BMBCV~-qaV7WoIhT)T3Z{QmNR%)u; zzeo+?Z)W~=FCE#mWyj`w1S}EGb%_@gXqT6dhb~oX_1dn+&*lrv=uJ-%5|oHg=W}R) zLZ&4#u^A;m9GA3=B-cKrWnS3St^YoWI_3i(RT?S+G+_UBejjx-mRvgob znw1h&bF@{GT&|geX9C3EYos9JCV9bkJ^!(; za<4TBZYhswmQRG!O?Sm~gc3SF#)L~9c5#1%FdW6kgtC)y7(o4;kw#j!8#Ze9VPX-R zs8}HC783*;U`l(defm12E1-y}S-GWbQ1x?qgWI81ulv||?jBc?zbS9p!gFh=24t#q?F)uzx#3nLJ&Rc_|_gP5&&h#)Ng3|@a%vP>HUxGvh%r#m_ei~l z68~XuKck-+v`ahrO(E5ZE6jc+uqg@>zPe66Dd4XF!?kt)xHDOBhvObdB1oIRCN>ObfQeFoEf|y?G`(fZ&#EY2*H(;PpD^oBV`xv zd{ZM+Rp9WrxbDwH8<3-(SQk^8VxXafL7ClR@z}NH zC0>}=6}l5xKxu5|FnVFqq#=WH5|R73s*sw8X9qF-lZT zh)+87X=uhzDrQOB+2yzYLpZee*hc|&=WC5}Ma{U@a1_j+$8r@jSL({7qeJ27bkR}E zp~8+GnI~iLHeuI`UnaK+xy$u`P;xTE=LP+(zrZSMd%EyW7lR5C^lE|lHPL}8~l*?-dWvZgDK zAKvuOAGc=hTxW&)w7Co-88j!>M;GyisRLezEy|V6Dqoi!HA> zGmc%>!~av!nk|>!$0)(SbA9??qSwfCp=qq{&n6hyLPm@HxkhlNmb+Je&ffFIi>|AG za}$8@?th>F7+QkT%7pG`KPxJ$GKf6X1Z&%$Ee8ehFqN~0mQj$oXr`f!xM*hVVq~>? z!xW1Gid$%#wkrA1VAA?iLi3sdE^Dji`HdX`b=UDvlOrJ9&ntZ6*Pq@fEZ82C{AO)h z8U^*;EgnE6r<3T?mA~Mc=q_1@2#2Pc1>|UTF!T;94CMS+JHdiXM4d3zvR_qV{N*37m4Z`z{ z;XzR)sBi&@)eK%cY)~iLNI#OU&xmsr&5BvlGZ6m2e`b@GRHmISx-G9{DlPJ0BpwnC zp%hR+*>4O;MWAClpVMA`k|oiRkF2q7*1GT{fR(E_Eq*)M`Iu}3u=GZKsoi-dL5i8z z9G71+5V{iWXutUUEuwqVs(-8fJBG>W=K2@6{AU#jg!Fwdi2H@P%@lS5>0_!REpK!r zF#71<2pnj5%E-8Ev5`A287j!=ugg~aH47Lsr_2REIn9{2s(g19yYS;X22`~(U6<+ zMUud%8|SX`O#$Es_1ZE|LWofjVU33BaN*Su$ng+M0E28AQv~s281+(4KH-Y>A0=ib zo-W_*1wRNQ|HCI`j_IOT28PF4%FsAE8zIcfoKo&7+KUYr(Nqc1Il4z* zO`~OTlBs{%WW>54Q6_7zx6-9rdaOVWLnvOYA*?Sp?6_*I!|9V>>Bd36ol-J{!c_HVDe}FI22^Bo{%);G$727KRITZW& zsmn3zegP+e|u!%t3@+VVTc2;b1CJ}s&xdwlVi^;QZUz_rf z7Mk2`rQD_A8o253`_+8az$+KW*4EFrZ6RtwCd4lJsECnJHXW@C5D|O+>p;?#od8t9 zidy34qMliR3W`~!fcJh;f2PGtl!Qi^fn`UoNO>X7*>0D6<4a2@T8 zZBeB=9=(HsOg96d5~PNqc9B+7R> z-;OfrQa$=Aw_HLF2kkXh>lBNAT;_(-HOAjHkxIr!kuBH|rn9Rci1J-P2S1ckr3$F7 zTMam`FiWVUAmw#{t20U9zVo(!_z??WyoI$~Qo>hJ9yI*~7}goh8dMd*ZA|MUnV0FT zLFHc3F}u%Cmx3dD>{2X2!Y`GeOkFDz{$-XX9_5M(JyS%Kq=pPFo|Jg4{$0qs4cShd zM{QdWn|Pwx=Gh!J0#ASwBk=bW0Fyj{Wnjy6X(o*msmS&Oltd^F@YHf$65#ngC-;sQ z1AumhBwPov_j(4a#}ahbV(6k2+%e1Tb>VXrJ&zU)-433m&z>diE%ZCkxt^?FZiM6Z zj>YqNe`IR^$-PxFvS#P((!AqWQI=W6-+djwzAjpEISaa8qR!|fv3-vuz>LS%><`BQHCsJv%Dc9M zm)`^lyy$f8#OY_`l94^B*uP)2tS2}df&XkeX7|aNyjj^1hHDw8xsDygJL?R1DFAT2 z9cuzROtZ>me1Yr2E=V?FcM~jB#&FG+tx2Z;!;8*KBUmT$jcGpLs;?YP#QKxjfbm#9 zc_V{d#wl-%KDqKIdG6|qjWKg8{PD~5KXTm&*^JE8=G=M^|yncZSD7J%fZ#eJM$qFHA&bIF z=I3@%7)gXDnk~^b_afS_%wv?V7C=w;fi=U)ps-8EL;0}xvmXN8daJ*A{hG|(3h*;$ zg!=P;{2~RRmof1|_$}%vC=V#1Dl<)LPe)+%F=U5{gqf$3BwyJwvTVKlTzxC@Gp(}> zKd-Kc_SY|HhEX${We;QI%ipuiG3$Ha+7kcv?6Yd+XXVcWt@ll*J%-!O3v!B%e6!b2 z&s%$IYoKrWvvq2SQSk}Cgq}W0qQJo@S~>=@;kq9L1+t5+;y~$W~muvZM|8b zLCz$m$*`dC!(sAHaa;8>ksr_Gx9Y>d8J=O5=oRZT9>s-#?n}7@Odd#)>p|7vr@lDr=++Ep;4EmhxaKx=Bv2tiw5430QARn z16Q=L;^UL#aB4h_E&XB_&`^;e&{QHX|KF`R{179V=a3m;G4%)IBgbNSmxPFY1yk_7mGLOMq4*j1VdMYaKD;Kn7Ny! zYft*NxU{xb+B!q)A>?-xp-DTorV%f4bVBSImRqOez2%fOB+S$pkm*B23!0Us4^oIX3UOx7U6ZwuSa;v8JK^S+Md>Fa9-YdWc}T9nEmnb zSGla&DEeA8W?~!wscp;gwW$#^!#Z;qFIhYkMoCw^aNSiTEYc*o@PGD;%6h?4m*q%R zl2Q8Dg4TK}*?d1oYN2oIyj4Nz!nd*j{An{R5iP|j&k-eYO#MyE`?f=h2;HH)>4ROz$_EKd+YPQMncdUlFTKn(EHe zn;l-t6-yTBD8vM7LesaZHUHfJ|NM&wAP5{Vf#9zA7Zu}{@wR5;o@s@o#E7h5GHqOK;+B@C zONxMHHLU7*8T}Ml*)XxZ$iE}${$dBRr^F)OsS@STM9;AJ00cb-Zmt}Y+-;Xb2_?*m z;j*Ao^l%Y@zQA2&G>$mCc}0gKuR@=tzH>KT;`68@w-}=)#IkFb7Gz%q|GldPtF`hi zH7?``LKi>tNAA0%kdg`zNe<5G67r=pQA4l4ML{`Z zuob)oL3M9+fDK3_MrB3_fvD(vSn+KOls5n9fX}F7z5gn=ZgzQhaFS5XS&1B?5tx)# zf$B1(j}}r~(=Aq`D|`#ipI3bIbcI5Wr>AMNLBrQvli~C}G1j}o7xfR|6%A%6Ha_sp zTT^R!gq{W-1(XgBtdIFbfbG2fSdLw+JK78IoiEHF6rWs{y8Ypz6ihna-Z(bK!hK{Xa6Q+C6&E@@+#)Rh`11P>3%e91K^BGULy56wkLQu#f47xe@U+! zc%p@J>Im$3;+v<09c)1i#7bi>ap5HM(kJ#?Y-#p~lw6RTU}ZMIF-K#Gx304@2#s zYIwK6ZFP-mUbg@9pD6n!OpyP-Dv*HAvzF4*^8}!eTnc*>9j4ueqGoN5ggl@Zu2Eqt z+cwSgoy#D;G{~8?QxN2uKFqUL+y8~c{yf=06ea6q(Bf!zdB$3pFBuH zMYYs5V)GXWWzsPKep_e^{Z^ylk5I>9WH1Mxz;XDnWIUkCBi7_simk9Y^U_Cl{8C*5WnUmjc5tY*sE zsM0&)>g%R=Gff=rk4i3N0So$(2D6kK^rzll3eqYUWxCx^Iuw+2VL?w&M6d@5l^(`* z-8AXVD;@x7sihqYv9F-PZ_vH}voF-aCZ?;S;i9xGP+tk^KT25Q3cdi2NM^WrTxEVi zzS5$Ltcd7Ex*_VcZ^D&ZyfmkizBLN-%j^nleMzmhNSsw|7o4##zX~P|ZErP>pi%JI zVPItq9cJ(`4S$`^k6sDRhkR`)Vg`6ac^1=McWi+NyOdB&7Q z^Rs;?3;p$$5UA?s6$tHofc1E($oBYyoHKb$`0~t6Vy(DJiRVZbj6%p|u~69}(CCbv z7Zm7-DBD;=oTroQE9u;C<&(?+EufW8;=rcdj0+6IZBWb*Dz&1inxA7=*$lVeJ74HQ zC|NyhSA^CF8TqA;t??ofzhE0BK4=>wf5&Pp+N>UOBZd-J3j2HRMqfekah(UpaqDf+ z35}`ydn^{YV;t6G`+7?%C4w6gQCmXn+iqkb3is;HYd2qX9BNhqq1tECpKVhBsKKRM z2bvLiEy~H^Uiub=PrL#cqR5Jiw_27dIk}-_f{1HIL*2m~TH@krx`_JwEMwG_jQ2MR zphxrp$_f@0$h`@@wG5sh@nYG?_Q0Okd@ZOhR!9hi_(SL*RMU8-x}(7&hn!>25;T#v zx>j@nn zVi(}X$W74qcG^dE&43ba|LJqqvFN_g#b({W95cqW(-ve+wbdqw{0F=hXA`>B5xvca z2I1fM-{3+`&xxr1=MPa4lUeFSEX_PAK%TXzN?AS;PFAqz*o-c8*veU&lC*^0X35L> zCW4FylpAe$7_bs|AIM=yaXvPlt%g!jGXl4}4dCLd^A_Q_;;dhV2m6)1UIJ_5NhqyL z%|mcBx#ESy55OE%JzZ`~;Jo?9<{O|7nBajdYkdriclQ5csewks!7_>R?^}&@aBOFJxJR+ zYVXw|3axVQ5|&DGu<&S@5&g!D>sP7Kg58?Kb<{cG!e;96NrkmyzPx;Tcverl+~FNN zN{6?MSc`$&f^)<9C-77BBkN;Cx~}Cm?dOl+uPSB{ak& zH4yN?M^pcvTn6JFTUC=?38YeRv=Pr9i)N&bqCAu4!)EI(3*~!W{@FdhIZX>-$F#x4 z1VCE?NorFMeM-QOP_;b)kALMhiP<=r;53M(VWAtfLru`PhgAcaRokQVOZwQkaZU^C z#PhKQtFU?7`U}%<`|@k?iUz0}@56g&=!eCP)7O<+>hjcnp3L@5j&A}f z?tof4D`YTr5Mk)H(bh)23W{t|rFoMt3X?_cQ<{q9`B2zeQ<2DG zXbj!g_c<#vmI09I@)reB3gOfG)gz1^ThHucQ=@j$L$XQu|GrO@f748LsN-k3G$79s zbW3Xu#}>if<|N8ff8Qz!6dF}^rTGop!9yqC9IbPDJP#n>3J2~%Vn%Zli-C+Il{2TN zEv`kty&UUjd;XcMOkW#6St_zvAKP)W;QIlI!B+_)g zN+x}dK` zXog&(R2Xh}dPxZ8)H`2T093#NTWzDcS^U>yNW6Qk#gs_gHjSylG{>xD^kp=r^pJ7a z5;@Y)O*haMs%d5cHr+bF@Lc1{4UJ8emP~82A7LrULHEK}_^(Z56F_N$e7plYHYbqj zh|bR0MS^?36!Q>U?BejtrPhq9cQ8!(p~tMHv%w##!rI)bXQ|1MF4$;na`5nRMrj$+ z)GWm3S=7#ayyW2>Eg|ap<*tyhX^0E*t{0bObv3I@mf&fXbnoBm9a&O!AU-?^r!2{<^nfxYwb_aD{mJK1VBf z7_Z_aOLn*BpPg(Qdk22p%J(>M0NzyB`dx;?OJ(|u?(L+JaXAyO!k5T2t0dJ^@Ib-z z>oqU>nb!cgwOK~QW);W*f~INhW;m&b?6+D%`h7|^5c?vuKgg{Bd8VR$wl7fgi=SQe zhg-xepXpBBW}JC6FCo!upcV)VQwZ^U>8Zw|KxgW$mm->-&S+xDGLxyJ@7qr8 zWn8`Bd(p;lw8}I;|KCq@)$rONFR$3QcDadGsCkmk3S9F!JCuM&6w($DvIcSI?_6_W zD%#vTUK{|LCmhQarFB(Vf#rKWjR`Xdi)uz7AlC1eUFwGxM>J9MQ`T^xXrZ@_~Vn@Fh1fUhl0R#@d{^8q^)a3oe|z8C)d%V3Tek!a-Tw> z8`eW}0Cm=>WAmx?G->!Z!lzN1(((esn6)tPW?vPFuYcsqK2cf{^E7EAifNTjc?-QA zU#BX>F%wu>Sw{svZB8t`^92V`!rge+lSOePpuXBH+D&)q5*^No8_gUY|(s&7x_COnDhp_1q_ zP|ALB=!^^2O5lIiq3x^He;A!o zmDel(u61&DRQqs)u~U_i-Jd}+>3wg&{Me zk8VL(`1aLJ^Mepc6Wb=lNjK))JoDb+!B&klMDWLfRn+Bm(E5|Uy}{(n6NoQ3!w z`-88vWuB?%A~QSf=DX23W9kpSfQ}WNJ+367A_46xqkK0uVIq>sI4e&#s+A&4sm1ZW zSPMmBjlobu){J;@;9erM@LIpG1SV#tVj%dnK83IFvy^o`vb<|&Tp-3C{|xx7xx6jp zxThYJZq=kxOHHpTcz9=2!*HIIJGapH&uOG(c6rJ|@mKyMi@>a=(qgXZvf9WPxOb+A zT-&|$`IA>9u0Lj9p-ib+(eJ&wsTgMbcfJ5YXgtSkSC)fCwRy*ocrEP>((z6N|DB{r zx<8dM<%LDAZ#B!MR-D_D2>avN;yydY7dheP_~<4b_YE@Xs!uwb;$^nz%yy6bw{@l^ z#rxM`W1ml?MLBg@3;F6+_IZDf3*vYaE(#SplLmzW90~<>TYxfi$YIj@S9z~J@KplG zP$c7otD9SdIV)F^Q9$kX83U>~{5HL(I$#UY^!A ziO=tNVS>=)j@d5v2a5_w%lgvd;&wMMmyata2LGlE{Rlo!L0^n8M~f2G+2H**}%B+Pt_!%}KlN)vh5LYX0PElgRa+&3LU z(x<063RCZ|e1Ka;H=7%(I#m9K%wZY^B=l5LkAP=}#nq(jrJr2H-QEkv*y5Pqc` z9-lqw;Hnv$ckD!^)x~My!>gyr;eL%GTiVp7=W4i9OJwwd?t_Ok#8D|TKhY}P$9Xo( zD8+0q+u)g|;^QKY2GJrwaYh(@4wa%r`Mx3CVG*8?<&z+s&p2Unw z?i%cfvvle)i=yB8MGHc6B!l=*NWZC}EFcxNPu+Ei=T1$1K!gin;nX27q5w{lIINm6 zzdHLMi>oMT=qDkf`iv2Rdy_)SG8!LRj|`7t_+1%0q37CrfQfMv?oJ6`l4)K@Gv2)_pd zMRa{>g!vb=ZnQ%&9I53YEG|J4P?A0Z1U$IX!&_k+|FKdnINJD%mow}k{Mtz6 zq7T2c+B)#2eXs3Un*TwMK#{OhS7BQD8(6&R)xgB<%LTa@Ifa4Oz@Ar%ObmThS6LQF zzO3g5EFapnkIII?i!=jZ?Hw;B08N?!;%`9*MVVy*X@q^HE(kJ(=BTL2!-W?`J!uTo z;vRk#N&pGQdwV{SBmTWeG{o(}XvA$T=_s*X9>j$OX-R!OT1MPQHYZtlF%Q}rg+l+$ z8!3ytQmAGYZq`pPSF}ObGXqJce!o4ZGdagG^;S?^y`unkO3t3HLbknRZn50P!eA?W zdy(vjjXyo-_zsidd-A|6{()DFMQyM#{7c$1kFkGy!uhmX4EY8Eu?`pW27m;3YWg{H(`6c!km&ix}V= z9-FjZxuE4(**(o6pN6aZh>H-W+IVIXPH2}Xi*GuiHPc9F#&ad4$IT7?0UFMPrX|qT zWUZ01dT<|f51vVWrQ%90=@@MJdb+w=j(z3%&KFb=n#%zLM9-X+mmUY?6{2!&^%AP;l65V2~B9!p8yG2sm(mFp%={+TtTw2AMqNwx}J(RIO`4A0~> zb%>cm6&^l9iuMF;%p@hFh&p1#mn)n_&%KTm>;XOI-h71u{eP4uyxs2(6fl{}ddh+# zz>c+X(KK1dGAbb%MU7Y?(XBkT?pW&d-En&?BI+mQwQl12%T$_p9{T!REc!hkl*BJ0 zVFZloKD$fdd0NmhPIJxZ_>!iKUsh>Jg*anrF_P|K0)L{dFUH^;u1 zljh0?vd5<9``96THE*K3j1$;<|aUMYSL91I}}%{ z-y?CDN6IsL5O8JeDzsANQBGw0yBSRRlFzz@5wR(wdnmiv&hhR?A&tP{A14Y?l1c^7 z2Yja^|I_Hn^wBI-C7?y0MvEH~uW$OA<>F)$gT>&!p@c!^58wM`sK8m4+EQ~SuT(nT z3{>g)!b%!0>k9I7RKijoAz?TyCGiCIWk&n_O887h|dJ47FQv@Svr9Kz}-0|9&gNsNt!{r;LJ#IAXi!)$hUVpv@hIR z5fW|;>u2n8agzvc+P%1U4ir2H{FM$5lJ>HWf9sw^M8tGJnh>6~>(tXIhnK?gT1Xmc zZ^D&hZXCkJHi z6L62UTt;2~6m20(K|CIZ$OtFou^-P!P4toSgXYfGx8@|S6<8}vY3+E3w;6ip3l4xr zM#OXp$uG+DKmn!kp8>h4qQ~@t^@h!Df4DE7gqJ>N$mTT1DdAAmUb3UvkPjgx<*Z=} z%+P8aOw~u%M})0pZSP?Z;14rf{j?7jMf%fb{)M2JEP}^T-MezxCQq(A7nyT)O(=-9 zUW^L7%RF;FwLtOGmYf{QZ!r@jcFJA?HgDzZKUY}(sQMyCf3>h$gllK}^egfQM>s~G zw1(66Tgp#QiwU;jKA};j2uo@nJCq2|i&Bjb%za8$X2H@CqpSp=AB6POOSBV)_-6Mp z)@R%lZpO#>TYUrmukA8G0p6v8bm<0Z$a@q2^>gb)nQHe3&C2uXc$2f*a1YjfkJ#?4 zN<7Yg-7Y0IEN}7OC)qY@wEVJqE&VkW%=Pfau5P#C@5Ic^TEO);6W-cFzPW^t*Vg<# zs;e`cEmzM`mgg=PHj)0ncdgn#iri;$jP+z~jF(ZhnA_6zIKOqv!)OU;L&LIdeF!}K z*0cF*f@B;Rp`yrGFl`ZclgFivOl_9nT0OfTT4{gLSBerknZ_p-%l!RTfYZ>NRf*>Nj^(ucNwBb zsUI!-|M~z1rz=w(hvQji8C^gs+N)a*$+Q7OW1p~2bKmlh;X~cq2vVX%61)sNd3n_g z`NM4e9f6OhFHo<|FGU74t#yz)525@U z>1Q5C5)JD_DQ}!6jo99koD^M^2;Uu$?$m$!`3vA2tz}7|^uc1F8@#vs=7az()ZN3w z{<4o-j+@f#QySY}ZD5crJ#!}i}(922oz&$iM+8NC5F8K75|BvdIf#-j_-`RLO*bu$6 zy}bjTH@9FKvNagq@k08)eVh^rssE#kH~9tcOM+{)a=n+n{c4~gTayuKbf zMPO}9{ibN8u56*;LAJx&SR2ArN1SK?hy}->62gTr%IHj2wf;?p#Q`DT_s`&7Prv#O zQ;U3?s}{DW?&-3U;v>{^-;bJmfeVm0^d!FW?0M~PmLsO@kkJTg+keN42tca}W_s82 z`AKwr`Gjyn{wa2ftG#qMk2kH-@^BJy=VA)d1a#lk=RLU36oaZ^i_g`e_k<4mhLOg8 zsYA9YlgIh$Lvd-sP;Dx2k}1|+j@YrN82;5;`8V71BQDWx=7T$&(26ip2WmZZ$v}(A%i&w~0%EhBKLexY9W%~d4*-=&+<)k@-@H){1VZu$YiT!9Aleu8A3 zl=Dk9Ve&n5LvP*}@2kE2xvi%icq@>VP2$_?Bo2=>&YVi^s~cRgs^eN0T5cq^Lc%*< z$h;ivDa&OR=&YK9t}hj}x2%vS6;PxcB{#LdJ)D&_$Hh3@H@h9SSnk4Ao|JU()pd^D zsh0e+7hJfJJgH#TjOd0!190BEi*o$8eoMDCO6(qZ{q*ydNNqZDcXN-3?2EHwsT84W zjW~8a%rm|+hMWH%i>phrM`WH+NyH%2@Q-ZScEe?U*`E|!?`RUN4R!FU62t2&5L{=A zvDgI0c|JZ>b^mn6GO`a(EuRDBQF~sZJEyIn%d&di@XGSwI)e^c^HAC{#u(&q0V!0M0 zLdc15bwSkv+NlkV1f{<%2Nial`JchFO)UHp9>uO!%e}|m=A7SYCME?MGn7|#)Mv0h zJ&t|)^GPJLA!C!#)=xZNPj8nZus&ss94c=_rfiX{UOv4o>XfKf11GJlN^S6RdGL-BZSwkxCJnEUY!8n?Rw}#bzZ33bP;dgH zxy#vwS>adCFM&9xuTTFbCWsq^E<7PA_@W$6P=4tK&R3}70JsE8)89oi)TL#RnaOYt zEI<^|;SSupUcv<^D?{wJ)Z8qukd8MjPB{n=T8cG_r5CFJZ+1>8>y!v`)JjvVH-kZz zVIb+Bx|-PBVCHrRd?A+7kbcS+q|;#Tem)5|Y3+^u&ZG#oZ^?xVxnl1KcpXg?s+_>$ z#KwZ*ZjuG?hrP6LO;}Jl2rlGjVICr?o#T-O~0AY`pyn?-m-vF_v26^(Iq9>?KT z{i!fGaGp_ToJmS zL6+D&Q&HQ1QqtOq?Kv`oKjSp8kXFJRJin~oegAdipYbwPrI!FDFLi8jOf48?m(fa^ zqDRgfTh5kW*YYnh^Rd9%nQF4KcV^P)A_-r!4O@n6jAN*i>K;m za;!RW^M_#I&z`ekdHtEo1)klWu%yBt(KTNfrwa$|_>d?v?oHGd#{nvT91qzLBFXA^rz+A^j{^KKc9rds~6t zjz62%&$Nj*V3sf7*BU-z18+$E8PZP&ps5El)It1Df6=?X6}@<^8+V6}TJ9A)$G2a+ zP62!O?aOyu7j=It4YP%}Q|)Q^jGJOVExG||^Cn7>Xt>GI(~Qt@2H~592`X9|m3D=8 zX&4EuY-BEMan1A?SS_{o-Ro+4wtQNz;?n`2Q9R`G{z-wOdRn{c0PoO7B2mePfe>gI z2Z&1l$al-pLf!9z3{|B?<6*h7qLxn;O*N$&%xa>k*zxRJ`rN5HwK<(!T}-P4a!?5& zPa|emAUPJcJJ=`{v|w+pU5%{pQd12$XJg@fBV#D{tODJ{e`Ha*fxM!vMZWdrzxQ;Y z0q970kneMZDzg#NKZ*ke_AknLMOl0`G@&8%i^iiYnNe0sPu_s|;-(8S8GI>1ITCtYS~#D3Ml!gnLP?ho;U_7utq zRk8&l0k2=3ea>X?cT>YoW_q2!8b&+$yENeE4ox|^BUGMZ819&$6w6r$jiNHYk|SM`qv-p(X?7GQ<5#iY%Mqne36Hk@Xb32WjI_mOSh1+yN?C01 z9wafyF2)_=q?YJ}y0^Ui=7bJnp-IH>+rm@y6E|s$%p+8{m<`>iCHcg52uA{BM ziyn~?Z>cKN)bVqSwzhFQ{4@T(-Iq72)MtDpw2}6;`t;JgPx)`>_;GioUZYi=hV9qL zw2Y=F@s8$RvZsF$os+Z}-TZ8A#8;1yInrjikBEmOMQD)svLX5~NZA$gJwxzj6oDY| zMN83KeCo@;Mjp})eyaq5X;G>qv-VhA{izQa&tZM|`_`P1GLm+q=8Oy@RDv)9XQ>QU zikJi_GcDFs@$}DoE*@A<+Qq~+TetI{Www6M>c7Ss{W~@s!0$Lf1Lv4pfwZln3jX;M z(%EBugOg95%&V+*9TU$U$3!HGaGtgAge_4Zj2jv@Lq@iNwJvlS9Ja`5AuC5=R?g9zCLjG1FUWYwN^5x65M? z)6jMjQ$`D0p9m}gW8U$i0?^B-ApY6@tg8@G|BUN1gIhYh%a2H*ZaP9?xXLTRq%F|1 zWWu(bUH^m0F`N|?0SgCJ$i@ximKHh{`mqoP(y;YP4@3q4}94Jzai(dP~Qn!s8W9TLN`JSm+-DH;jfO`-#l`XJd{ zj&-Z)9wf#}ULU=B?=d(JbPRrfo9QX=d|LMV@?KSUi0=eJ!Dey(5dR;)s6|*1|7?BM zPeuEfmZc<7s%zm}&#kexKJ4-B?f|(HP9T|>7bq}NCO5wp&Ra*z-LGV=2KEl`hB)h_+M|f4z zU$m)dd+uzZZDaBNlj=vZ6FV{-E~@5>PvW+ityyI?ebt{F!z#Y1CK3}NVk2j~otrq< zzudGn>tYCi;zD9$IbvjN>F(a~A_t+%3q$I?wg-a@rH`SguRVoqi{U+0s&R-r`PiY+@dIu;$2? zDUBqkK#ND`Gf@kvGs0976-JBk2>NM}ga4|mD&PElWlaGnSR6tjGe0a%u!t(B$U=9a z^}sT@8xaGGY&nYB~E>NeWA-In6oe zQ+)9;3MVj@J0B>O&x4P&Hb`>pm@8v2bfT?at za`l8&$;p$NJ~pxQ;%?}fa+BW6wdkh;hcNYGBFYOQ`hApT&jfN4Sg=cDDmNj6!N+oH zIlA(nau{cNI%ttU##IxVfLj0Uy^sQo643r9%&TF-}uU8Q9>gRlA5Zk;il&+tCYcSEue!O z1bIaaG!e#@DaV0jk$-K+8dxz4ku@!7ulfHTU}?A~9VajG(@n+-vEdlH6if##i&S zF61MY^QPd=WFKvEL7!z*_an~2P3?0oBfOP*TVGe2Gb92*m-tm@Rxc%B$H!}(qRmAJ z_C*gu4At9^RS&d3Sgd?bxgkKviH5AE`j55KJzh187_z^(7eVH)Y{=KfY^8i(Vz9yR z+tj(Rvm0GYGBc{Q+RAUUG7RXCuEqxT^b=1ED)s&&`WK(yd;w@+;c*?BYEWI1a?k-+ zudpr#6!Y@>I!2Y_1dlKQu4PJNPI~oy4N^_%mmV)F-H{ZP9`VO(J@pY-XREnI_y<&d ztdK(^C-VVISe=5-VV4eX+wb(IvUc8@r=D+wEJ&Dh@6Ff|Dht*hI^{)s-b;@@xcyxwBJ68 z?WBu!z8?nrMkprleK7gOw--?Owgz(DNT#0n`Nrw?OZBw?ncXz#9>^=xq=y508*DCmcWrhi<1FF@Qd# zVB7Y#F?I$PM90%lce;lZ4s!K;^Ja8Ehjq8xi4Hr3QcJao^Q`Lu*kMPl4cAFxv~+4B z2!qoPbjVy1wnDFA&N_(p@&a8_Dgm&JH*V>Iz&SP13*}zYBL26&fahubI9VTYPpRQl zj)&<&!|ZniG-zX|i5Q2o`N>RoDiG0I_MtuEgwcpl*Ck!WKm7vt{>Dk1#;GD#dS9tU zCIUN%W7O4)_16Yp#!14=F(5yaF6ff*cCvnxEX{@_-4ZL5P_N?+ch+E+Y91Nu6Pl?O z4?49Lbz|sbRD{r)`BBFa_FY~l~=|C6jfc^Ra z*9_|gdk#4mJF$B^UOS$otn9WL;c?aZ0SeFmitOBGws4NQX4SM=*~u?%;*giD9QdO! ze!P7_rePnM)|FA-w%OvDWHZ&I9P&n}QUB)l%J|HAz$>tufP=?ix@u5S?0Nmgaq8ft zri=^u~ zJ~70A!RSWI%BAN;ImpvBCNYU-@%(@QMvt%pFBVYfJQPu+C?h$JQc;olU}kRR@_c0j zfAmq0!uDJiV(ARK@Sd5#sF{JVSH7nHG>zz~nnsigaN*sBR=q!Z?>ArWeo$z<3Qo^& zk)&GF`K$zZ{NB{d*BktyR^Dv|wd#FI%I%&xBa$TdsmjsAC&kYK(vx6(!PNK3aG(Tm z-Fbioe>Vr8CS^rt*B~oXke;$KQ(tc)oxQjn@%ThNN_l_ z$Wie_yEQr|G$4Fw!mL_}vU4IyQdI4D9eagdUgwG3F^c1^nY}Lh_vpV-n6#{Y!zRY|VhGLcHHWIdem$<(w7H#Td2u#4@!H)_ zfXSGfQL_~0xVPQga}!lw=-+$=(ZF+|+t~2V zo?j3YeDms~)tzjKp6@*+b*=S6(o-tj z=MMH0aQ~+eR!W%ryr{hM?C)ll73quHk0Ijc38XrVwS{RDQ%dx!&lL(%pfK7&7oxuKJQq( z$m|8tXZ{I8t59PE`1)drP>NesrBf%x1@@y*feUmD13}r~h@e z&o7%d9F?1;zHe)*5!mmHA&iWyxvXhX_#|_Tpdqfg>I4~m744}aYnwNJy;mokViW3^ zEI;fBA*E~>f1j`Ke20yh@K+`7{79PnK27wjUGYAV&BMcEkcj311b3%F;TL(YOI6m1 zn6wC`GaouglO#?-6ua3LV&NDq1wL?(P=c-K7*L#c6PNmlk(-r?|U26xULU`xAcu=e#)|;bg6> ztd+dT&b4RmJ#){_`*ZRD;QxN;+I_YGzxN6J1iyZ%1;D@~qM%`5;}H^*QBu=0GP7}T z^9cxxNl42nD66S!>FS%BTiMtzP>D9x@qqa zD6E_gi?+?NhZJ<4UcjMO7iSxue=i3BAb$We%K-sNhh#FkP?qK+JVB}cezRp>HP?w@uv)n!YGZVf2sNx z(TYB9Jik9)cf5~Pt!Hl$Zh!x@{hf8`cAdNUiz93@l7_-E;C+5|)oA>(x!aTsFcrM3 zHF1yLsWwvt$U|%Vf(1Rij=^0Xq^@&ai! zvxP`TY2%PN0QqR%BiufE`ahl+di3&@>^$ZoMJL>;luBWAr?*a3JlG5GVoVGK3BBk1 znyWssOCgYLYBv)5jJYY87|iONQn*+tJy@djSOx-mcI377N+mH0Bc#xEwD5>(gr~U* zgZT4bcgjx+3^Q~e*Dxgd-pTb6wzox}u>X4dCf1)~r^HWtR+V>JA^sGkT2cC9As%dT z(UCU*3EugxR!BRz&|EUgM6v<$VQX@r9>%FnQ(8Z3>O^;qV^_aQ3(SqOK!wKYX`2Ge z0B~$#e$v~DdW(p#Ks{!;&bo-i2XEdryYHl{OVl#+Q7-02!w}{r;u~M|m)KrzAWI{b zWMZkaN%3~5^e7waNQ9D~+xyiQgk-K!46+LRya2W`ISi?hGn{u|UrIQHI2as^F;haA zofccf+zqH#$Rw&KK0(51r20Zi|LeC@b6F0hAF{qg4ZdeK@6TTca6xm@?DCa$c)Q{y z^ynqkDSUsD5L7NHQQb3*^|~sz`px057_<8C8day(6^*7kX!$wp26xyFQx6rA7P`;% z2EN<2+zQD-$@XuicpA6qls?Nt*-Z^|}hV zP>0ZK9}KT`%2&03Eq$qY{*CAB%O4;xg8KI_$jmwUW;ESNp#H(_Gvt75 zW*!PRL%5T`R_Kn{2OlI5x*fY>W!G1GU`3gGVFQ)>B#L$+Q*3>d0%!HV75S^9k~EMs zTRP0kTm<5RhBDUz4~6YHV=iS%*rWXfIJJ zsQYKuuPLaBqam_#5?>1ejbUF64Cz#1Y7koQHXMev%|g&cl5*aOaQ)XJ6EYv{MWxz*dp}aLUYHqD|uugW`q)zYmX>gZelLn zh_RWtOcrg&t?Ssj%*i6f^d*9V3Tj0dMoR+l=*?%pNY_;4h-v|5)`F#-lOll3>G^#jGdtIrV`8j*5awE zzs+R``__9MV&RuM!swakg&iygiv|`lh{-Wsn6(VHg43k)en!5&tmT*f2=RSn-Q~vFw&HQ5 zIh6#wjo^r)|K%gPm$dQ)G2X5Plbv5lu@QEJ|96bT4MLyf-nR$(7t;WNG~E4J>Ckpz z#e-6+-y#&9NeV)F-Wf>)Ix)f0aG$$CY6-)&Di)q>{FRELzIA|1D^{ z@O|@wZpDC$*cmq3%CE#yf8670C4m()MqUH6sxx*T-!`ulSPz68#!7v@p6dE-9vA(m z;XMQXUPo~_->qXX#S|U_yf6sCsfT_=EUm`@Xj3SH4?c(>^fo``3vQfpxQdh8q%0;4 zv$M?X&aZYJixdyz_9Y(YJibff9C{<3UK^qM%bHN^2D2;l%A@4_lMyv-Z5g%_Snu6T)auL|S}tCFJ=L>i$-Ps=V9-AxjZe-b zfbyYwKls1{;#VzHFTe$ocqM&Pad9P;?g+a}ImM}TFT`qJQ*-l8IllD@ZL==&udf@D z@#;R0rZcXZ?8KHC1e8IBmHPA;sm^*VNqN~*r)2xc9{Vpu3Etp5|$_y|{hqk$~;IJb#3s$aSIdy$ezCtS~Qgf)M zAIMbcMLYui^Zp#8BF`S@Wcyvqip9m!>PF%-ta@ji-k-BB6q2qIyQ>PT=#`1bG*I3l zHI*SO4*w!s4m(&Y{LL^{5wc&0iGxm(QXZ^z0uk_^UV#$ijg%|9uAOnuW557W zrX0epSbhW>wMxqklVrp|?q)gg$FU!EEpElU~*8~+_Ow3h)!3)9A`(KC}g5{D@xGW zS)rNL+GNJ|>TUM^eHdNyUi8+9t|7~!!>6u&Cmx~)1mN}h2~9}>sykG$HbW)qVLpI& zEk+KVfNHDO5!@*mx7$#vuI~+Hh}sS+idA}d#5@S#%{!MiYQ@Y#8H6JYc$s*0r5%bt zCMpcgml6n|js8`w;*HrAhD?W9n9P4gD2^?d&T+`_`_y6e+Ckuou_riEaXszpPbaCx z2!hbcU+_&$nmoQ^V@b?%zB6TGu2qy;3LjdYNW&z5r-p|R0|98gLgn*4_2SbBK_S;MCH|$BryMygR$}Jos;~)*gRWH@~mz64{O?q59{92p5t1!8VB1C73Y2gswmR z6z;%t$|)}}g$2hF0D`|?5*}|Th@<}cgAW2ALC;zFf@tNGr-HsKg_4+0$w*Q=7XnW| zW;VpE*+zP3n7mbiD12d64U%^0VY1Eg@-(Rj{%k-J(6W;Uu{2x++_b&g}Ba^cV5+TVpEs45&?iT!a?T433r-XYn)v|R9 zJ7t-P60F+1Y4&I1HfUp%6JzmW~UIUi*Wc&3n_a0L1qRXu2Ew#3aI#I`_ zS6OQd*Ml3jM(TdPYR)1mxmx#t7G%VxyJu^rrlh8{0DN{sS`_4DzD3>imTg*S`T9JtB@cPNPeEf2NB~STIMYJ8zrCVE?Nh zAOQ)JcFGs@_!N}P^smW;SRV)lheuLyLyQP+9Bq3l_;v|BzM!#-u2Q1?D*6q#;@EJH z7__bsoU4ZIe-?q4Ci9(d^U{p%mvX80DNLH$Y(6gH$#eKB5P^-)QC}XDA8L$u+=5!1 z`~Z99Vd7SNIMv#yh3bk`_0)%+#9YpGN?*4%I@`?~Q8|Pf8n;QL_^~4OvsNT}gzG{m zpb!8s_(3A0CHMQ=j~(-)+G!@k;MB%p?8wNyZ}|^AxcRw-Qa<&Dum-r)2*CKd3*mZ?gLehKr#I3ZW`Kn^p3N|=Q+-3 zIgW6At20k4>EdJ?zu>PxuiUor?Yk)F`%m7VzQPIU3@KNRCuMR8n8TJarR>7v@>vK7M< zB7~9s>pk^PO@>xYR*7R^ahnUv}EQg4Y);|=-kbCF$HX#dboyIMn)Y@?lqQ7 zW&!nmBk260*hDr5$@m*>vjP&@;UCUTTgRu5I-~0;aA+y#p6t|7)zscPX{qu`y&1it@*AiI9KxbWOYSNOBTcl;YRO3tX}-oZPN9 z(5rxtrzmxCB3gQ|&H3B@TQQy_u|h>&WCfZbg`?}r_LHJNpS8Tiy$bG8su=qp*V8B> z3TF?;GrCSwzod=bL0utC>|SyyWQ!3BCGW_E=x@t@jZQD-Seu4Ia#1ma#Ga6M|Am-toIW#6g6j=u0E zk3W}0FB}!x;b^yw(msj)cf)aDyGm))x4?~ef2UoB7qcgqtv*6WiMV$kMFqFY1~sPP z1a6N9;tFa~E!lb_*cAJnlU}J>&A`Ipi`UO3!h!RJT|}wH&#Nf8AhvJ-R*i5GtW00X zL|k~J2&OyLP7$ydBfW@NTD{IGU%y%oh|#V*6G7`5%Jd7(hL`EIH#$X^H1eygVx%*k zz_2%Jm7KyD3+PG%4szdcn4LLW_{}I+kR>=d2+k3EM%mSZ70qbbF0L4p3-#Ka6MU2Au3T= z2@Yi*#&dNQQbvF4>U*X>;tdOgHYyD~|G{t1$V%UpT0>mDp6gaWmYCIS`D?Ud{d4_y z;J9BYbHso`P&Ac|%oTrqke3+Am9_>HQfs@gzIN<1U2 zaE0jY-+0IJK$pWXQry`DPTwEc$HBD->ljEH8Pj0S9S zvHNH1=0y{`%D$owlW8OWl;OX>xbJTdI72PxDIii498{$EmaMlC1%O8NZO8ojmF+*@ zaBd&@)#!pu;jzIvi6S_Wk2BDjexPE*g{ip8h(pYpgkUPzWTv&M{NZ<@gW}6Lf#*%! zdAnt&eyQa#B037W=(sNTB<21cqelor?WdnYXyC)#aq=zMKG&@#>32B^_&3r(x=v_i zcCG}7<;gd1^&`(&>*)0>(Azp4zyEZNnRBVAxo0Yt!gkV%rb>wL>*N*7>>DJQ<*2t} z)ha4lfEXD76!C+?`Tk*xiLH4r-o`#H_5Wkm#}}9G+kx ztwUA|jj^1|CkRwwF)=Ljjy1$?+uJDSw8trV(aPgg=rq;$vL_gym=pl6DmHb?{4Et5 zu+Da|Jj^c7Xtx&1<+I@wy_}l(hz9^5UXNGxL(gFt>0gT|nM=uFFu^+pC>tD2gdh^Z z`-g{~!dXcEGOlvOf_?Tqnm^YUmuBHn&)^?MXi~c9;+L>@7a^CJt~R<9T$X$SI09T% z?77U&(sPhrLf{@AMO~JhiF0=b4y%75iiFWSUUW=2YTJgYhMY`3doc916@1xpcmz}? zIma#;bgvE;6V!Tr28c=u0LdDv9ixL>UK5?b_V-hYSS~bxGQY*l-D$P=tgEP5Dzlx1 z45xTY?=gJ%2)o5y_WVRIkMyf63+x7gi|N{Z>3Qzv1Top`Pg+=oLHYK|3+)p zCtq$%V3&BV<2XCc)j^i9cMfx9>VQEV(>zTGM%CRm+K_ERw*NLoLw#@%)^yS5z~C>S zq;xzl2>oeXFM=HTjgh{PA+pD^c!*#z0M%on0#~|eJeCg~TZsxE&E^9+R_7{(rb%l# zmS;1bC}bH{;3#pgT!Cj(w5EO3nA@cJanNqIlRcE_fag_=W#;Osa__eYt9(j&6=yvnTf`c+Eo2wVSk4S7h3(TcinX#Ae-PAP^T)O8> zYocHB?#!>XO2l9>!Kw6LJpc_z5ZC#ye_>)g`Os(nq4mJPQnuy8MtF6HV6l3(S{}=M z}bZ&@dVgei&0axj+a+xxqsvkY>jdRFgC7B40yaQzZ1Wm+Nl@Icq-E51(YUQB^m!}(4FVGU`<#Odjj2= zX()D+RHrLD2$XmrQiUUThQs$kGFKahH^`;YgqylV*ak*Lx1qBzE$8Tzqo{>)426H`KH?1*Fk55>&PTl8_vNSj;QE}X zy&{4zFTp?WnXl)|4{n*NilUilf;wj^-V3^kd{;U&4w!#3ULj}O4mok30bfpO1FKfkd|m|4@Uo z{nPtPr)D3N>fO{?ahVt#<%igmOzDcT)dTvsiE70QG-06|g{Vc)%fy&nIPx$rLrMN( z5f>`BCw%BLE=0Vt77*;WoI+PH2qzT~8~-HOFU~@W(a;Yc{ToQoa^CobWVdtacBZj( zz!&N#rckPzPWNM*exi|8t3csNNY$G;NnP3c`|YZ`cxC`|&tUm!*y7u}=zQ+(jJlYm zrP#){Xp#a1S=$&k60~j)u@4H{u|RK#76miHiE&G%kuvYtg16h;mk1*n1*TL@Ti((g zlk$VD1qj-Gyv1MZ(5Ey%g>QYEU`lfX`}s;37QMR+1c@TxC}oOCC4nwN`(8{UHhUJ>+!$#7Uj_Txz3?HMV@?3L?t15G<5a}jIEP+MlO^!Kr+ zty0+*xJ6i*1a|oM6^(pbV)K87!g&YrCb(j>(>-Kmd&FM(t14O2<1)}3)DZT|5+!~Y zw%K;c`HGU!C+>ij>Jx#kU47B|*=APv>VkIVMt_*z>j1yi6c#L!nn!xSLt(~6`z-nw zuudOkdL^rmW^>%A>Aad&c~jt>T}&jD*YiO2d(Th6DqjWh$Fj?p84K|{{+ojgSR)A= zu^|&8Z{e>;dy-_0?d{~UgQa`egpS&+H=j2qv@Qn(7VyP3h6I*XvSTkBJ%_0d z(iI)NoJPa$AN3&sfc9vidY-*%&s@bIoSHe&iU#}PL;*6U>mvox^@ES8zU~QoF4XoQ zSQoBS4zFl7;Jsv71!a3jvQTTj7BQD;6TCLHZHfFNjV&GaD+tV{mU|zg(ThxE$qQBc zSx}N2M0a~xOkEFyVD*DofuPYTgRu(6J#w%6*oc4{d5pWaVBzjQxac}%b0zi{~CnS-uTRkLxk z({`9#oiKM~-m*-cLsjA&M$Vhholnm8Oiw9{b0 zQqq;jym^V1#Ge@mTq3{U+&{}?=IfY+YAk16et#d(kQTHR0QzQT37RB80(wjV0Mit{ z&vwD=E?8`O6tI{s@V;s((5&m^(@W^n`M#FEUn4n6n4n4jX2#svK&APHwD+brP5h&E z6@_FC5XH`9Xd#v$s2#Si`NT(aOf3SPv%LKh)SiV!wqdc;n)J!)Qya4J8!)whSLL9? zIG}Q-G}}eI!i^F=ll@G}Xj7`Q|8tHi0iXKZs^^lCm+BK3BpBs|Pq3-C8PReTE7(Nn%h zA3{f@GmLGFxne6lw5ckw720=*LVZBvA@k>Gef-tdU)E=zEDV>^7Js3JtpmHqxjBXY zW#{N?D>uy^;|OVQZB(c7^t8!~uXr7sd*)72tADeY7CZn}!YwKxr$_49FO23}u(l_% z?!Ve1qn}N8jJ$G>J7KOdh6=71I+H@QN<*n?wqAUJd5CoE8Hzl^-SS23qKt-9YeIC5}@OI9{THI@enM9w5cr~2T72tY3b=i?821`=8ZzoN`0Pl^|% zpj1m~^YYQtazPK?{7*f}vpY34=xnq!Y293xxIAYg!h1noF-;^BvC7P#;CS7<1LKmJ zd6p?ONot9Pp%Mdz0c$3)T`W5J9cE~jq;%fEI%kb5 zzLk-N8DHJq2eY(P?Nd!i1Tg>vlFD_n6f#}{em2#z5<#>RGgVD?k-z?5d?`l>-x>Gsr3&H~pIHCgHB5Ph#artu%3gnGn-iGT zp;BnlIs6kv%kw1ff_O)0M7sW5nAWICj6tsr z&%uAey|n^jeP%1zfI_^BJoFQjH540;t&d#y#?_q}E012uo<)smd03oLnhPnvwF|l- zSdcKQ){`CA`Zl4!Sse1oho#8|%^zh_J~+BScQ`6Hd|KQ>fZ<7gT7s2_ab0O-Q}V1M$fJr_&aZE^no45|nMTA^q0 zt8!4B>tamW);eKVvN!7JEu(#WJenJho6;!4Rj_+#rg*^bLZJDVoL@tKBHZFo7rvHu z(tSSUp;~i|3dU`%7GYi8Z%<@({YFzR5~cU!AHq}3LC*JQ+Bh~9s%H#d9v)T=CPBFc z_0JQFXfcJOB5672W*tze;FCl>+kxW`HarsSCN#suW7r=&2!M%2uXYt_g~Mcs$9M%< zUMv$xpGn=!ZMzBTTG{+XJRB_oyV#sQd8My$o|as@#698W+UOKNvGndq-|LGn;t%qK zm06s0)!*O5?R&4{STUNQx*RgTRiI_}>xaUWO?jeUDulN)9#*^I1#!Uk*GGpu)8d7j z{^y57pqp6%FNjvn$t%mb3rd*az}*^zQb#Xk&TN7ib_yDT+zQ+ni$UX^6=GGW+zCz{ zY4CYG1Uo@#C&f+p2VY<&TRYWF3Hex8+g&^oOc7_R0BV6l` z#GZT}ClQuhO+ve_ZNf62JSCm+V8#%EiBgqhIs92D@%(y{sQ-No#&pKLp25-T3fEEW zYY_O7NDVClGW=wDk~^`Q>DX8aG$cjkrsmaLg(zOvSG^Qy#&vX8n_1tK&_N>7iS*6Q zx^^S>R>69;goSgC*(EcP7!{&&6J8}>eQ&htDDfAPnIwLlm0K(E1#>M(l|J_H%JO*= z?jJZZNlHTHrgNX&Biu}xRGoqXLV7v(g^V_o3j=XZ9Wqz848X z(iOuLI~j}6KlW!SL&^sNZ{8vQy2lSvc)z}@OkRT$g=-{|kqWBoF0D_|ZwBo6|4q(X z?{hSsFzyo)2Rp$`HJ=DdyWQ*$$UqizJKL4AVS|e~02$nLTNX%L!d~xT2v+hxJqPqDJaeOBvxf6hP>wZ1$Q5-&O$ix1GV&ngdU5J6!F9#DBBFx1 z`aWlIkXsy1E^LCdhyB$cCX}HfniiT6pD6LMp>V9H_#W|u@-fY4p}s2**l zUxxXOvDQt2Gm3c7<>f9bMkIbv?Yb%2V|r6}`b6Ms7=3P5C_ZqJhMRE=Q1{V?({J%) z)lNjG)bWM?~{;T>J8U%3y~*54KoSNKb9c3y-_qHru_Lrpa5Y$(aG=hJxDpX zcBw}c7mh)C@*e(ex%66=yqHFM5reJ9{>~ZhQVtKNXkc7d`v3=3 zge1$}j|F*>vIXn0oc6nk3`>pGi-u$N&wiR1A`i~P4y=adLI3Q$p4l8doWD=cZA*P# z!y@CDC%#2)c^RL)cr&|vqj<^ZfJGwAN=N(X!-;p;VG_{L2(C$(kg(__BlYOXe=`k> zN{=UBMBYUPYH*Y*Ld8w1u@c2VI6#$4Z_A96W0z^hkRc*(DB`K|Sf4uV ze9j^K1w)776NhNSip4rAs5sm-*B74ftK|z2!aOg#*IZvT`V;=~{5u2P*KKVqO|)6G zwoi42zadtIjp9W6-s|QJb~{zAm?5e_Xb=j_+B^LE>j~xpDC-?ZJLPlii={!e2PC9B zPOo4gI&&UM`zX-k>3Ire{u#2L1$F8?e+z3HtcaV>N_@|Ov{7rl zn7q2*fDQFU7I3=R^8fAYFkEx!*l7@;tH9iQvV;_eeqsm$zs zk+v6;ut$URVAkk|e}WDA)TO0$L62<@U%}8-L{YhG<@Tyg`o+1gf{vqBMqdJlXr5~T z!8X=U@3N_l8D^w_C(r)a5AK$v6Ebi1M`@;^h*3@C_lInG+6e%pH#8Altl5cZEdX`Hr1J&ZRhz-qpQ-F5{sO^L3GidvMk_kXcmNyw+V5~ z4eMiwVg;v)!7&Fb-J2D$iX4+T)Gcd)d69nHa84lqFZpCtjh6HO_iq7cW+oaJ+_((v z73E#U#ryDJvq?S=5hxq_pyIfx7Pw4fWxm+@`k85OE9u73JN<@!0|v47nu?VtZ|#(fj0BFM_&Cu!uYoFuPb z#QVOlMHXcPchi0<9D;A%FPHSmsWc5%ozD2}Y_dFP;LRHCAHnY<*B%zC^ab_kDpPjj z5X{2{lrVRWr?>3SD6vM<z4!;Sc=*fY8vv@xYDs`>6P|t00c)3mm7t#dLrl-R#>Yb!xo$d^UjJTZG&EtSj zkl~k!WC#}^ICvy|i(J0+R>%}cN>Ev|Q8mw*w#x5rzAvEoug6Ms?J<5Tx?|EeY0S;O zPs;|ij2ixNB8fvpQwY9h$F6+7NF6ulp%+nVyoyk*O#wz%ILVZD&{pC##+^IrO?3FSQ)445|rHIv132@z=J*+8R?vtF76_i zF!&W@QKzemadC{7-6As_a5XjlD49Gi*dvr-N*&Yov-SwcT?}!R^9iDKgW1=RU47`F zFSwAI9?Uk2b}cG>3o^{yuVI*q9t0*IS!#^vYn|S(YA^3R?tPhEm76UUD!h1ZKJd%V zRIsBV)-KUv%VkjjlK{9SDY3Td!avAlnkhon^_647=<0MO8J}j-PjuCLgs9mKI;~Jx zkY#8&KFs@MYk%j9&RMHuJ(k3j#7~dwQ23VTRj>@V%Hw7fnOg81dR38|#c*RE-{Fr| zAujZFrRqZX?CBM|w(Lo`&V<8v`N^nYd=?i2*tK4pG@fiWbu z>Cz1G?_DPZUEL2pp8$y&7XRJvq6gQ9MKlMfo(#$PYcb+$3@Hxt)B#dtX9`fk>uXsW z=6$7D*g?K{(r(9*3~VfiUUY4|e2YIfcoyKRKybawd1Oz>vAb_=fMn3EWC`t+b|5P& z>LQ#zEDPO>xz2a3${r%Cyx^a>t;Wt4mw&YLc*r+QqmBlnvg>59;Pp?$($xTv9w{Xd zhztq<>X39Y@f90~JXrrHeI*r~Ax52B4dO1X~XD!9J%! zR{A929Q%4~c|eOec4U%VChKMA?>E*b&ZoG+^nrqJ%lF4&Z1V-GgFk+K-+V?vs^j2g z*-0Ehk>_g8@X(nO)G=^xE_Po!2;#96S!^czxJ3wn#{D?Iph5Ay9>DW1jC}E$a^bZ6 z=<)M0o%lx`X*FKuDCOMOJC^?Qi~9G&)p{!AbOk9vkmjo|Q7mRs4QH%R;xLcGd6S49 zX43CTwdu^mHgqyu_g4D9Z}pRXz^iSZQ*s$p?VnV3kvpn;C9$C*yyGLu2Md_j<@?i6+u)vON&F(doOAUMQ;)$$pEUDiI*r0SzH*Vo)O#qY zTblOp-TLJo&#%yCipLIS1;gKaUjiS>W4aV=DK(O$IQv5@{j^{A%ygNgZ96#`zuAz7Fn`)MZ&LkIrGSsr=cXp4KlAig7Z9IN_luo>J7 zD#Zgpn{fB&^bAhzWFcrvU>(ziNyV3qn{6@kH|SdMK20N%7fIIAy%f>mr(w6SHaNEw zzGPXf<9~@$5C1252FOyWwSQw(}v~n?gH{N1r z`*AF`CUqWK&0i)+nb2Jq!L%37TBWvCTV1RM52o^wUr+#a7-n#Nh;O%DTHaMs#svV- z_OGFZfe;EgB?){{@sCctG=;J7Lk(v&LsVDY8EM}Y1RF_HwI%qwHK*mT&0&Mj97FH}(t_r@{qU*f>ylOg0F=k`B78BD?ITPaF+4WjioR+F#HQtmc-kpnQN0Ruyk$H(6R}avFl%zquz?q$|K&y zKaX~8-7p}!Dq)^aUCS|!Qz%i9h6gE-kuz_{{|7j2A~%4lK>9Mv~WYwz#DWN z2@ugke3^$lOygWvxsj-&Mvm}G1V|{$=b8RvWOOEohxHWy<~o=CXQ$f>Mw}G$B-uVK zoA4*~hMii)qydC8!z=B6O)$S-PS{1Ik&tnBQ`$~dsQCKf<9(~c3<({IuBT6O3&!Jn z_j=Y<`bJYz>P?+9K$Jym6^Kg(W`rO=8G-xXJP{TY+a#@XUfF2~c^LUXId!L^Qd zu+z`5q)Le7p8sC_qP_mxVP%f}Vva=RWjx@4-c{9rVgn1#mnX1wLh^Xgt2dE4YWEYG zr*_c7?&@d4ZY+_EVHJ@GbsRfXfymNZYUF)XP3DpO0d%WxlxZv!^APiUnxW@LW1u!X z0Gf?(LRfEWW+b0ARL@sadEJ?dRUbCg3sCQ4vl7o{ByMZD*|_2v4GN9J^c$z0yv$4~ z!os)UhkKmci?kH7bee(~5|!D6#8At_vNTq+>8QrN6spHt#+3PP#ngeR42YKk7gYw- zuI&SY(Dyt2b2l`rhAiJ7zR3(NYIKxf8HO*L8Zb3)IlEve=Z0Tp5B-YEe}#M24n!Lq`^ymOpTeA!&dy9Z^xH*n8lN>$F98& zYG_C=vtr3GVf$sHrj_G}V$vdOQEMo4BR99V2V;ZEg%mEt8e490GhlqdXMGj$9Hiqg zWMN{@!*3(!Ei6eqlbs*-320Vps7Gv9-%vC%gbIVaqHv>C`h|c393b#*BSl&ROdQQC zk?Kig7nD6r&}sqdMVtLC#kE+!yXZ=w{5jSB(_6r&3?nd~vXdLy@~#kqrstSMV0N|5 z;->C{xG&`F7e~qt9q}8up&gzJbW-44q~*|WlrQNQe>Z?ajTpoPw+(TWQ3-OT7|bvf z;V%0P;eOdk9?`c>A*-BvNiISCCH>OH0)6J5Ddq|5AJ=BG4JxADg z^jz4L7zYYx-!WR_+EK9_$}L1mo*5bHQD%JC3YOrkV8OB8N?f~;AHqAvC`vbtV)(HM zugO^Ru-u1SNtyV^n*YN_upRSwoc+A^AAwuHOT*5G5Zn147)#t|(wfOsHaPHP3;@9I zH5&`~hzD3uf|0xGhrfzdQSMhnu?a5`_c9E z@BIT9h2cFr1r+_BYX38I1IiJO!+^W|MUi}6G_GdnacSh+lKu4UMN}$fa*v8R0D*r( zk368qz%&pQ7^#hzfsha$SWoTQRO8ZN+*?0=f-4{R4WB}fUo7+PHR;V|lRwA;0_|H+ zBlU3lJpGo2_;}RkKsaArWtiA-(r@cg#-eq}K~jIY3v;UvWr>pXH+vquVz%+|Mn+Ki{~-rubC!`MS*Nx}}!3P;3g{<{+N!3P>5k=+k?@dKa!hzYDGsJ9gZ!%C&5 zroM|1nWepT0iOow#mM3)aO+8~+}fK-(x$2FmH4$#K|A=PDRn8g86mdjZ#z*h7HHqy z@biSU6WlgS|HaUW0;R=L1tV7@n+?yH8kD^ZzjT(ljbUpNZ&R{_8ZEvH4<>POAOBvG zixpEiz@n(iL8M1jx?cZNFjM3y!c{F~on$PaWD5x*I+C)Hl>5s=#|KpeY{~P05UXHB zv(20oH0xydeKyUDVj5BK7L0_ds(bU}PDUKe-TBVot}UGSG`k*W6QWhj>Q&X< z$ofOW76AV#co8B^uE-H4;?USzXqP%b!U{ zOzcA7mp=8UlY{$}>PN|6zXXdTkY41h>Nb?FjWcoF`IT{XkstG~5wrBSY#SJpJ+m0* z3d@Uhu#PY}83wg8*ymuwjm~OP}jAf(^s?l%)AdL>h zW3l2N*m+Q)dscAhWvCRXw8jJDX)z;s=>_6LGV7OB3Pt^eV!C|6(fh zN>v?e;sI9X|KlvR*mfm#;VpmTM8v;$5I$bK_hTNv>Zg{F$ zelq{x^g1H)C&tS1RS>Eb{zh;ItoZAvw)AIGA#43MEw8U;hs@JD;&gTldeO9HoNO&| zMu`6w9G$AyaGQ|V6a1ZX4&2;5_!2BlZ9f~GVa+-Np<1@M9`X|RkKiztSX$KhaRC3# zm!SY?gVJDs2G{PPilHkh^9DdJ*sq9Z4h1(+3->WbtL}QG-&DUi4V|SWes#UySW+oB zpAO?8Fv#qnPeuiRz)6qbYB>lwpcMF9b6<~Kewib>F?^*U>I|i{GYIz2YBfd#0XL5p zGy)X2*w4FKWt90|u0!g7T%xdTb0INqj@|`4Ol1esG&zH9PkLpyNs6u$%U1HfT?)4m zvYu~}r@)1T84-8TSU}J&^hU<6O6t>P)xfRWp^w+;;P#@-Gv0^=d;!T*uEc2*8}EPf zL691Z7Vy0CjzO}DzO9m680_YNTZXjo` z9@7p^c2{u>UDydga@F!v5DMnv|8I#`8ZzW1<5SS~r2-CfkB2_yFK$>Vk)J z-bHYGX|r5IzriX68cDW6_+P&ne*m6e5UtuRF`jl6rAE`0k!4Cee@lDKX#In)VEGi7 zeAJFxX+iE{RwwS6C3fB=k$xb>3WJ=?tkK|#w^~F(`#tJk+e&F7HgmTLbA^G^zp@l7 z%GV*$clG2yR4ls+LhMG#rn>(Nk=g(B2L=?cW%hAD z!Jem*{NG;hxDzx!US*|nyN?%Y1x zsHc33Z)FUL69ddN`f9-y*7ztwa=B#%yTf#=sAJ*L|-)Kyw_ zc;~Ze?Qh>}dbaznx(UbZxgW<1N}ISvn&<+_$N&HnA=qd&S7;eqB{?9$S?4Hyb$m_^as8@4HNkOMi%o&c1?!t1Xhc+?Xb(D44Vx7 z)TDkfI8WVfRz1`7DNjW+ZMUR6R54XU!M2>c@Iub{`u`PnRbg>8L3VJ5!95J_Fj#PR z4esu4!6OXr4#C~sEx5Y|*I*&ILx2!=`1jlAy$|zpU%IO6R-djqr{*$t!(#LD7`I%B z`(t?VAv(WWN~(F_OPTqtxHZWrOEOWltOaG_#yOtnY2q{t;p-1? zSQpaUCY~x3eEZ^&g@jU+Cd>Z<&Z>~Dx;p79r&fOswpU~hW<@1u(k~Qjh~t9Q%>;4b z+L{Oq{HZv=MnHIsj5RwFMOK|7CO0lRHBnl(ZZAKI@G+9R@Apqi+t@mE+|^cC7&ByB z7tEy^2GIWpsaq%EG2jq%U|w|NxhQQX%f$`NskCw_47{Am7o+7Rs6IHn<#T*Me7)6M zyfLv?LgOuy^|zqlEsF&Uo?r8-(S@JWv0UlD9U;9q(}E#o+;2YLgN+nA$ND3e*9!}TpnMWTz@kL3QgVEiz^ z`>cqx^UlzJkDJ-80xT*({ViNkft)WJK?_DV42`>RVJ2l%AYu*l`AI}ps6W8mc97Wu zeJX!^q>{IEl{@)zJN3`!U-YzlO?bN3JK9w4#Fea~)cDP+y#Imf_G#mZ!BEP3wjXRk z`-Iv;{Zdn|pb+K1wjW(~410ZzF`1Vm!2LYB1@=;vd?F{*h7;$+t zNPSr8_u9MlRjxsrCqMZd8xaFaU^7N^doPDvKd>fRY#84AbX~7Heu*Gf9$_%ft1*?ORn(3Q=2q5u~2LJJ4RBDd8 z3Ny(EuaC!;+4i`fW|hxJ%Gz5*9}wFAqy+n<@4DZyN>l_9q0QJD>i;&5yH1QXNFs$JkjQMG;UL$gccl7*~UOnW;HzG4)LGinTJ;L`B>6#Og-MT3a`Pg*j* zVxO(y+ttRgeQqT(;@u^@1RH&V9#53A0$|(&Jm;1E@=e1EU zpO)35etZ^abT6}1wW*6M;>i`JMZt*_kK<3`vRgCnrrF{t0`a^#42FMFLTsw;IwLP% zTSc3q)zn9h)%ndon1BRg9VnlQpn{SaS})Bc<4?V`#NytKoBkcIPRAXl`jNmIdpNRS zak@yM5c#8aXmeRBgC#T041G>EYxaj9?-*qPJyOQTDPnD=m#Z z9s9uk@DUGca0VSgg|MQ(ZWi@l7+n2y^~hH{V!g!cSwhLf!q! zrG67ilox9s${7Rhe*PST>PSNNo!Iex+nMW4FfZ_9q=cfZLL3bEg&sJ)w9q zIg_?R{f|nm7gtyFy@OR<--`z->szJwla_XgFSD~3HE(Nh)RE@vduv6kK}kpBAa3Hk z7xCMl4zg1bxwNfgHV4QXo<2HPS2{OO{*jdXMI^Fpbu^+fR;9 z3X(xgx-Q_Gv_g;!^!UyCX|HjXhNXXwEH5(ZxgG3p>Yx^H)l8nb@7Z`74@+l9#!*-B z$Szb}MbLDmVfS6Jl|tjs=|dD@Q2Nv||KrH+hkN^ZoPN`pt2O?dhb8~x=;heo22|~_ zNrG@&2^%+!TNDBYY{f;@rWZvm-D=@erIQ$GQ;?pNzb;Qvd&cE?Qw3k;)@z$fOl@dE zP+F&OKbKVEfBX$3KwKZc)@heb1vPVdS79M*fKtOA>ZML1-X$Tnl)OczEzSe}jst@_ zt{&oOjW+SuCA<#WN9?RHAA`_G|BR*Mg>DhOww^@q^84n)Hvhk=Pnu=1UO)8bE9C!@ z3h+v4*Uo4>ZH@inWh~O`{da)>k(5ATTPvYONYBQhYW?YGpC?lVy z6O$XF2qoi)cSmF^cR8xC$(%hj*8;sBz+!1dYD$pu)7!X(x?CF}X?}0}SO4dG-X5CJ zmja|@RxxQjL~@v#q1E7nhR3h<7T}s4jRSq?Bq+--+2q-Tsrft-_8ZL(sPWt^hH=@9 z!Geb+wbtU3Vh5zK=p1V=nZzv+c?4((!3qvHrdzb(55WG1mrwxMlzM7s_(Z!%P!U+yQNY$ ztSgezL0cT}>cl`8560WK4Hff--eHkZn5V>}_^37Ue>8!z=9%;d0$|(a`(ytcb*y$T z@&Umuw_Iv(xzJPJK}b`XJc* zTfA#*4J8ACxkomUig547N3{5SOD3X>pIlOEc5~q6YH=NpiA{M|i+SZ6*z@f`gJJA- z6blLnSH2v6!%HZDL~%1^sD7d1O-~KgPZ1CZ*`xFzTVvw=Ww(kD&ZG>nE>*{v7$;t0 z3IG@m|M{RtJSbv2eCo%heZ3?*uX!b8T5EcIMIQmDL)F3^q=4;*?oLS;^zW~C(=NFl zFI+#&;JVzC`O;uj?tmp}&$v%df=6m}mA%{??}yDl=k#vn+{3y{2_ZrRDW-S4#g@gY zHqeBbwcFcgHfO46zsO+;C)qxs#-wZLRBC(&2`k+yorqwQihOPmrcw?JQl2%IO_BEl zvz~cLo6tDx&8}iGM|#>3>$my@{Ql@nyOeEjvQ4qL9|vwnSaRoOSh^-Dt6*KGyDIWl z@os4r+Oi3kDAv#+!Bv&ta@WJ>@az7Q{vlkTipGOP%kgwpE2^vyV}8v81dLf*H; zM28$Ga7rh|=-2S>C_ys2YPCrVpR2NH$KCFK?<2qvMkxLyI!3Fsdr3+qV_{v_bo@jT zzwk>{_FCc4E1!fk*po8F(Ok1LZ_70yhGRo%(NCo9pVG&G!Y!x$vG|*O{nAw}O>fWj zOP5Gb6S~o4&v2Q1YuvmoW}$I-X7q_4`ongMKgzfwkpb|qnmZmt*}w(o#Q8}ih;whm zQW!5KZi*xuCm+tfa@i6S7P|Qkh7Em7uJ97%LyoFnjB8}vf~$^_Y#2c@ zd>8xQd=&sB{th}{#q{VHP-53rniCDO{tsQYk41&ijuvT3$$(bE0&*k(D&rlRw_2-b z6)`c_qw$5KMe?qkk%JvSa;PtU zo(yEDF0c;B{w?F$wGg$TpP=?DaYKjFK$Tz%uP*(n@#*P}%NTT)Ha;G&1tVy|_} znNM7}+T=AevTPt*l4#&YD+t4CSZHUbj5nJ&K4EaQ6X6g^c{2PiN@Vxq!Jm^l<4okH zm{?9r(8I?q)LpqP4vWik1L+*+7S~ZeZN_J!EM@E}PKD}&pxVv; zXc}L&cn@SnZdlU0Q{Rc;f++a_-Qx%=GnJcDuy(O#796#F({YO>iY47XUTD*bWNc$e z`d^Fv!%Aib6-qhZAB?)^GdSC#XvF$xOSVtI!8r<~TM~VaHp50YhMfFIA2sKx$19Xs zagGRNayqiinJZck(Rmp{cUi}eKpIi~P)ZqSvIGK3$42{L#3<>hscB;5|M)q!)G-;= zcYf)1v1BEP;}*ciZ|Dxr9BpZJuWPs|=i-h2wzXE3``7%K|2=GUV%yWC3UsCq|0CLh zaq0Nqzb4g6bXqBf;b%@8@@Gh!gi|fC3_AD}TulZDQRV*83Ti6{CvFkhF}F9{Gyv zLIdvcLEvaf@^OM}FeJU>VwU%Y=yg72&0NGbtn;n$_dY=sRQ>|mf{WUApn3TLgix-*p`ML`GfkN{^bfKhZ#tp3*lo~%kS@Z_T4@y5_Wg#;U2i% z11t+cfBE&=dbLbdG>zdzo4%~{{xOd^*jBpOVi6N$z&&v-t<+3Q33=B)ii6>?pq7k$ zfLmBRQYL3Y;W}xZsvXlduX;f{FgajMCCWZLw-Sw*xY_x!N2^%ut-_BDRdd)$m{R2- z4>UDYnyEM8|FBjHw%2e`x;BX(IE;Mr4=w;GEv$UTuxd_EfAo@4GDU%n+fo48<4(eO z*Gf<IA=b5GBc4f$FiptUPfwBq+RW+Dl140+v zFwTz5oVXs(DHHPtc=5lGh|G0P%&&`Hv@X@C_nuDUVJs9@6D>M{S&`H~|6yj_Z!5ua z&MCH^Oe!_x>KJ`kyH0(5+1xxA3T0yL*w?>v zENB?iXJph|Xh@-!GzG==?yB zK^zFSm8jw=bp9A76VyKi#ZfGoOk>@M8SF-EHqLw&o$3Yyo()ql*D}wS(|LX!>euXp z_K4Nv=egd`1gplMCQF(2i#^HsRD1V}zN}6ZG0w3TH=u>`)NoeT{#t0QRMl)E!2sT0 z$Ji}WK3r%~&=j^?6X!-rgp))-05o}un6G;_DNiYB+xTVlo+*mJUH*U#9gfC(+RiWt%LERM z#TLpp!k$?U21*_L_RdxfZ`a{2WO;M(MjH>!y{@T)W(RXM1xq{PvxkFZQ(h>@hB0Ft zWQa!gETc6eLdA~@{B#HqU(Ouut+M}*PY#3th541=`t`Ks<O}8ip z|6VUhsR!M0xAKxD{muzGOyG~`1c59oZkHbXPr11rRB%^CyS@9Wl3E-vuw;$wGk zm3xxhoiLM?J@NgYWN*?7W`T5q1KA7CgFDm*byXI)5N76qovEao}we82u%`~U&K zVr3|w%BzCB;;1X7q;rqSjYd_IeAQ0E0JX$`=~K1&Pz$~FZQ?b~YM=DC+W2cf_09`X zJCw7E$prQbEfDK3f*!Zt^sI=10o>@% zrzAc8pc5-G%c}=qoLIM9z&q{NM8YY9LcdZz%L+C>dE-pKc4=p$yR)B_3nsoWQrHOuV!xQAFt2K)$U_^MR_D+0z z>Jr^bAw0no2B=`l$k<)y#1E(UpFRi+01Qxs&I7@xLWbhW;)15HlV+!WzZ~meU)Ex2 zRY>fXev+%xkR2dh0p0YMdq!QrnO4WyJN5z0#>;cdZU@Ueuh|EW5{{6qoo<(?8y^{n z2X{VoCrW+=@4s)iIwZuns>!Tg5@LOqVoyNjG>iSD09D3JhB6QmbXt%ak4Xh^dckXs4ZCVqDvSHHy%HUQ|R zEPuwxYxYoXC!9ie8%*+O-VmPfgP94Wbt)WE!n6I&z)aUo5@y-`*}R3rPFYd2BL#?F zRLU?_vuOX`Kp=>k>MlBjiG%YwSLj*T7E_aSCCNzAH0sX6p9ga=Ji7qoL`T$N;p6tzm)fHnHZcz?apk(K1s|V=CagGFj@550 z*A8NX{Z78}%TX5Yz*?*nuUrB2hM(~RF!{OUPdh6sU>R+{6lRhU?HTSiNvB`DV=K<= z=jp-!fh?pbQ>YpOCQ76VC*7-H&BPg~1#ut?tF{_GISjBR<7TQa)D-9i$o1CbzsJV* zB8o6PY{h}^#e)Z?{>XCdgLfS%7NCQ_I;88#hb<&Np-|@ENLPw=tC-%GBS&W81-t$B zf3L_tg2u+RPQfcZes(WFcin=r_Gz5El*Mf)$ihO?S7ebgVSG1CJ*aH<0%jY>ml$uW zP;WqI`0z`3V9$Czg`9vcpClr+jQjZAjo<3uyOj$3Ss17rB($G|>-vz<#JP)Tg8#$M zC=g(RqIfm=`<;8bGEb-;Q_2<84g_T}BJ05CItNqW*|r^7CWGrHCDT;)5B0upKCV>7 zqJ9$-BF#2Ci89vVYbspG%wqR;)LxvQk?fXzWt_(q{014vy&tQzicHcXSyMFcDDS-H zIucmj|F+Jbjor3J>!E{is91`1v){1dt&n3&1O{O6_#*`Vgs}*aOr+DY?O_^+tj{cm40Mv%^+_a*+08+ zFD(Zz`MHIyR#FQs`pQB}MxURe_a*VP<>hHlJjn*qO@|HHqO=7?y{=8tYHeWy#gLGI z0Nlh2h-Q3FHoO5Y_rP}nD+31^WC4-4c)$c;Nz+T7(Ri9|(%SNr<~v5A8TkBjIt{tX zS^Ek$q?MAcy?fq}U)`52JN+|`wU_M_fpzSnwUuknFga>MJU;Cb`bsXh=yB+p6h*Np zRbz>#;wkaMP8HjpJcO-rSgs^LI{{N31cJ%y&?gJmK-v8e2eNp&Gj_(S0%!e|1vBh2 zF%iGLi9ejlHWI6p)RN#KL%VIEBss0lPWdrH=_H3z4B)g0n{W@h8i%C%kgDWZQ1wfda#}Kvz2w{;+Rx^Q z0;Sj|V*cl^pVY9G@s<^u&(Icy2c|WNbf^2|xB#x9z*wi&KSm%3x}z}eFr}*V#P_*) zH=AHNLC@{-Ab-BwvEQKPvurq<^PkGS(&`{yS9>4+v+DD$)T6BwF63eI#u-_JsCxO+ zUC8)H`_8VjfoVN03DNH->rk=l|jX2*8Zs5UmE!Fm_W|H#fx=4J>U2qF6MQ zbAI@};+7ygpwk*dudqe&#l@_N&cd0N`aSJ|MpA;lt%6E4Pcz3o;#lX9&CS)-uWyE5 zobBk02;+2ef1OM232=F@tI05_e!Jvs)v?|IunE$7DJ}cv!g}8+0p|xO z;>UfX#=3?LI@3n#@iS+fh1OZl3AqC4ghdu4cWqYBuKuC-iZ+Wz;pvg(@UThED_jH| za)~k(bgU|cg;|=%$4bVC7ZS$D=W+OiZ^&qUJgQ-~jf4P#Oa;B~XHzcg>Nwt`b4#TC zT~sN9yv08n1S0^8r<%rvG6C-wV{1A~tBgX9Ba)~VKW|v@H`g;dKuds7I{MMaCAAXq zK3{JJ_|Ke(wDNlh(KPU+C>wm*bQ^Z4mVtw__VAc~*~$~_tAy-&za}r(dGkbCRds-48K?O$v$T6XT{+Y)WeP>pEbTE`u6OBD_wi>f+c?qHRAlh;P1I*{e$2 z)WP$)Tv-y+VdK}cY48h|PW+Rfs_qo)d;73fp+8Y3ckH}G*%yM7dB$86RrY51Bb2qO zQ>Q)TyG*-W7Rzhjsh3{ww~sbm7R3Pzkj=02U|0`dRYyhQFe1kG>0&B@Kw?S_QPq%? zEiQ&ql1kNclIhS*`mWb!O=y1v9o))MUFVwLpLXCmlFmJ>8G@y^rDl((T%IG74@cv3 zs2$7<$Hkw%KgU;jo5vX#&IS(l~zf~^$*P_#>)#^+%W78b}E(iT9A zlkgOLs%<`;A=ZraQ5^d8Y{b073*seCPT+~P$WF&h*$4s_$$25QAgK_+km`CVLVlIp zoKQg#+3csFPd8378>zTu-{&8d9z%l62)H42^9RxKZRrH?6sqDn?tYUMrhq0Vm$&_b zg`nT|uvUX-&58)D?mCIdx~B5Lo;ZOsDu56zrWWE~rOG>@pRWrRZArdouhuP^2~uMJ z>c3bd(Z`IZf_E!xDLVG3#ruWBS6$>;q45!T`YiLwR-7ad7r7EGS*1I>3@50PkjOo+ zuO-1uJKn;GeDzcu9qTXq>wQeXp{*08!g6phx?%M1aU4t)PGf4K6=`wdM9yYLIIV(v ztW7MyUlE#=0xt@9MTV6j{d)t;`PGB{Cu&5iKZO?!YYwY+)DPnlwRmD_co@x;2EiaM zoH55wR5~#QCk`xa#WXNB2_|0kb@p&7$Z6!zewO7R5(HiDkiDA4d8eAd%CiuY@ zp^{Ab{ORRx2TGWEOD9UuvbyRPo-#?%oG}t#Ps76hb2!rDM_??;@R;k8%7l~58Oo%Prur?bV zNfsV8n}LD=O`Iwy6af6J>$7XX=Fu2z)5`kk)4vod$bG}v%T%4v)@x)KidK1DL;7R@ zEh!n;T@2~XUQ7V`X$Na{-I!S(*}+R8CM^%2ReycK?BZDnK27#N&(ZX7iO0nb)%_(} zT8;9o-ICqNtRL$WBAJ9~-V866Bn1gIOYw$D5|ebd2+&bfsKeEi>(sTOl}2v52vRhF zTJ)HQb-BI{P+b8wWo62&o^Pk>ZjTJ83K&4k(r)$OFM~vG zp6&3XLuSo&R;OY&@BnY?koB`d)8P=fVA(JTTDvq_a*zaa(!%Z1`J5&VuCQkN>rcWUy z90Z=Deu$K(^>(HKyxSM|({KDD%RzW(KIvhvsvD<)-JKgNp1O%)@Df`M?&V+H8G|s^d&= zR48DkLxu2)C5F)8U%&MJ-r!*h73S-Ar_-1`S@FD(HBunQN5r2p}P2+HsOiSCGgwc6i7VyAi`N^g=erP|eD{8*ouV2_n@dRWBk;k&}ZPU&U z)YN}=GYjh|3|?}*!z^!LxgG# zA0D`gNxbiCmz&L{@6u{~Nb+7bp?1^(^YQh^NHw7skvsw#Oiji!vlGZ|H{4l3#3nD~ z2dCM9Hi9iS$BtFgLT1mdJ$$Qf+BGwE#t~3tmFz7(2_YDoSB%wZPDdf>2QO9VS=(Gl zJVa$HNg8Pus6rKwQ8*D9&cA{f=`}~cF+b?Io<#RidScgnr9sIo$mr(~5+WFq-5DJq z?szqtOsIeiG*M^g7h5`&C4=5H(K}y%h-sF4BIM1PGg5wZ0luR%P506d#5}=C zXnj5Fs;+YjkdHqW{V#t4l+asQtBIU;Vh9hqs?u0^#9^x^%gg-n(E=6=?1z#g8IsC5 z<6^^X|31m@zU2M>(VONNZ29d;ujulG$26l6*`qAMl49r3Sr~*UfF1$w_VcMma+)8l z^UA`SuzjGJpjjdsFgbbUeS1pi4UhCryraKAt`T|6S&;A@8EZjCs)w{?c%nF7AXnCJ zu5Yb@6HId1Zr(nh=_Hq7DH@5Mp8d6r)T%MAN?i0G(nb(0ksx6~Rrrd58s*}pZJ;c_ zwHrAXpYPHVJT^Wtt>0y0IfkR~R58guTUmJOE_{~jU{B+n{6=RmSR~f?wqH09^vOr| z(=>;j^lU4h_;lqn+mS%oJ$wzX-`Pl%N2{=ubOFH`VEwdY1!oy~aafpjpiAIN=qL7p z;`(zv{`+?}8${vh^g-s6+>Ma@p;wm|X;qI7Czq5WtOnczhos58e!;0E%0K;l{Pwuf zAIXsAoprx-N$bM0#d&3gG^gN4EI*lH@AI)%d)yr2yz2bYCu(c>YVv4~t9h-XeKFN2 zV&&XSG~zii`A2)C{(BDMh2xhB@6#ZAZ8w>>{epp@OLcKT*Kd|ge(;h-MC0Qf^KVNI zYgHZqT(geOwW_AOmLwD-9WsS=N?Bs>!pcP4Fi5nMldpS3-LamQ6o@yK@WB5 z0>uHPJ@xrXIfMPW+iA{y(sFy1FhI>ukEw0`X>7cu$ma;s=^kd z{4~Mm&0aJBhV3J3wHfRVgs?<738NX%FX&=wyT})T@5?=0VrEt&j&NZ?)7)yWJM%u{ zbcF0()&lrCH}tFQx9qu^W7mJe8P3Gd<7~wT#*X2|b9veRQPc9$G5S(eTHLERxZ@$U zF9bb`qd$#yHrFrC6Je8y?9dR#G^kM$9B4QpAi{&%(?}Ujf+yv`T;f;mbezYOgzpvu z812uqe^8cPk5$u`PE(a>`YG${ew}={tQQX_(0}c;|Mc$FSVd!rJdCUO*1fuBSqnzP z+uJLy<-1&v>M`Z0p|hTL@8+yxFKqyE-BTH+YI01IT{DzF@D`sKRtW5;G!ACbIlqLn z&}l!16rmd{Y0G@3C?nR$)ulK4RoLi$oQt^^_rSsrPyRDbU&^BppAx zgyUvND-He~3s@^iYNX0EAm-)W9jHx8NN{BP!V*dCIF^*&{Q-4QUVBT7n*82@s~`ju zm(I{2=~6I?gE#hgLOh7LpNP(v2%jibXe4mj#k&Z-51xR=SVcT}Mf^0I)>2WmiLLSn zSKA4(97dPuZQq1HYiZoJ7VX=90U+pY7wl(54&?=;zl57&EG@ijY~y;Cn^`NS#papJ=j$;A1}iwsO5+0lC&l3NhXaV@msm;-^H+g?NFz(oE@?bFMTM(o}P{ z?Y>h_x1CHT)ZQl90>wH%84yPKTxSgEdv!Bv#?YM2w>Y$xhh;ylj2^p?L-mHNo=DUPK5w zG0Iy$$#0;tdP$BEii3neehwAndL_QkQT`HMJx!uyzW2+f0cK93Y|S@P;yY6Y(8krC zh7qyJC`G$k0~33Z92ph@n^`SSqqwkVnk2OlS8=#a%{SD0TkWDzR6kBoG>%HXxy9bS zNj~qzaq$iFEvZa}JGtFxQ$*alq%_FL!e*ncg0XaCM>8m)RC+FB&K4GWuz6tUHp(IAG696SCRow&` zudE}2BC47nG_ox(@sVRc8Qg*L31Y}{)bMjP^PJq)Lqvr5k#j9+=%AY!G`b9LHHv+1 z7u)bac%a`UGM7k+%8b(OSYAN-E*A;)>)jrB01i!o_;Y>|z_q~@B4@FL{}8bIyDYq} z8oTA`qBm3aR#TO13jUh%jFplk)yd;d34tgrszdQ8v|;%`Se>@CgF1gcDPKvtk`1R# z+0et|x}XW#ohw?Y@L8qB9Y!D@L9O6hrz+1)m)>O`b4*D0&3QI3E=!b+;g00uVx4aO zWHS+5BOocCvVOz#PgMij<^jmQb?^^K!a> zTEjVl36aU)Vf#tBx27Qdg`^d|`|O9BP{z;xH+!+6=jj>ODUnNg!#nFQNf<8^j5A7I zhd;<}BSh5=k}uhx4MXoX%56fc@`1Wi%9sgFcXXWQqNyZ_9U>g<7Yjk7jIJFiWUP_H z=RYGVW$T9-WnW~RU9d4{{=Ke?FF*vqW`|g=@&QMK~lIo5@ZZkd)Zt*6!_3zNniy*7Kqbqqv|iJib7Ix8I$iPx#};iD#B zY1)be&+)al$-3Ld?M)lG)V))^b6@|hqhk*a>;7cZ--!mAwikB75w@ZwjJ0tkDF(*l zDRpq%Q@!HH6R0~`rZ8KD8;U(|7kdcEp|Bo)lYS&|;$GR>!apvKo}!t9&IYfZfl5hQ^Ix4LnS@qN}?LR$Q@qhpN$HrOl|3Ci&TqwlM literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/9-trombone/36.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/9-trombone/36.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..95c289ba3e421e368ec8ec03551b282771eb52c5 GIT binary patch literal 28495 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/9-trombone/60.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/9-trombone/60.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..4f00cf119d12e454bf113d17d30f8a6e354eea1c GIT binary patch literal 27147 zcmd>l^;cAH^zNCVVdxr=7*bMZC;?H1ZX8Mw73oGnLBV2%1_3FNlDFps?4G zZ(`!#C8xg6%*rn;E-kODZD{(~(%#+MKlo{6V(Q!M_r=xq&F$ZR4vtRFKu8u&Pg!4G z>WaMFBjU#YJ(4tvpHxp7fGu2{!+r~~^}ql4|K$}tq5BUY*g2#z&y9D2-hp9vmjSp? zVSD=T1b(sSDnDgwRWj&w^na3Jo(Q3^nW0za1E(I8J}&&5b~Jxr!pC_D1o<+V`!vqO zN%`6w*QzDdARic=U4GLS0@W2c3#G?yFpgT%K?bsDBA*Aj0KXOV_YRU4p zQRohnUqf57JxOe+vtMXR$Ml=G#kM)kQR#Ub&@q1t7RW*5wv%Pg>?0KESy{+CdLK1w zJN$Yc%-#$B@icCfpA>hbSP%ageD&-xwQ|RzDp4k|9s#1GGbH}my)J-82o;F`PH3#a@Zfv3`caBXc*0Km1I-ilUdoYH>MAc^lb3Hqu1wm zY7}fvV!$`NKJ(Mz`_^no?Wl>F*WOD$F=Yh7^EdP5n(FFBn3_cE5Rp%UKRNE4zbVVa z13=-6<8SYTWP?f17!V@p4qJt%bO9l7fB>FYbqNy%GFwKxw#c^pPUYi)Oj#NsS2yXDPdQGjL%&!6Du)iO17bN z-20kb+;Ao!`I^Be)2PwM7E_7l5AjzlmRI)iWa%|gV4H^XfV=mCTfyy9r_7}+@+f7l z%Ma~2qhsxYD4L(r(L)~bOLf{bn3f%Oa|0kvnK%rl#M4~*t72Y(>R!%}@!+6E!=nGf z=oXg(5>G{zC&lQ<{2y+lAQ6mC3nuQbM~ehF-qLzK{Gwkgv3eW4fm8Se?(1LgmX(b& zvzamTvP1hm4X#g?!-LuYQ5zgNM?PJI*|T-#};6Dw~8p?}yL*m0;;HjOZ>N@Dn%vV11KB$@bJapa&_-v59oQbM=U4 z+i!+kB;i5A$sI41+bZ>teiJTX@m8@`082U7D6d3SI|UC>051>v6Sj+BGe`=HQc)u# zp26{6eIlrX%z5rT#8a|GqF%yE)>)BT(_t&(&Fj1&$}nJ59`r!-2Klu;?;68j8fJ|< ztd=o;I+`F@RMH;z4yf8Dby0z8f=t8lwAjaAmr4?MB4+JRdn4#XSeTWhR0W4VhpF*@ zxV7l?Q)btqHjLeYw@<98~pdRkNWCJM|B>3_035LEbZ{gI)Qa9%3tj0l|S9am{}ANsjWZK-xfV9 zBaZQ>rNUDHYHHERk*LU_Ar%f29u}>w<{wF zk3aYEhbNe)K}Bla?0z7)vX8_rhKmye3%|fBJcXsGwKS>Vg)0)nXkG*f?zsQtc}}+~ zT$^WtAiuO=MMIAC(r`7H{-={3Fb0qK(G-h5_!+x_#PYa=QDXR7lm=N9lo5t-$_!d=f>pCj*>X1xJV)@wzT z^C;AV8-9RONcx={Sq7d{a${3&oqE*9T1wj1RBoO>+}~qOg&Y|>{B0*A!j8B&d*6J( zrQ^RmHXNi4@DwZ6*+{61R!BT`FD*}2Pc@nczaD)L6cZ^5a-}ie=2C)OWULwi6U&9l z1aMj63n>Q)J)Q)X_ez7LV-*mBzwD7gvZ@j8j*ZZ-s##xv%0Qr23lcALznmE#ohS1# z%`G#l9es$V;}=lP@1QQkaFQ6$h1Iqm!pgq7D(vJ0HH)s<{Jeasd>;&u*O58_6Sja-!GCLNyLT(W^%GOm*L0!GDDq#nTEm?IsA{baVnPqg1*qgO+Q41@9s8TsvsLzm!@}O= z$#pj*C}<=S4Vk=ol0xw$r;`4-_Jv?0xl~NW6?O)>bsgcmo}O9DG|@4!mt4CGH@%f2 zL?y<5z3MK1l$i5cQ7DUk>JP!|9yU}>37je)8El&TproO1R#2wYnvw?brE^E?{sYv{ zlf(lxl9@9nH|53*{FugLQep~?RmSg$q0g*-V+aPpaf11h!*X^Zv6`Xwq@r(Xr4U!1 zv)W~_U}T?{SdxlI8O~RQ9C)<;`x9xROKvIlUPFX!zo1ALJn`EHcN!xP9tYt(qJPxe z=`@XsdpUv^KYqvmob}h$C$s=qe|NO7Zbh)e|0G!$ZNpz-gZ0wPC24!-VNScipkuU& zsw7XYv=<*5PmWf*FUK!KLS{dQ#^qj_S>ubpeBG^>o}f*)77C;L)n;zmRQ?zH$&7Ma zGST=>**Diq*Jm%;Hnlb-MBG10dI?E>)|61YFM4adz!yb1K-zz$JJ0JFaz2hGj-DE| z+}oRZD4ukCqE}{**016le8R1N?`C9bY}2#R30kc-zGe4ECGsmbox%~5Y69ddQpXsE zq>~`rPzn<5q|RDvbUENRQ1G!1qk6B8(>UJ8i%7AjfD!%~Y%M>o>3Rr)Z-}yIbR?!! z_w6sNu#xsb+~|Aqc(HUVcswx#z{z?qJONIiei0;LurA7z4S9C`dyYD7s-|QOt=E|_ zq`3-@JA#;;kiizDyxR?oj1&c`EQa@J%tTMw|HZP%1P>4dlDek37ZIdM9#UN8XY&Jh zvzw>(f{}iGac-Pf!Gzjws^-X+?9k?JZ;LvC1c)>jsN~n+=DMed0d1?}(8^mzoO+9W z(TW2R)Rr0g(VyBP9%8>fSIJUCIf#8n(qe1+W3puQ5SFFHYdL#N1&7yy?VpVOSy77V znSSn1cxUvPe&4Mn7hEk29eOQZsRK`R{f<(*tp(L_iL%?j^%67aZJ-#xhT0<|m1L4f zBCp}`M8rgoS&VTjCPe^JM=0$gyy;*Fd09@$q~*wRgaIRCvv zRtklIxqyfl9f0J2;Y~n9oLnvS%+1W?78D+qu@lzw@{?(}K8xNJI_lnCg3~5q%kDRL z1WJnWMvu}GI~En326$?(`U@ur7*q)NM&XP;C2Q3Fd@IZ(NLJ$=bD_~>2nc?`HuSV! zhTgmytfs*K$X?@csBz=vXN4ttnK%k#`cyP7Qz5&TpFd*@SB_L0dB&o)z`~JWxaW=t z4ZS9rac#PnX^c}jFl#m<@JenqNtu?T{=fb@ImftKNW^~eueu-R=1u3dw~CeipiV9* z%GtkSi#~wz8vazXjy)m?%Yl#0NEEh219&up)tK7FiiVI=%A4x&`xedm zP1kiMFF<7nsD+NM8rW@Gx4ySu|5U3;cEz~v!Ou%Oy{`vuXfqYOH0Y(6ZPxsDgBucb z&Kq{~Tl$ka6Ye-%C_H4^>0iqm5d8P@#}@!NP+p$N+JREdKxbZ|=83+d6^Fl}l?5ubTQlfC#`6?5A?yZVN*lg?}&&-MM>>GhQXxJI=a z-ye!RdxwEO5IhE3>cG*N@&ac6*roF5IY{5N{R2~|Wdbzv|B%?kz=v|4nD>Y=C13w? zp${biF}^QRX0L1Q$K~KWl;-BuCP%(!CAd2*xJpAMTHR!0_mc#zMD!|Ul^*UbV15=p z&>7`HLI1S)!^b{FaaD`UHkhlQ#d*XZ9ey+h55TiR5Y){gU4HkW^*&^Qys^)BtrXV& zgv7%;5O7m|GB|}G^Lmn%pcS2Rn5OcLN*g0wYOaLlRw14IQQap#!S5bajw{njr^h<4SKvS$WwgAEJDR`wBp#dgpTMTnsov`?u5P+5ihPxVCM%U_V{Py53R z(s>`6os4?xj@GWaL>LEJOI_~ntz4YWiAM$xgJ&8aJ#kU8MzN#+Eb7Y?k8!nNIt|E;ueLlzs;>2KL3) zFW4Lkhd3iX`tB2Jfe*m##V6Z}ZaQz!C9=I5Hn)XiG-~fI3iTx{r)lRx*-hZA2md|& zd3O*oUxMSwJahm@&)3Fu6fIKD;!% zFjh~UsUYbnve3i37-|VM1P!iC@)u2^5zxHQ-US(r1 z3la)uLyQy1YkNUF^&5k^gP?O8@NBadPDQcEWZ#NjX8%ab!)ixlGFVDJ(t-NQspv5f zW^TIP#n0CkH7K&r)_aE!JfB%Cc~}*1N(1#1R$VX{VkAi9!LDOw4qfiOImKmLN<(_1 zY_6`@6NX^^hA{jR`5Lx^FS`YgRs8`Y(sLz2w{f0xup+G(K#4~xcmDRs@HV=$`}TWM zcwq{NUT<*b!*mv$!LQpH+S=TO(lUPMEs=x$rBA)44`Y18uoMQCcq=rs-p>pk69c6|^@;LPcD(mLX8njqL3j5ubPwpNBaQ7vgEP<1 zvwg=WLpGd$>`j43qA%y~b7NA|52_c{evmqT2);1V=2t62VT#b1^Pr2waaoRq4eOQ)troOo0Ej5UyJnb4ADj;-(eOp!x;U5^fm6j>AFkW$g7=}vI*mIAU2wHR&G8%dLXxP9+($w{cm!b# zoHnhWyjk@g=5%vYgZ#U%r|E|=dF-spHECb-64K1o>aW)SP|;tJIfcul(FyK>TK}{@ zV-5pU=K3D~rMhO&XS-6(OpMbHZ`Q1o`v7{B9Vl1@n6{j}pOOg_fh5-|`0SzJ{hH%C zBk#6u6N_CXVnS4zP{UbIg;-_U(I|#D8mb=HpWZpIy&Mc<4Qu2JmeaRuQX5H>*p_Gf z;9Y_V{Xa^-$z3Vvxpp7S4A-Go&)T9GW4%!7WP`vLU0W0Z5IO(Hx}YX8M9RQ9fAL~o zF`HHrGOl&gI*x;guB}a#k$rI3;}SwzRcKe04sh4^<;kNx%xK#w+q)~KFgcO@eXGI^ zlq5)snEm)ov%)U$mcC}{gWwI(E332^F{nFr%}+X?hid1o%}Zk4@qyGP=WSWT69N(3 z^gUQOPy(Y)lw^)31d|X*TSIxVp_j4&$ztBMkig+zBD1aVcm#VF7@Z zn!}J&YX+tGfeiNu??AFBw`LBvw%T0@TnsenL9;3QtDDOG4YTP*(7=kkq*;cDvgJ`+ zNs^3Bu0}U;JClC59I#I7PL=cj^6D;wUtZ17Lao#JM%K3!A`+J&fT}ZOTx03*>SKZ6 zKvdj?E0O~UIS4w4R#?*I2@eaK08tS#!BP!4w4zn@Xn~mn8E{!Rp&`0Fqcr1sdLkXi zWv_j$mNCqH`^^c>$n#GPqXkcdf0dbBwq86{D`EssR-MM*3Ww2pdqX;%k2e-OQKA6& z7&ow%Ws;*8C>KCVDnG*BXHt>JjCucJOU(F*9;1oqgU-q!td52phvg8O=_|{7jh(E{ zd-Vk+ZzWXRI`%FtKVt>&M^?Hu#<+5QhMs%Ul!v+V-yDYD=^#Ywv^rZXq=OuqheG-g zsP_IRm;3!UI{TOdOYRM{CnACmiNz>n({ZqAWivJSFi8qU+mbv>Dh80vNLeJ-xFp+eVSPm>#?^>!ODRAZ=|z93=g z#AH=f`KeDoul>~jGxVVZJih+SYgTsLsCVZAp!!To0G+u{J@-~XJ}pn6Kk|L@#}a)VJgZd^aIz?wAnhuji@1u;JA!hlMj1shw0e6DqQGy z{E`W?S@c89^y$-UP!LH=s9sjnQNaTMKk^_%4$RN2|4$zRLM#YVx~pyN8SUUbROrSY z#?O|hoNvaw9}ukP)AbMNqy-G+L<}_h)(W%||G_#2GVd=L2}G?TC;f2ibg#WB%41zK z-5-Un-F*950^Gl|H2D0D$apT_^t*?U*n&Kihq4=%)P}YoT1@#L(e(&QYR*eYUc3V? zIyzD15nOacFHi8Z{d)KOrKGcWB*f`UenJN2Wpgfy&5|irUzZsu3bfxex@~2wXiO&= z&!5c?QQ?_e-ptKGZntSU@%l<10Bh^5(Kz7Wy3mINhHxjtK=G6LGGo=dK5aQ!OOXW@ zKpZTb$xhB6r_%nTA~rN=Cuzc`c2{|{rzNxx7o}R0r$JklJiXyuY#))r!NwG@V>#vE zEuQchSzs$A3W8H-erK(Fb(5cs$v7d$+j|~EF}oCsB?+J{i2J>1Asf$78N(l^%*FTe zidNQiv6R@j3gtD4P&+ThMBhyzRnuqe%F|A&W=jhPM{;M{DQ^fLP4x@iP7B$v2_cKn z{0N%1pUj`P{+FVwTj-K)}N=RPZQ>-Wv8aBVLjYCr_Jc;q&!5b;&~4S?wghq_Y*eS^I}xF)m8( z@PmA=E~HHEllq${?w{&6xh^R}dV*EGg#oxrd;kK@z2l2AK{}Qmo@*x{6c1bA!q`>Oipk=M{6Y z0{Uf(mRF_)*D@weeBbtIw4NM>Mo6#jB}{ccxCse8{{Gu=9p9f#aR()nN1wq+&4AGk za3>dpk>;f*qO6X$q)hRheJ_N}ow4ZrHIHX2I?BNfd@b$f?jxa`5noCpC5xj!(-;$p zUq!z;;fz%`ul_aX`2jZ%J$mEh9mHEAJj10fN)gDqg5U(5XO?lwj*N+qU@Zp3c13DwU@r?rYCN%DvKJ z%bN$~oiB}>LXRzR^XvbbIh{|M@0LbE5bec3x%DT|3INFU&fDgN|1GZu^(Q09Ir?wG zxmB2g#cA65(G|ix?R_{;>e!%eK(J}_cH0sWS5ei>Ro8;Fv%0I_Cuv_P(yjQ?+?PnS z#I=|)bNxI0?HOLJ^7%nzIQSImmW`@!QEff@FI_l(A^GoChnRpk3=%KhThF{5?Xdq* z#v~x)Zz&b~9YIsfb7)#bOD8SOS2g&TwoQ2f*B;B3e?1E=P5e&embtZ)SgXKt250ji zRq1R>_>aoBdNpv)z-6gD2_xh`wv1J2zwI^srZ>~a#o1-)Ab8U(%+L=kLI9D!Z?HI+ z0?7b=1O}7Ch`$PmQ0E(#0OG0Jh?^g*s(Os+TH^R!I|OzZ<4vv+jmiD}{PU*Er|Vj) z4jXFq0=u(*AP6sAmP9;rzB&ehwR24cVG8*k!0;bSf>>XOM5(v4bqbw>%uw@PaFWbO zq3R7aPMeR^WI{zgvkUf#r;Wpc-{cLfL&bexONA?tgb7ih!l`c@O>j>)7SRD&M`E^B z`>*!DtGA|q|NK+PBWl;q-iEZ7(qL9B#e~o1Nh>6GnI(kA+C&JZ-diJ^d?FFYz>FYg zM6b1V=wj)~dlowBn?pTf^SE%51d=kWsM##({TxM?UOZuvL_YS| z>7@Q3#kY6hufWvj($V|nJfFetnHm?*!?}Cokgi*OGM7yCpwK$UBYTU{>kK@wAtw3= zRWxFVIs{L|r2F?6hw2n#LL_o&1q0g`PRb0UmW~rOSl+fSWU$|#ld+4SD>xSmS93>q zAEMdQ8$I>KaBpEAM|wFsQ$~&77fWrUa;xN*X2@`L!N=tIt-bd{+3G*9S6{T?AlQ^x zzyw@s9pPe(bZf6P_mMz1uwj_oVOR3l;j0{|%j7~mY(x&kJRM$?_V$fThCUTEoaFy< zUt2TkD~&Y?SJ`dJ=WWVOV^%mPSg$Vd)Fpkv_q}lc-7s4P%HF&% zcg+cjj@4U5jBds}K;@Q<~7Y&1g z=UrB_7o{)CXhTPNJOi%Td#JZ=BG_@<0ct2+DUi^WASqNCp@${RoAY8^E)z{x?+-!2d8C znp}vf3IDUML#;Xw3){hYd&lL!joglJ(?;4g z$f!Zc`JhypVVNc|fACSbj*GX$Uc-aCoAcl|AKXRVUT&3^lF} zGTO=Zx_Er`77EJ?adXqfN=$~O^xAn%$J(q9CcFk3UiC`HT(x15Hxzq zeReEmj2|DSbRHVWn)+oM zA=MlcLSv|-ab%zyOlC3=`mIHK@bu43@ZZ?kDY%}!>trZIq7jhQec|k9M@P)i7((M; zpB5~qB%@M{0l?68ee#ZrB5v6rHjF=X&k%A1m;%jN2*66`KKn*~N=O$&AEy4D{u z1v%$r+??M#Fz*xsjUN)GA6#9n{q3X|v?pwM`b-9chI6Rvx!@f5FZWJOMW+ zYQ2uLjH6?hTKLipFX&!ru=ynlrZ}cdd5NKGGM3c{XavDTIYbgagrMvNuxJA}IcaG| zenR&GfBOlW7nwtkaREHb)TDs==hnCK)?WiZdi+Tyi4d;^HBFMDcr3E+d3L<23O4+r z^q1ccJZ>I8`BymiQnqzV%g*@EElA)*p-NaXdmsQ8{CNQ?oIt}vfiZxFU{x8bGQ+}d zH99-&ZEWV2Z~&<%>rl$puePic%){XPMgw4()g$%hb>$Iy-G9fn19ohgvr#*$Cmp$7 zgmy6(Hve6OSkV|3#bs05YgGdGaF3a5B>qxBIpzC&>z>K|`bRwcN8QunP)+n^iJJUN z9M1;_*hNlME9dYjvqbEXLbDVPnTYiG=@fR=ICwO&<9(8<8z^L{+&?ebq;tR3klsi`9OcpzBTk{mRg9t&?50|AK_3m65X- z4DtNz$;a+40M=nPBxBK;ND+yx^uT6j1{<}<@%-PM%>#M%x^Cufj)U-2;c`ZWm=*bN zn`w3qn6#>6gIpk&=>uD=>0Ked)VeRs#p{Mq6JNz^OC@)1|4@yySM^I$^Vnaz8MAhz z&lLjYllfzFO*nU!Mc&xdTi$|u(wY(%hL4J!?N|>bVfQm%LWc--{T^z=@wfBP^&ruo z@gp3tL=i-?Bp(&A`aW9htx*!L&4NRWpQ`_`?vRaCmL7PK;^_QyflFaY=RDf`UVbd2 z>hYU|>o5N(Wip=~Qo8>0i)Y7y&`hSLVYQTsK&pfQ&F#bLuQ*L$Ay>8czc6 zyu3mzKoRF_5lgVrzLAZbu0@i1nJ%CI=6a>80@KxG=W{tC4LWDmCZTaMaFSB5!KTQAMMS(9YMpSW)77z zR86g|LctVSD$W=T=sij0fP>8B7varBprMC6VOw+YBGH#ge}t2|Umb8RWd@M>lY%7G zd)s&FU2I1b?vd--L})BeTgn^V&GZF!qeaP?!1MI+KN|neV(xyU42P4<=skGt3?>ty(lvUa296HQ8&G_uW$~q2K(x$OY24KUcIMTJsqQxGa)FWy|$rr`<4eJ z>NJLjf9|=LNvVcy;M;On)x+77pU}tIBC8x0vk{>Hmkte7*w)YvZo(7`N5?JZz>aer|NtD%Y@kHMfFYHhA+$AlKr4aAFC<4xSR3e zJP6}|bt@+J!U&`Unns9XI%_U=p;p$1WO8)#c;Ja&@lFbrpZo)KhpuJwax@Oy@YE91j9lE{=2q}J-3j$v+^s<_%Y5_AHEnCzEQhdT3w1gb8>PKACORR z1#7{nf_o&9#}Crt?1f#5RgUXfP{kCKcOko7WZ_dWf~1 zJu6ih%pu~r>EzYqGqj_oX-ghC)Lt)_m}-ubL+ugw_?ye8sf2KT2*kUo_+v>>m2O3( z@$z3ppZMrla0+fd>^eL{hu)w_^ky~d9S5A+xk1GN>Ej!#GmelBPYt0}4c_^2E#?b- zh+$L}aZ(0u`HL@O1%>D0Pg?@n7Fg8eiP$3!!>MJ&c&vW6CrliNAjffX?6>Cn@qAxK zGC8mR!O6-O>vV>+(L9wt_{*c&y8;DPgQfqG40VT3J2;hJ^Q4FJ`uWAy5ctD*BrwqK z@)pgb>;t<*E)t-N7Zyx68fP6qMb3MvQ;5+txQI!u;a9a$0P?L$;S-htf_V8z&fM7z z>eZ*he@5a=ULE2eh{xaOZsj&43*$Q9vsE5`{qWp<9(`Oi!Wgh^CagYBOsWAOY zDD&9s^Aw|?LM-DZn>_p0(S_Y02x35_ovA5kR?-jtc?{!{N1x> zwQMqB8Q&MRQ)rqnsdJ8KWl9Lsw5gF2E6yv@eE6i70Cr*^WuP#zufJ#Hq4}#bTl&R&E-nv&J`Js&nR?bjb-a`Pu!UE)o^({K%__3}-kjg7iAZY-^a; z7yuA(T6rzH41Rx{PGE!NK7(LsLuapzk;qyTj(hSh%gaR3bvLH3+h&OGCe=Dl(}GT4 zyO>t(@6+`|Lltm;9hXJ*?bjowf8-)X3XmLd)OC}M7k>dNbk7W)8Wz28#F<%xW;~hdtWz)@5!_8d@J1(%a_v|_f8AJx~A@F)(8K7fvu1cErN~15zrhvj(c2-C2T;d z??ufLtdej*u-c^y?co3MI8C`D2P65f6Zoi>*Lg7!Wg;NRp-6S1%#39e6o$4n2&RF_ zUt*_(h_9XS?)Ec$257@u1W zFg~o&+^-T`Pk!Bh#fFDIafyrtfdGaWp2{_aqLr+U#h&@}6D`JK>4Ya<+>gYU+|P6c zcQrl_#-EMQJ!6^6E>|C>&3Ixaau`&0sgo$_$&8HXFYWMbb(#B+Vh8tF-KQ#{I~0uL z1$59h7;!pA-_w3E8=6ZD7o1ke%vKbNIr-w1*@6X~pQNI>m|%&a?|pLcR$VPUL<(X8 zlFwfAvYW_RSMC`Vh4FE%vroRtQf+$A@X^lR$qaGS@^Iw3Ak{P0;#cms;m=3+4un5E z{PNj#>igvbNX7fLjdopd(VH2uE@9uTjs0Jf^xCFACZ}xcR%H&!47P6TH?S*OB#6t2 zapt_j{IN~`AUzBA}hKcR!4xioM1CQ67 z%TuJz@evSw;FoSRdp@*e4HGzw7SiqEg+&DN>ai0c*r@efT=YrE)Rk4KJNZicst6ZG zV1UsYQivO@7h4xH3d%IgxcPDzNE!+Jfsyc~a!%gUAd+@j1ajF{gkP;~6f~9ATHpF& zLBZp$WpcMKWY6+SL^T{Mvt%B?8b)k1^=AM*gm>Q?y%XYcVBpc`sLi z+*iMIekh*XN;;YR_Ja z4OAdy&ynOCN=C4JEu;$%5~+YA)fFiWhHFleMA8~>4K=G-QpQpU&fc*VvbpeIRsw=9 zU8W3b`5IFMp<#xbxb;h;m$kZ|dKkj@pUfyMDEJNarARR(4ZLPzu)w+gWBgW1M+=(m zRYTf==lE1!eB0akE!roy4Rg8{P)7vPU`!!f28#3=(!Rp|@F=*W&r^1&ldTBrRPlaL zBYHgSxvTIvpF&p02Tzmqhq3vjMSxYBikF~-?P~?PoJ8ENI;A7SDJS_%#?dcutGTw1 zEGX4Qd))Lw+)~@~ODY%80R-xiDNO0Uc4i*?$~sg}E)@4WB-14o39A!95G7#=Wr67x zQp%DEe`5z0+DmGQh#$q9(}g;q@R7whb~>vQ%ulImqBenF!C`pHXPSb2*DG)NK_@so-gN3eY;$W}phOMfmTkR|Ow!i8 zzEKYy8t4<-*lmOR&vJT1;H9=%T?(QR%3jk5ANs&g5d?|e*-xtW*#jGc25g&p&l{3u zq#U1odS5c?b+ZNpLw1>qDsFzZ09yv@XC%3LFGl3hdQ;jUL8dmM z)m8RuD{py&%?}vre>d$sw9?OdGGM#98O5M@>ps{e5!WkeG3Qa*v@=mT;Hm`G@AIz7 zAVBaRd)OnvSwtg;R&-dyFqP^}0;)$P=XsouTtp!PX@h_%^8zS&m&qKhZI@#E@QrUP ztJ(0F6=XHz&7onbMrPA@)qJ12-2HwZqiKx`roqjJx^h*mkY>l`8%OpROcs0PAo#S0 zbsD1c(2XuZuObd&vbxq!nFNJD)r$4@kdOyyX@~@{#q--NkcYi@O#d6iOuxak; z2S~PKvTRKov8!-Bo78WPW&veFzg)9ro4Cn znycZu;4p+(x>V_UF^^;1Pnj|q4!WJ=Frx%G%r+oyC{bv58ny`7{UA$_Yp!rIz9$_@ zl618MssES9z71wnDym4efA@SlH~b1gNpxbET`6VKE_IzcxAhz!wx2k4Ts!ivc5m97 z8;Zfbf2hM^xYKW9-QC}H(ub);c)Xw?TihRwI*+z;c?y)=m0ARioZf)-h`F_bu^c7r zQx2!rI0Zr_LY|;#q|f--OeyWf0l~m)5Iz2;yMwle58SGMkO7DEfi@Lqf|!Q@ivQ|8 zo|-)Fzv&Qx@u$qkS`*mi8ZAstMK*g($AUkc0?%&+tcT(SdG+7Zr^0zl{z?SOBkmTR z1~Q>ri8C|`4PREfr1j^NH5x|kdAq!VuVybd<}V*9caA%!CxVC+rs5$n9BGh^TY}M~#3Fe?KKxGD~>87Ph zcMCJ)lUMgY7P`gOhG-6*58PMS2hcEY=HBmTqZwVyY|76wac4_|S) zuhl<1-@bF&_6%k7dQa5xA!OYd^JNqOFc$CrZqQR3a&rh6|6Y(bs)IjQ6nz!t< zDR^1?^)gYA-UVS+she!kXHP?}=uYI*Ihl7w{`T$-MV`(~m^dOyfg~^3JR0Mt0)PF(e9}De; z7jXb#wCZQ@?m$+_M8i+!rf$~C+kUa#Zzr*@9lq1Z9`wvvPTMr~AuEl3ajj4-C;7)q z>-Bm21q114VEL`d?~+tM(^e*mdZVrKp=$WFzscE|7k`P>=#y4xPG5L%5Mmf{r-r!1 zTDtdg9t^0np(L@o+Qr*G=2jbq^xTtS68>CnQ~z~a+@}2U?i1gSb@MNyZ@j{}<&vZZ zh=64NNi7>kNjXVI|7P?Pre+`wn`uf)RUrgX54j;H{jYP9i<2p{FUqvMz(+X3VH|FQ zRpC!GFM?TxF`HJjWj(Hrp(I)_a7&fucUJ8=4z>v{{$m$FzK&sgkYzO+5IH?nTJ!i# zZb4NR_tcS`z#O(2&1k!Uq3+j1)Y9(q2l5N zG`XL?G$076!TaD)B3&OSA$#5<~2> z;v9&lda;U^FF-%~+orKlt@_v3IqraDENaq1WkQ~WDWq~EocZlf`8uzx(NSieyyuI1 z>R0E_^GwGF_IEi@?nDAoh$q99>kz@NZyo<4rhy0UJXg)#6vEg(MvzHLXLAf(jmAS= zVI$Xyg_?x{BVBxOK*TngMr!z+36p2`Fzw9MZdumYkLe71ZiE$i;i@e0S@mUinHFa3 z$-dJ2o$~Y6Zvrs$=HaN@I;QuSAywDbYddP8+z(^gIS9E${_@jX1mloCP!YgGgjc20 z$ywO3@@O7M-wqPIZ>>y7ggOmq?EsH(%Y?pbm7D3uBqm@z=Mkpsy~*ryFu# zF` zbq8m@sKZ_@7y}2WTlf`!jhR#L?;5p;=lX$Qb@pd8hPvo~FgytP&lLfLP&%g6J>S|R z*6}*D_lE4yc&eH+9d6?Q;?I-hVE)s9Vz-*`AYxQo>uv){RG$g5Ygn)-^E*wR`QY=c zq>fvaWHR%@E=nms5vhqCBOj}kAgI7Cxt71C7pn(t7p@334O&M~swlRuNEd{r>2?x- zLU==KY-wM2WVV0N4oGvjPEH8TOaf(J3*h~utvKi-D39$&jvx3tj=hsf7SSR&O$r?=UWL!Y$* z32kI>?oJd7j4RqAHHw&&zA2APHcKCA?&btoq^Pc520A=c%axq}`7P;G*IGVU2K-k= zw3q%BzSt`G7eM3a1@4FW3 zciv%RyL)ggVJWqZg5|9g`=6sm+<_3L*e{ClX0z^6-c19UOW}>bGG|TGL2$mfNAhNN|B##c=t1$MLgr#9O2GTVyQ7goY3`Wt{vYyqM zbm!oiCOM+sY~S7*OrOWqH~cLbt~`^i;)*YLSeh|!eTm7L7LRWvab&QA#AsO2W;Bp?sEZHRW`cU)ckUf0`qQIq3;v5 z=f(*DDGI9cw8ATln}+uG?zhjXgZnwTYov(gX*-h60|n2TuigJo?pj^Y6q1U|!S?~=*XbkqIGSKCyrRE=qZ>D@1&V}~JX;-t!)ix#V) zHItS?X}53Rc*J%+5*o~T33~e)J5~2K#V7iNGwzRldPS$feSB}t<70N8FZCygX@VBF zZLR!~0HM|V(!KY0NX3fm@I5YC_7P;yIBYU|9wQzJXOXgn;#CovRtuvR5pa^uw?R37 z64mHcr{Y@uut`blmC}eEHSczT4Ow5eKSxK%_+UH3ng|NB4ZIERB{uS4jV*_~sBjAI?LR~adLCL^h6IQBX=y@~9-GNMwpY!V_Z z6bVVPGSByQdVKzbuix(5<8fd2>$cDHE!}oN1+iOCOYGM zMha(k8jD2GQ&Cgp!FmgWjfAPjMB#`Si?F^GTifj}kt`KLD*edjt+6|3WAwNL6VGez zx1Dc4d8v5WCV`Tjtx1@qMfR<~&!sgKK40CKcteTHs(u{|R%$~)*iyDl1JiEYRO*=` z6&H&rGC`n{=*MAw2T?khujn%p2zWa5<-3c<6wz@)=u0wzKhZ4=Wpxh%U~!V_;NojN zCpCY!DQ>QD9$VeO8?$6~j;^V3_dtN}+#> zyF#0^Jw&#CH;%ooo7!>&%RFpO>hxdkN)UD}i&>FOXG<;UaqY$wx7P~2RCH>JSArY8<&;y1xB(@ROd!XrBUZHTDfxH{C=!4B)P?)e24c87eO#x!^|9_# z@WVH`i;Yhut@cV+|C=_5xpbGj;#W9)^6m^!29v_O{an~)8H(A*m+#WJa3fpvA*!Qs zBP|qFqy>uxZlA6FU0Ilz=C(5`ZC{fIzr)@=_eSD7f?;A_>47S5SXj}PRv5=HJ637^ zc(ndSPUGZ@mL7&lotay=x>XqGP7O^l6u38al&=_m9Q!(1U6%L|XyFw*zw`!AJjC$6 zqrc_B2&s_+5)Pr7q#iZ$1OQ|BYk1%h2AL@C?kM!%nAmxvly5edqr=!N_YzGXpqkhT zcd0US9rVe$JJ%*^p;eDV0nSUf(P{3-0}y0KM9GH8f}}IgT4&2uoat!A11_*K7gp;^1^c z^8ne-f+|%YH7Mveb5(x(k>{zOpzWObIsS zJ-)`63j37793>K9$`?-}umqKoKezl;O@ku6CuW z@JaqZCKyw_FZ{q#BfHAnBj7q-uj|4g&$yNS#jB=CZU1MuUIfy?%;uS0%C%?jUf$#a zf!4_2?JS2+b7b7rTnki-z);Ap0a7-1)($Ypr_~jY(vFq#a%F_`PdoY?LImW4&br z6}e7ZKy6+Ls$c1;JQwwa3)Ea7ARD>A8{Org?=z}HBz*s8FT)t@5C7o+LRrg#Mis0a zBV9LRkVu#b&ZfAuW<-|Jv6yO1sgfWqXgKYP;nB8wDiN?}-+rWcS_Sb+m$UvGW=nF& zP45D`WxI&vUm>-l>F&BUeDBcd-ShB&O?ptOMT07(SG7Pi+joW9idPUw@!zQn zm05R&9mgw>Itp0HqkbsXKk~Ki*0KOm=Uw}GhSYY1fv8yE^J-LQdHc)m^5*+p$GwDY zP8Ij^?}Q!xu`Qp@%hDpxP70mRXfQ;O_XPTog=|{`{*5;SKv`ukA<5+|gK#_qv%b!# z>9wPPAYMR?Sc-mB!m+Wz`Ch618fT_@$m=P^{|OFX;HMu9N#;|(lyi!AT4pz-gmJu@ zVBdbr>ZrxcMom}aM91)l`rY?kA*{7CvQH;K?crb9!8DUG&if2dR@o;9F(Fln=fECU6^sn3f>aPpY*(|30HNBuI^yxDd-dPj9Xn46 zRlT43b}4Uea{Sn3x-?JdR^`3h9BFTYyZ)2+AXl!2YB9dF+h&@zLyLtgdz=ph?A>=$ z+dU9w;Z(AM?4Lb6ieg{b~EO|O!I9CiE zv~y%C;9J1vB_ei%?kltOv*uHlAG$vEZ!}*!`LmExxH@ZhvjsJ6}+W;@M!*LO2Oq`fpHgmk_SY{>aO;q692L6VhiDq?DE@TzK{!jr_COy zxHH1*P~5~ev#&wy!IIY`U>pW5Z|z#@IzxZk9rvkzoBH8Zqv=c6IEpSXTZf;XolXMXO;4G7xDpne}>eQjC+cD;qlOfP|PLoR=xXZF>_KKjvmWw z-$Rr`OPY>+#rz7Q&%VD_lK5FgI`5*c_Ye>CLFJF~o4Vhv5CLJFZRT`lJM zeb*xPZAQgs)5;EAg{qR99%rph3+2WqIBRYLS$h2{Enam7CZ~^l5PR}E-_oZ3PFJen zwQ}N4^uPKp3c>(_?An0xg}T!sJ9P?DBxIVhC2u#8aMih>0iQj9VN1ktZ-ode-n}mN z@$Pn2(n%46A$LXM2z-{d=ced>&wfa;EUfN}I&19|U#y%NS^Suy@ije)izvL0a=M0nydS zpA3w^q^|r&XCPR`=0iOiRg_QH7*VK9EKAPc1wt(a!%1A*hnS&V`>bCRodpFjQCuqr zK(m2631hek+)1gGQ_E?0wK{Qm*)v<-Mf={5v)9()oDI54QLknW{ltfViu=7AY+slo zcYIu!XSwoG?&^<2AASU#t9CWj?3E6HoiNXMs0o1Zh8q=WZ+vOESJDJsqqy_BeJ!Vy zyS9ihowo(b35epJ+x{u4R}L9a{?>BgrfoSD1I^pGs|y^Jg#qtmCXC!FMe%2zT)Ch_ zHhV;yf2?wA{UuVsJ*T{`Dd@ecV8XY&Ik0EuZ^qpz*SC>Xl;}XG;~>Hz{>j0rgYy%g51do8wpL^?*4v+A|GSbE0~3jP zYT_o&ug*E1;w{^TpQ^w<&p2?=63oW4Mf-$EwdQ(nQ)OpraQM?s6futtB&-_E!i@r7 z&B&@fd^JLP^4%1yISbTi?HBSWCX@ZvOBv0Is39H43Y17r=guw-?vlNyAmu#NL=+_O zZ0(ZI!hMXWLLHy{cXf}f!8qy5b?I^H()Q@(=E9@U zj|%0~otvBol(KMTq_WW$VBFqR7g(fm1giY0|ZQJYX{3gWrC zK*Vb#v!pc@?W%l>XXcS85V76gxC^bhgvnzP*f=7)$i&G-s8=h;_|b&Ssk_^hbMD z*LF(GWVk)L`2I10zOq}TMUn*P@_nyE2NbX@0|YhqjMRgmVR0Yh!6A3fK!l5r>0AIG z^^^{gCq`}51z8nBu10U4AvR^iv*Lpym>q-6xgpH*pq&fWE)f}QspM+?R|@km?h1`9 zi`N})I2qxz939`>dF!C@(PIPa^LJFc8LQ{PwZw1LOl|Vq>1eMoA6S)EMh0@ISMr(? z2Tb2nm6PXrOCNZFk?fl}{Q@AzfDM0J<%=`Q6`WNcf%j64Ifcy&3Zh-&dkB3Hm&Pt= z@_AQ&j^b!yX-2M#-?>q&k$;-uv-Hq8_2Qkrq`|oGXT)SQA84+>TV4fIH`V0I>MO=x z@;3^y{$tFD2J$@V_-VI_fiO8^W(RY##n|Yfl+BgYVayky!oM~R1-1$ncY3==qRb+@ z2Y#~8#&-3vX}WB8H}Q80u^^1k3dk1lF+@VOAw;`~%V@2Mi8R=(y8PmaeMe zA^QF)%+SL(ujgx0z0GvFhfn9 z^7#FMC&B$9J^knCD`W-HA+N%{2y5qX-zy_(O`I|;OhTNY{ z($|GoK#QaX7AWUuf7qe(gnSYCzq%E}YZ__e%?pJO!Q2~|4uaD3)l1mvM#!@fJ;h1P zJb9ac8E6@^jAyq$_lZENEa@e*A>L-4gj7Z=6-Mc9IVs3Tjm6R6);qfUk~?2AhSa^9 zJst(7BCQ<;bn`)C@v}X)F!aZB_$2=aaQhf_WkqRQfQb5{=Io&j;b!K? zpwU?dE^J~vUmc0!@pK+T7hoijN6PB_gLP>b{^4d$U0BzA z%<=ZmrPC;ZLb4?|*MWKH!ExZ&cX|Rl-aI83+}S_1W%F|t@D}mfQ>-MYo5o-ShNNa1 zIX{d0{b|sVSc?7)O6F#uWX`BbC2k_My^sr-(EeDS4MihFtzl2i&T?c{fPz22-jJlr zZj(l306lnZsGQTSR{~W?vkq~8aG2HMmsQqfe9dXdN&gpE$=TNagWPz_Z+#QOlfsLN z*k}T;5s;uezMXys!kQZr(O^5PC=ez{b=Dg9q@Gl-&+_mgubpTj-RoNH&1)#6^CF}k z-vNKohoEXXcw8k^_u~G6{w0OH2lGmQN}6Qg!Y;W0jLWMpFkOfW#?u9%cC2uF2lPk<{^H`o@urg(OFUw^pG;n zSOSWtr#~$t%Z8QrCVMohz=Uz*EAdb%)xIez$c)lW5^IDiVWWDCO|xV4=7=F4`LffexIcC>aNtVZ)3I zknlbV6F^_m=aAyJ3d;)IgMc5Vseo!x>(Zjf zI3;>|D}HS=vyQj!yvCN|PXnLj+!uw8t7Yf>l73uX|J8A@QO!L$d9d<<4qC}u1sFbc z=zULSO{d0;rYX7Np&*L%u1v0YWRl7dOGZ9GwaNW@92+wjf>J8K{1eZ>C}@zMP945* z{$YXXAMa0}PKmU=a~`?__qoiIBZf;Y$c-SJq2tqw)&TAa_+_iR77{cj-I#`#rL$nH zr?tG2OO!(p2=c<&X@pqzP1HOe)(q0!Jt>H*elBUv)}hZzZV-hIP9tD*e{52~kwsnw9X4qW%0(p0o#-T)A$&oE=d$ zX7f&<68Sxui!1kh@{P0P&+7SmdgFI4toxnt)0N?{-t~tafXkHuDwJ*lMW|3BV;l{o zwz<$>;0DUxTa7;?BeDitAsn&&q{3LTF>g=L>xF{juG* zrbzPiQJW2-W4k?fpH=eWey)3u!FL{I+kKj@{S)3VaW#rxDRc_Vs;=1Pm3K;^lkR?B zSMCfeyaZWa5nT<|M?CW6ipl4U!Q$loFqKCqZ1E1Ddza{ zk!Rsu_5L>JtIdGrQiF%Z=mq~5G3P`76wd*VlzS55=To^sY9<7J5d~=(Ik9ctA9t-ll%hrMN~usUIcJ~rfG z2QST3QJn7EQ{@ER)4;4BEydVf{(34f0T^<_C0F!_5+#Cxhp}9tIb(Xgy6|1WlEP@E zPpmuJ{Bt^3APgdbji7VkEKtRYK!j+R`Q-IrT8`6L0XF*;xm5NR%tblPXvcU_#*ZRT z^^vM)TXp5zX55me_B{@=hXdoL8q)v9C-icfH_p1Cf{k_nvgLR1skuXko!XaVn-SdJ zZA;9r0j}hcn1lYs#)J;=OZ_tX->G6UiC+gIe_Rm(>z}8x05~cnZh?11fh`9*a+41i z^z^&EHj)Zo6dm=-#c|kQike@nA+LwWEYm?4E=F^(HkMx_AXa(pg4bEt;N3)tb4F=D zS7kV-3Ie}kD^CBg$zbC z)UYCS+!j{el$DlbB9@#c-%IL^QOt0Rjk<~gjB})zghENY9i{F+zUmBPF0Qz%9qDXXqRDU$ii*TsCNjbiOW0nrC<^c)FP3GU7E z=O2kajclgP2RDx|8l<8SXIikX(`hCBPO+ZS*ct&`Sde@!7Y-$bvn9;!;1n zWH0=h)c8bRx;tJ%+Twb|+9ld3+sw9^4Tz1AQbF0gY)G8jj!QiE5B!kE8E|4UYiCP= zHM>rMuS{^vd0F2M`w9*EXn0DU=$g0Fdw0UA*#pn~woB4O}&Ge7HioK&x z{ggE=X1EGp%J2rnkK0FWdLI>4%FN9;h)HW412%*_Zmx6Aq;Nsu_AU*Lix}rUNLU$? zFYEOQ;FcQ3;C5-1zc{!133lE?A zWy(o+U3&fbLPfgp6ASpUssBv;2%l^cU(B0T_#NW8pR?M^H04Nr^VJ`K5eHr>`0!|9 zm}SCm`ll`xcJ@VPC0&uiz1Vx~$Sfl3<6IOqt3=;T-2{7Yyr!!UI%s+f2s?>6eWw2WRbK1JY)^LFl8P@2$a@glupD#|u^B zi9YHXqs{y09KsmHL8dzYL|~#|sTs7-dAR*)GZV8d#9quMhC!~AHWnS3{o$SY!yRaX zrl|EQ!F6h{{7>GoNub#^rWDT*%=nI81E5!5qzC>r@sjP4+eV zUy0sqOZYg=YQsS33-a^BkMB-7Gl{*yG-%z=9KT@(K@>_g0+rr7mN+1nhAziCT?n&^ z{08-T10pZ-Na+R$lt4(p(HSd#eThnWs;FU7f>!a$W?O_bO74+Rj$t4}Cq=WFAq)&O zlE&LBPN^UO9uY4ofyMDaBQBe{bRh!8eZO-eeDAYbo?*OuNwrxXb?4Qd)St+$O}WJ_ zFt}>7SxrHWf@Jw1tMzZBR2`G{55-WRcjqte;gF6Hh{n~^I2nUQNa+tHGe@mpq7z22 zlG)X2)%%^9Ff1vWR$jbB#lXDTXc(m)f4xX8=XpfVl(Clkn)Z!Dys9&%>|1|Ax}0*= zc?ym7L$8Vdtjkl9Z8kU0f$Kx=OW(yoVRAV-MS|8a!!=g@ALNV%%Aj)_pdnTZy^_J| z>sosliH5~U%V?wtNr+%$h)9ni;=5jF=3FUEc8w4Na~Wyp&`>$Xoi$g6jmc=AA;vPWL4V}JHF+i;i?4YiEU)vdL>N0B-0D{E z{QVaZYbx}`*_NB9QJcK>If*;Ix%Sq1yGDy(1O`$kL{U;0lmXHv`s?SKKqMDHTQytZ zm0n1sCYK!Ok!YfY^rMYqO*)ac&r3Pt;7|wxZ5ND?srWH2ptD>`9@V-rhOeWYRcUWC~zxGmt;uOe}@16!-Od-L3^S?cZ zkZyvqN8#P6InhZvo|ph4u}Ek(CvAvs0W!xQ^@JpK+VEJ0(V5_E$5O*qGG!uW)c;UU zwM|~sbR!|@M#7>-RS+X*p`_Ci42FUuY*g$v(>QoWHhNf~Ev|AFs~pQX{KG}; z@)NU{JMRaT%s89qcI5bmQYx?Of@hw*SvxG9^Y-*`2w|jUU>Th94F$!M72M;T(nNN5 z@-r8Q%GGYuJ& zs8`47T)nz(K<-+=tW$(FzqE;1lEkw`Pq-OUVwof#IY_6PT^0TOrx?&8|H1jB?Y?c9 z+B}>&Ks%+TSQlJPFwf$2rSzh+o!Y8si%;gopvtc!PqAA4QfMdx>;KDUMPn#~VtBS;k~t~1nDB{yxP76S?p zvs4l{4Qgcr(a_QrfFs28vOqDE@SHB+~j%D@-)SZCW!JjKF&UPR8)kePCD~l zy|<;ht!=!6(j4ab$M@Sd$3uc%YHa?IKUUzA4yfi8QW3bVxB>ineo#lpvqyPW_ literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 5e18e04a0..c098401a3 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -1,16 +1,251 @@ const ArgumentType = require('../../extension-support/argument-type'); const BlockType = require('../../extension-support/block-type'); +const Clone = require('../../util/clone'); const Cast = require('../../util/cast'); +const formatMessage = require('format-message'); +const MathUtil = require('../../util/math-util'); +const Timer = require('../../util/timer'); const log = require('../../util/log'); -const mvae = require('@magenta/music/node/music_vae'); -const core = require('@magenta/music/node/core'); +//const mvae = require('@magenta/music/node/music_vae'); +//const core = require('@magenta/music/node/core'); + +/** + * The instrument and drum sounds, loaded as static assets. + * @type {object} + */ +let assetData = {}; + +try { + assetData = require('./manifest'); +} catch (e) { + // Non-webpack environment, don't worry about assets. +} class Scratch3MusicCreation { constructor (runtime) { this.runtime = runtime; + + /** + * An array of arrays of sound players. Each instrument has one or more audio players. + * @type {Array[]} + * @private + */ + this._instrumentPlayerArrays = []; + + /** + * An array of arrays of sound players. Each instrument mya have an audio player for each playable note. + * @type {Array[]} + * @private + */ + this._instrumentPlayerNoteArrays = []; + this._loadAllSounds(); + } + + + /** + * Decode the full set of drum and instrument sounds, and store the audio buffers in arrays. + */ + _loadAllSounds () { + const loadingPromises = []; + this.INSTRUMENT_INFO.forEach((instrumentInfo, instrumentIndex) => { + this._instrumentPlayerArrays[instrumentIndex] = []; + this._instrumentPlayerNoteArrays[instrumentIndex] = []; + instrumentInfo.samples.forEach((sample, noteIndex) => { + const filePath = `instruments/${instrumentInfo.dirName}/${sample}`; + const promise = this._storeSound(filePath, noteIndex, this._instrumentPlayerArrays[instrumentIndex]); + loadingPromises.push(promise); + }); + }); + Promise.all(loadingPromises).then(() => { + // @TODO: Update the extension status indicator. + }); + } + + /** + * Decode a sound and store the player in an array. + * @param {string} filePath - the audio file name. + * @param {number} index - the index at which to store the audio player. + * @param {array} playerArray - the array of players in which to store it. + * @return {Promise} - a promise which will resolve once the sound has been stored. + */ + _storeSound (filePath, index, playerArray) { + const fullPath = `${filePath}.mp3`; + + if (!assetData[fullPath]) return; + + // The sound player has already been downloaded via the manifest file required above. + const soundBuffer = assetData[fullPath]; + + return this._decodeSound(soundBuffer).then(player => { + playerArray[index] = player; + }); + } + + /** + * Decode a sound and return a promise with the audio buffer. + * @param {ArrayBuffer} soundBuffer - a buffer containing the encoded audio. + * @return {Promise} - a promise which will resolve once the sound has decoded. + */ + _decodeSound (soundBuffer) { + const engine = this.runtime.audioEngine; + + if (!engine) { + return Promise.reject(new Error('No Audio Context Detected')); + } + + // Check for newer promise-based API + return engine.decodeSoundPlayer({data: {buffer: soundBuffer}}); + } + + /** + * Create data for a menu in scratch-blocks format, consisting of an array of objects with text and + * value properties. The text is a translated string, and the value is one-indexed. + * @param {object[]} info - An array of info objects each having a name property. + * @return {array} - An array of objects with text and value properties. + * @private + */ + _buildMenu (info) { + return info.map((entry, index) => { + log.log(entry); + log.log(index); + const obj = {}; + obj.text = entry.name; + obj.value = String(index + 1); + return obj; + }); + } + + /** + * The key to load & store a target's music-related state. + * @type {string} + */ + static get STATE_KEY () { + return 'Scratch.music'; + } + + /** + * The default music-related state, to be used when a target has no existing music state. + * @type {MusicState} + */ + static get DEFAULT_MUSIC_STATE () { + return { + currentInstrument: 0, + currentVolume: 1 + }; + } + + /** + * The minimum and maximum MIDI note numbers, for clamping the input to play note. + * @type {{min: number, max: number}} + */ + static get MIDI_NOTE_RANGE () { + return {min: 0, max: 130}; } + /** + * The minimum and maximum beat values, for clamping the duration of play note, play drum and rest. + * 100 beats at the default tempo of 60bpm is 100 seconds. + * @type {{min: number, max: number}} + */ + static get BEAT_RANGE () { + return {min: 0, max: 100}; + } + + /** The minimum and maximum tempo values, in bpm. + * @type {{min: number, max: number}} + */ + static get TEMPO_RANGE () { + return {min: 20, max: 500}; + } + + /** + * The maximum number of sounds to allow to play simultaneously. + * @type {number} + */ + static get CONCURRENCY_LIMIT () { + return 30; + } + + /** + * @param {Target} target - collect music state for this target. + * @returns {MusicState} the mutable music state associated with that target. This will be created if necessary. + * @private + */ + _getMusicState (target) { + let musicState = target.getCustomState(Scratch3MusicCreation.STATE_KEY); + if (!musicState) { + musicState = Clone.simple(Scratch3MusicCreation.DEFAULT_MUSIC_STATE); + target.setCustomState(Scratch3MusicCreation.STATE_KEY, musicState); + } + return musicState; + } + + + /** + * An array of info about each instrument. + * @type {object[]} + * @param {string} name - the translatable name to display in the instruments menu. + * @param {string} dirName - the name of the directory containing audio samples for this instrument. + * @param {number} [releaseTime] - an optional duration for the release portion of each note. + * @param {number[]} samples - an array of numbers representing the MIDI note number for each + * sampled sound used to play this instrument. + */ + get INSTRUMENT_INFO () { + return [ + { + name: formatMessage({ + id: 'musiccreation.instrumentPiano', + default: 'Piano', + description: 'Sound of a piano' + }), + dirName: '1-piano', + releaseTime: 0.5, + samples: [24, 36, 48, 60, 72, 84, 96, 108] + }, + { + name: formatMessage({ + id: 'musiccreation.instrumentGuitar', + default: 'Guitar', + description: 'Sound of an accoustic guitar' + }), + dirName: '4-guitar', + releaseTime: 0.5, + samples: [60] + }, + { + name: formatMessage({ + id: 'musiccreation.instrumentCello', + default: 'Cello', + description: 'Sound of a cello being played with a bow' + }), + dirName: '8-cello', + releaseTime: 0.1, + samples: [36, 48, 60] + }, + { + name: formatMessage({ + id: 'musiccreation.instrumentSaxophone', + default: 'Saxophone', + description: 'Sound of a saxophone being played' + }), + dirName: '11-saxophone', + samples: [36, 60, 84] + }, + { + name: formatMessage({ + id: 'musiccreation.instrumentSynthLead', + default: 'Synth', + description: 'Sound of a "lead" synthesizer being played' + }), + dirName: '20-synth-lead', + releaseTime: 0.1, + samples: [60] + } + ]; + } + + getInfo () { return { id: 'musiccreation', @@ -22,21 +257,9 @@ class Scratch3MusicCreation { text: 'set instrument to [INSTRUMENT]', arguments: { INSTRUMENT: { - type: ArgumentType.STRING, - defaultValue: "synth", - menu: "instruments" - } - } - }, - { - opcode: 'setPitch', - blockType: BlockType.COMMAND, - text: 'set pitch to [PITCH]', - arguments: { - PITCH: { - type: ArgumentType.STRING, - defaultValue: "C3", - menu: "pitches" + type: ArgumentType.NUMBER, + defaultValue: 1, + menu: "INSTRUMENT" } } }, @@ -52,36 +275,17 @@ class Scratch3MusicCreation { } }, { - opcode: 'addNote', + opcode: 'playNote', blockType: BlockType.COMMAND, - text: 'add note', + text: 'play note with frequency [NOTE] for [SECS] seconds', arguments: { - } - }, - { - opcode: 'addNoteFreqDur', - blockType: BlockType.COMMAND, - text: 'add note with frequency [PITCH] for [DURATION] second(s)', - arguments: { - PITCH: { - type: ArgumentType.STRING, - defaultValue: "C3", - menu: "pitches" - }, - DURATION: { + NOTE: { type: ArgumentType.NUMBER, - defaultValue: 1 - } - } - }, - { - opcode: 'setDuration', - blockType: BlockType.COMMAND, - text: 'set duration to [DURATION] second(s)', - arguments: { - DURATION: { + defaultValue: 60 + }, + SECS: { type: ArgumentType.NUMBER, - defaultValue: 1 + defaultValue: 0.25 } } }, @@ -118,19 +322,66 @@ class Scratch3MusicCreation { {text: "B4", value: "B4"}, {text: "C4", value: "C4"}, {text: "D4", value: "D4"}] + }, + INSTRUMENT: { + acceptReporters: true, + items: this._buildMenu(this.INSTRUMENT_INFO) } } }; } - setInstrument (args) { - const text = Cast.toString(args.INSTRUMENT); - log.log(text); + /** + * Select an instrument for playing notes. + * @param {object} args - the block arguments. + * @param {object} util - utility object provided by the runtime. + * @property {int} INSTRUMENT - the number of the instrument to select. + */ + setInstrument (args, util) { + this._setInstrument(args.INSTRUMENT, util, false); } - setPitch (args) { - const text = Cast.toString(args.PITCH); - log.log(text); + /** + * Select an instrument for playing notes. + * @param {object} args - the block arguments. + * @param {object} util - utility object provided by the runtime. + * @property {int} INSTRUMENT - the number of the instrument to select. + */ + setVolume (args, util) { + this._setVolume(args.VOLUME, util); + } + + /** + * Internal code to select an instrument for playing notes. If mapMidi is true, set the instrument according to + * the MIDI to Scratch instrument mapping. + * @param {number} instNum - the instrument number. + * @param {object} util - utility object provided by the runtime. + * @param {boolean} mapMidi - whether or not instNum is a MIDI instrument number. + */ + _setVolume (volume, util) { + const musicState = this._getMusicState(util.target); + instVol = Cast.toNumber(volume); + instVol = clampV + musicState.currentVolume = instNum; + } + + /** + * Internal code to select an instrument for playing notes. If mapMidi is true, set the instrument according to + * the MIDI to Scratch instrument mapping. + * @param {number} instNum - the instrument number. + * @param {object} util - utility object provided by the runtime. + * @param {boolean} mapMidi - whether or not instNum is a MIDI instrument number. + */ + _setInstrument (instNum, util, mapMidi) { + const musicState = this._getMusicState(util.target); + instNum = Cast.toNumber(instNum); + instNum = Math.round(instNum); + instNum -= 1; // instruments are one-indexed + if (mapMidi) { + instNum = (this.MIDI_INSTRUMENTS[instNum] || 0) - 1; + } + instNum = MathUtil.wrapClamp(instNum, 0, this.INSTRUMENT_INFO.length - 1); + musicState.currentInstrument = instNum; } setVolume (args) { @@ -138,17 +389,141 @@ class Scratch3MusicCreation { log.log(text); } - setDuration (args) { - const text = Cast.toString(args.DURATION); - log.log(text); + playNote (args, util) { + if (this._stackTimerNeedsInit(util)) { + let note = Cast.toNumber(args.NOTE); + note = MathUtil.clamp(note, + Scratch3MusicCreation.MIDI_NOTE_RANGE.min, Scratch3MusicCreation.MIDI_NOTE_RANGE.max); + let beats = Cast.toNumber(args.SECS); + beats = this._clampBeats(beats); + // If the duration is 0, do not play the note. In Scratch 2.0, "play drum for 0 beats" plays the drum, + // but "play note for 0 beats" is silent. + if (beats === 0) return; + + const durationSec = beats; + + this._playNote(util, note, durationSec); + + this._startStackTimer(util, durationSec); + } else { + this._checkStackTimer(util); + } } - addNote (args) { - const text = "text"; - log.log(text); + + /** + * Play a note using the current instrument for a duration in seconds. + * This function actually plays the sound, and handles the timing of the sound, including the + * "release" portion of the sound, which continues briefly after the block execution has finished. + * @param {object} util - utility object provided by the runtime. + * @param {number} note - the pitch of the note to play, interpreted as a MIDI note number. + * @param {number} durationSec - the duration in seconds to play the note. + * @private + */ + _playNote (util, note, durationSec) { + if (util.runtime.audioEngine === null) return; + if (util.target.sprite.soundBank === null) return; + + // If we're playing too many sounds, do not play the note. + if (this._concurrencyCounter > Scratch3MusicCreation.CONCURRENCY_LIMIT) { + return; + } + + // Determine which of the audio samples for this instrument to play + const musicState = this._getMusicState(util.target); + const inst = musicState.currentInstrument; + const instrumentInfo = this.INSTRUMENT_INFO[inst]; + const sampleArray = instrumentInfo.samples; + const sampleIndex = this._selectSampleIndexForNote(note, sampleArray); + + // If the audio sample has not loaded yet, bail out + if (typeof this._instrumentPlayerArrays[inst] === 'undefined') return; + if (typeof this._instrumentPlayerArrays[inst][sampleIndex] === 'undefined') return; + + // Fetch the sound player to play the note. + const engine = util.runtime.audioEngine; + + if (!this._instrumentPlayerNoteArrays[inst][note]) { + this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); + } + + const player = this._instrumentPlayerNoteArrays[inst][note]; + + if (player.isPlaying && !player.isStarting) { + // Take the internal player state and create a new player with it. + // `.play` does this internally but then instructs the sound to + // stop. + player.take(); + } + + // Set its pitch. + const sampleNote = sampleArray[sampleIndex]; + const notePitchInterval = this._ratioForPitchInterval(note - sampleNote); + + // Create gain nodes for this note's volume and release, and chain them + // to the output. + const context = engine.audioContext; + const volumeGain = context.createGain(); + volumeGain.gain.setValueAtTime(util.target.volume / 100, engine.currentTime); + const releaseGain = context.createGain(); + volumeGain.connect(releaseGain); + releaseGain.connect(engine.getInputNode()); + + // Schedule the release of the note, ramping its gain down to zero, + // and then stopping the sound. + let releaseDuration = this.INSTRUMENT_INFO[inst].releaseTime; + if (typeof releaseDuration === 'undefined') { + releaseDuration = 0.01; + } + const releaseStart = context.currentTime + durationSec; + const releaseEnd = releaseStart + releaseDuration; + releaseGain.gain.setValueAtTime(1, releaseStart); + releaseGain.gain.linearRampToValueAtTime(0.0001, releaseEnd); + + this._concurrencyCounter++; + player.once('stop', () => { + this._concurrencyCounter--; + }); + + // Start playing the note + player.play(); + // Connect the player to the gain node. + player.connect({getInputNode () { + return volumeGain; + }}); + // Set playback now after play creates the outputNode. + player.outputNode.playbackRate.value = notePitchInterval; + // Schedule playback to stop. + player.outputNode.stop(releaseEnd); } - addNoteFreqDur (args) { - const text = "text"; - log.log(text); + + /** + * The samples array for each instrument is the set of pitches of the available audio samples. + * This function selects the best one to use to play a given input note, and returns its index + * in the samples array. + * @param {number} note - the input note to select a sample for. + * @param {number[]} samples - an array of the pitches of the available samples. + * @return {index} the index of the selected sample in the samples array. + * @private + */ + _selectSampleIndexForNote (note, samples) { + // Step backwards through the array of samples, i.e. in descending pitch, in order to find + // the sample that is the closest one below (or matching) the pitch of the input note. + for (let i = samples.length - 1; i >= 0; i--) { + if (note >= samples[i]) { + return i; + } + } + return 0; + } + + /** + * Calcuate the frequency ratio for a given musical interval. + * @param {number} interval - the pitch interval to convert. + * @return {number} a ratio corresponding to the input interval. + * @private + */ + _ratioForPitchInterval (interval) { + return Math.pow(2, (interval / 12)); } saveFile (args) { @@ -156,6 +531,61 @@ class Scratch3MusicCreation { log.log(text); } + /** + * Start the stack timer and the yield the thread if necessary. + * @param {object} util - utility object provided by the runtime. + * @param {number} duration - a duration in seconds to set the timer for. + * @private + */ + _startStackTimer (util, duration) { + util.stackFrame.timer = new Timer(); + util.stackFrame.timer.start(); + util.stackFrame.duration = duration; + util.yield(); + } + + /** + * Check if the stack timer needs initialization. + * @param {object} util - utility object provided by the runtime. + * @return {boolean} - true if the stack timer needs to be initialized. + * @private + */ + _stackTimerNeedsInit (util) { + return !util.stackFrame.timer; + } + + /** + * Check the stack timer, and if its time is not up yet, yield the thread. + * @param {object} util - utility object provided by the runtime. + * @private + */ + _checkStackTimer (util) { + const timeElapsed = util.stackFrame.timer.timeElapsed(); + if (timeElapsed < util.stackFrame.duration * 1000) { + util.yield(); + } + } + + /** + * Clamp a duration in beats to the allowed min and max duration. + * @param {number} beats - a duration in beats. + * @return {number} - the clamped duration. + * @private + */ + _clampBeats (beats) { + return MathUtil.clamp(beats, Scratch3MusicCreation.BEAT_RANGE.min, Scratch3MusicCreation.BEAT_RANGE.max); + } + + /** + * Clamp a duration in beats to the allowed min and max duration. + * @param {number} beats - a duration in beats. + * @return {number} - the clamped duration. + * @private + */ + _clampVolume (volume) { + return MathUtil.clamp(volume, Scratch3MusicCreation.BEAT_RANGE.min, Scratch3MusicCreation.BEAT_RANGE.max); + } + } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/manifest.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/manifest.js new file mode 100644 index 000000000..2a1aceb4b --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/manifest.js @@ -0,0 +1,47 @@ +module.exports = { + 'instruments/1-piano/24.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/24.mp3'), + 'instruments/1-piano/36.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/36.mp3'), + 'instruments/1-piano/48.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/48.mp3'), + 'instruments/1-piano/60.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/60.mp3'), + 'instruments/1-piano/72.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/72.mp3'), + 'instruments/1-piano/84.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/84.mp3'), + 'instruments/1-piano/96.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/96.mp3'), + 'instruments/1-piano/108.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/108.mp3'), + 'instruments/2-electric-piano/60.mp3': require('!arraybuffer-loader!./assets/instruments/2-electric-piano/60.mp3'), + 'instruments/3-organ/60.mp3': require('!arraybuffer-loader!./assets/instruments/3-organ/60.mp3'), + 'instruments/4-guitar/60.mp3': require('!arraybuffer-loader!./assets/instruments/4-guitar/60.mp3'), + 'instruments/5-electric-guitar/60.mp3': require( + '!arraybuffer-loader!./assets/instruments/5-electric-guitar/60.mp3' + ), + 'instruments/6-bass/36.mp3': require('!arraybuffer-loader!./assets/instruments/6-bass/36.mp3'), + 'instruments/6-bass/48.mp3': require('!arraybuffer-loader!./assets/instruments/6-bass/48.mp3'), + 'instruments/7-pizzicato/60.mp3': require('!arraybuffer-loader!./assets/instruments/7-pizzicato/60.mp3'), + 'instruments/8-cello/36.mp3': require('!arraybuffer-loader!./assets/instruments/8-cello/36.mp3'), + 'instruments/8-cello/48.mp3': require('!arraybuffer-loader!./assets/instruments/8-cello/48.mp3'), + 'instruments/8-cello/60.mp3': require('!arraybuffer-loader!./assets/instruments/8-cello/60.mp3'), + 'instruments/9-trombone/36.mp3': require('!arraybuffer-loader!./assets/instruments/9-trombone/36.mp3'), + 'instruments/9-trombone/48.mp3': require('!arraybuffer-loader!./assets/instruments/9-trombone/48.mp3'), + 'instruments/9-trombone/60.mp3': require('!arraybuffer-loader!./assets/instruments/9-trombone/60.mp3'), + 'instruments/10-clarinet/48.mp3': require('!arraybuffer-loader!./assets/instruments/10-clarinet/48.mp3'), + 'instruments/10-clarinet/60.mp3': require('!arraybuffer-loader!./assets/instruments/10-clarinet/60.mp3'), + 'instruments/11-saxophone/36.mp3': require('!arraybuffer-loader!./assets/instruments/11-saxophone/36.mp3'), + 'instruments/11-saxophone/60.mp3': require('!arraybuffer-loader!./assets/instruments/11-saxophone/60.mp3'), + 'instruments/11-saxophone/84.mp3': require('!arraybuffer-loader!./assets/instruments/11-saxophone/84.mp3'), + 'instruments/12-flute/60.mp3': require('!arraybuffer-loader!./assets/instruments/12-flute/60.mp3'), + 'instruments/12-flute/72.mp3': require('!arraybuffer-loader!./assets/instruments/12-flute/72.mp3'), + 'instruments/13-wooden-flute/60.mp3': require('!arraybuffer-loader!./assets/instruments/13-wooden-flute/60.mp3'), + 'instruments/13-wooden-flute/72.mp3': require('!arraybuffer-loader!./assets/instruments/13-wooden-flute/72.mp3'), + 'instruments/14-bassoon/36.mp3': require('!arraybuffer-loader!./assets/instruments/14-bassoon/36.mp3'), + 'instruments/14-bassoon/48.mp3': require('!arraybuffer-loader!./assets/instruments/14-bassoon/48.mp3'), + 'instruments/14-bassoon/60.mp3': require('!arraybuffer-loader!./assets/instruments/14-bassoon/60.mp3'), + 'instruments/15-choir/48.mp3': require('!arraybuffer-loader!./assets/instruments/15-choir/48.mp3'), + 'instruments/15-choir/60.mp3': require('!arraybuffer-loader!./assets/instruments/15-choir/60.mp3'), + 'instruments/15-choir/72.mp3': require('!arraybuffer-loader!./assets/instruments/15-choir/72.mp3'), + 'instruments/16-vibraphone/60.mp3': require('!arraybuffer-loader!./assets/instruments/16-vibraphone/60.mp3'), + 'instruments/16-vibraphone/72.mp3': require('!arraybuffer-loader!./assets/instruments/16-vibraphone/72.mp3'), + 'instruments/17-music-box/60.mp3': require('!arraybuffer-loader!./assets/instruments/17-music-box/60.mp3'), + 'instruments/18-steel-drum/60.mp3': require('!arraybuffer-loader!./assets/instruments/18-steel-drum/60.mp3'), + 'instruments/19-marimba/60.mp3': require('!arraybuffer-loader!./assets/instruments/19-marimba/60.mp3'), + 'instruments/20-synth-lead/60.mp3': require('!arraybuffer-loader!./assets/instruments/20-synth-lead/60.mp3'), + 'instruments/21-synth-pad/60.mp3': require('!arraybuffer-loader!./assets/instruments/21-synth-pad/60.mp3') +}; From 543d9e9a40c53275a8bd657e4a1d7a7d456b3d92 Mon Sep 17 00:00:00 2001 From: nada Date: Sat, 5 Dec 2020 23:22:33 -0500 Subject: [PATCH 003/149] Music Creation piano visual added --- .../extensions/scratch3_musiccreation/index.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index c098401a3..bbbb3f683 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -40,6 +40,9 @@ class Scratch3MusicCreation { */ this._instrumentPlayerNoteArrays = []; this._loadAllSounds(); + + this._playNoteForPicker = this._playNoteForPicker.bind(this); + this.runtime.on('PLAY_NOTE', this._playNoteForPicker); } @@ -107,8 +110,6 @@ class Scratch3MusicCreation { */ _buildMenu (info) { return info.map((entry, index) => { - log.log(entry); - log.log(index); const obj = {}; obj.text = entry.name; obj.value = String(index + 1); @@ -280,7 +281,7 @@ class Scratch3MusicCreation { text: 'play note with frequency [NOTE] for [SECS] seconds', arguments: { NOTE: { - type: ArgumentType.NUMBER, + type: ArgumentType.NOTE, defaultValue: 60 }, SECS: { @@ -351,6 +352,15 @@ class Scratch3MusicCreation { this._setVolume(args.VOLUME, util); } + _playNoteForPicker (noteNum, category) { + if (category !== this.getInfo().name) return; + const util = { + runtime: this.runtime, + target: this.runtime.getEditingTarget() + }; + this._playNote(util, noteNum, 0.25); + } + /** * Internal code to select an instrument for playing notes. If mapMidi is true, set the instrument according to * the MIDI to Scratch instrument mapping. From c1e0c547188b11522f15375ca660a520b345c9e0 Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 6 Dec 2020 01:35:30 -0500 Subject: [PATCH 004/149] volume changes work --- .../scratch3_musiccreation/index.js | 150 ++++++++++++------ 1 file changed, 98 insertions(+), 52 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index bbbb3f683..a9e68f31e 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -41,10 +41,29 @@ class Scratch3MusicCreation { this._instrumentPlayerNoteArrays = []; this._loadAllSounds(); + this._onTargetCreated = this._onTargetCreated.bind(this); + this.runtime.on('targetWasCreated', this._onTargetCreated); + this._playNoteForPicker = this._playNoteForPicker.bind(this); this.runtime.on('PLAY_NOTE', this._playNoteForPicker); } + /** + * When a music-playing Target is cloned, clone the music state. + * @param {Target} newTarget - the newly created target. + * @param {Target} [sourceTarget] - the target used as a source for the new clone, if any. + * @listens Runtime#event:targetWasCreated + * @private + */ + _onTargetCreated (newTarget, sourceTarget) { + if (sourceTarget) { + const musicState = sourceTarget.getCustomState(Scratch3MusicCreation.STATE_KEY); + if (musicState) { + newTarget.setCustomState(Scratch3MusicCreation.STATE_KEY, Clone.simple(musicState)); + } + } + } + /** * Decode the full set of drum and instrument sounds, and store the audio buffers in arrays. @@ -131,8 +150,7 @@ class Scratch3MusicCreation { */ static get DEFAULT_MUSIC_STATE () { return { - currentInstrument: 0, - currentVolume: 1 + currentInstrument: 0 }; } @@ -267,11 +285,12 @@ class Scratch3MusicCreation { { opcode: 'setVolume', blockType: BlockType.COMMAND, - text: 'set volume to [VOLUME] dB', + text: 'set volume to [VOLUME]', arguments: { VOLUME: { type: ArgumentType.NUMBER, - defaultValue: 60 + defaultValue: 60, + menu: "volumes" } } }, @@ -300,29 +319,27 @@ class Scratch3MusicCreation { defaultValue: "myMusic" } } + }, + { + opcode: 'getVolume', + text: formatMessage({ + id: 'musiccreation.getVolume', + default: 'volume', + description: 'get the current volume' + }), + blockType: BlockType.REPORTER } ], menus: { - instruments: { + volumes: { acceptReporters: true, items: [ - {text: "violin", value: "violin"}, - {text: "flute", value: "flute"}, - {text: "saxophone", value: "saxophone"}, - {text: "clarinet", value: "clarinet"}, - {text: "trumpet", value: "trumpet"}] - }, - pitches: { - acceptReporters: true, - items: [ - {text: "D3", value: "D3"}, - {text: "E3", value: "E3"}, - {text: "F3", value: "F3"}, - {text: "G3", value: "G3"}, - {text: "A4", value: "A4"}, - {text: "B4", value: "B4"}, - {text: "C4", value: "C4"}, - {text: "D4", value: "D4"}] + {text: "pianissimo", value: 15}, + {text: "piano", value: 30}, + {text: "mezzo-piano", value: 45}, + {text: "mezzo-forte", value: 60}, + {text: "forte", value: 85}, + {text: "fortissimo", value: 100}] }, INSTRUMENT: { acceptReporters: true, @@ -343,13 +360,26 @@ class Scratch3MusicCreation { } /** - * Select an instrument for playing notes. + * Set the current tempo to a new value. * @param {object} args - the block arguments. - * @param {object} util - utility object provided by the runtime. - * @property {int} INSTRUMENT - the number of the instrument to select. + * @property {number} TEMPO - the tempo, in beats per minute. */ - setVolume (args, util) { - this._setVolume(args.VOLUME, util); + setTempo (args) { + const volume = Cast.toNumber(args.VOLUME); + this._updateVolume(volume); + } + +/** + * Update the current tempo, clamping it to the min and max allowable range. + * @param {number} tempo - the tempo to set, in beats per minute. + * @private + */ + _updateVolume (volume) { + volume = MathUtil.clamp(volume, 0, 100); + const stage = this.runtime.getTargetForStage(); + if (stage) { + stage.tempo = tempo; + } } _playNoteForPicker (noteNum, category) { @@ -361,18 +391,48 @@ class Scratch3MusicCreation { this._playNote(util, noteNum, 0.25); } + _syncEffectsForTarget (target) { + if (!target || !target.sprite.soundBank) return; + target.soundEffects = this._getSoundState(target).effects; + + target.sprite.soundBank.setEffects(target); + } + /** - * Internal code to select an instrument for playing notes. If mapMidi is true, set the instrument according to - * the MIDI to Scratch instrument mapping. - * @param {number} instNum - the instrument number. - * @param {object} util - utility object provided by the runtime. - * @param {boolean} mapMidi - whether or not instNum is a MIDI instrument number. + * Set the current tempo to a new value. + * @param {object} args - the block arguments. + * @property {number} TEMPO - the tempo, in beats per minute. */ - _setVolume (volume, util) { - const musicState = this._getMusicState(util.target); - instVol = Cast.toNumber(volume); - instVol = clampV - musicState.currentVolume = instNum; + setVolume (args, util) { + const volume = Cast.toNumber(args.VOLUME); + this._updateTempo(volume, util); + } + + + /** + * Update the current tempo, clamping it to the min and max allowable range. + * @param {number} tempo - the tempo to set, in beats per minute. + * @private + */ + _updateTempo (volume, util) { + volume = MathUtil.clamp(volume, 0, 100); + util.target.volume = volume; + const stage = this.runtime.getTargetForStage(); + if (stage) { + stage.volume = volume; + } + } + + /** + * Get the current tempo. + * @return {number} - the current tempo, in beats per minute. + */ + getVolume () { + const stage = this.runtime.getTargetForStage(); + if (stage) { + return stage.volume; + } + return 60; } /** @@ -394,11 +454,6 @@ class Scratch3MusicCreation { musicState.currentInstrument = instNum; } - setVolume (args) { - const text = Cast.toString(args.VOLUME); - log.log(text); - } - playNote (args, util) { if (this._stackTimerNeedsInit(util)) { let note = Cast.toNumber(args.NOTE); @@ -473,6 +528,7 @@ class Scratch3MusicCreation { // to the output. const context = engine.audioContext; const volumeGain = context.createGain(); + log.log(util.target.volume); volumeGain.gain.setValueAtTime(util.target.volume / 100, engine.currentTime); const releaseGain = context.createGain(); volumeGain.connect(releaseGain); @@ -586,16 +642,6 @@ class Scratch3MusicCreation { return MathUtil.clamp(beats, Scratch3MusicCreation.BEAT_RANGE.min, Scratch3MusicCreation.BEAT_RANGE.max); } - /** - * Clamp a duration in beats to the allowed min and max duration. - * @param {number} beats - a duration in beats. - * @return {number} - the clamped duration. - * @private - */ - _clampVolume (volume) { - return MathUtil.clamp(volume, Scratch3MusicCreation.BEAT_RANGE.min, Scratch3MusicCreation.BEAT_RANGE.max); - } - } From ffee739703215e8152abe3eae665faf2cf79b186 Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 6 Dec 2020 16:39:42 -0500 Subject: [PATCH 005/149] Added volume and instrument reporters --- .../scratch3_musiccreation/index.js | 140 +++++++++++------- 1 file changed, 89 insertions(+), 51 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index a9e68f31e..6fad1a3ae 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -22,6 +22,8 @@ try { } + + class Scratch3MusicCreation { constructor (runtime) { this.runtime = runtime; @@ -46,6 +48,17 @@ class Scratch3MusicCreation { this._playNoteForPicker = this._playNoteForPicker.bind(this); this.runtime.on('PLAY_NOTE', this._playNoteForPicker); + + instrumentNames = this._buildMenu(this.INSTRUMENT_INFO); + + volumes = [{text: "pianissimo", value: 15}, + {text: "piano", value: 30}, + {text: "mezzo-piano", value: 45}, + {text: "mezzo-forte", value: 60}, + {text: "forte", value: 85}, + {text: "fortissimo", value: 100}]; + log.log(volumes); + } /** @@ -141,7 +154,7 @@ class Scratch3MusicCreation { * @type {string} */ static get STATE_KEY () { - return 'Scratch.music'; + return 'Scratch.musiccreation'; } /** @@ -171,13 +184,6 @@ class Scratch3MusicCreation { return {min: 0, max: 100}; } - /** The minimum and maximum tempo values, in bpm. - * @type {{min: number, max: number}} - */ - static get TEMPO_RANGE () { - return {min: 20, max: 500}; - } - /** * The maximum number of sounds to allow to play simultaneously. * @type {number} @@ -231,6 +237,15 @@ class Scratch3MusicCreation { dirName: '4-guitar', releaseTime: 0.5, samples: [60] + }, { + name: formatMessage({ + id: 'music.instrumentBass', + default: 'Bass', + description: 'Sound of an accoustic upright bass' + }), + dirName: '6-bass', + releaseTime: 0.25, + samples: [36, 48] }, { name: formatMessage({ @@ -251,6 +266,15 @@ class Scratch3MusicCreation { dirName: '11-saxophone', samples: [36, 60, 84] }, + { + name: formatMessage({ + id: 'music.instrumentClarinet', + default: 'Clarinet', + description: 'Sound of a clarinet being played' + }), + dirName: '10-clarinet', + samples: [48, 60] + }, { name: formatMessage({ id: 'musiccreation.instrumentSynthLead', @@ -328,6 +352,15 @@ class Scratch3MusicCreation { description: 'get the current volume' }), blockType: BlockType.REPORTER + }, + { + opcode: 'getInstrument', + text: formatMessage({ + id: 'musiccreation.getInstrument', + default: 'instrument', + description: 'get the current instrument' + }), + blockType: BlockType.REPORTER } ], menus: { @@ -349,6 +382,15 @@ class Scratch3MusicCreation { }; } + findInstrumentForNumber (number) { + for (var m in instrumentNames) { + if (instrumentNames[m].value == number) { + return instrumentNames[m].text; + } + } + return "Piano"; + } + /** * Select an instrument for playing notes. * @param {object} args - the block arguments. @@ -359,27 +401,35 @@ class Scratch3MusicCreation { this._setInstrument(args.INSTRUMENT, util, false); } - /** - * Set the current tempo to a new value. - * @param {object} args - the block arguments. - * @property {number} TEMPO - the tempo, in beats per minute. - */ - setTempo (args) { - const volume = Cast.toNumber(args.VOLUME); - this._updateVolume(volume); + getInstrument (util) { + const stage = this.runtime.getTargetForStage(); + if (stage) { + if (!stage.instrument) { + stage.instrument = "Piano"; + } + return stage.instrument; + } + return 0; } -/** - * Update the current tempo, clamping it to the min and max allowable range. - * @param {number} tempo - the tempo to set, in beats per minute. - * @private + /** + * Internal code to select an instrument for playing notes. If mapMidi is true, set the instrument according to + * the MIDI to Scratch instrument mapping. + * @param {number} instNum - the instrument number. + * @param {object} util - utility object provided by the runtime. + * @param {boolean} mapMidi - whether or not instNum is a MIDI instrument number. */ - _updateVolume (volume) { - volume = MathUtil.clamp(volume, 0, 100); + _setInstrument (instNum, util, mapMidi) { + const musicState = this._getMusicState(util.target); + instNum = Cast.toNumber(instNum); + instNum = Math.round(instNum); const stage = this.runtime.getTargetForStage(); if (stage) { - stage.tempo = tempo; + stage.instrument = this.findInstrumentForNumber(instNum); } + instNum -= 1; // instruments are one-indexed + instNum = MathUtil.wrapClamp(instNum, 0, this.INSTRUMENT_INFO.length - 1); + musicState.currentInstrument = instNum; } _playNoteForPicker (noteNum, category) { @@ -398,6 +448,15 @@ class Scratch3MusicCreation { target.sprite.soundBank.setEffects(target); } + findVolumeForNumber (number) { + for (var m in volumes) { + if (volumes[m].value == number) { + return volumes[m].text; + } + } + return "mezzo-forte"; + } + /** * Set the current tempo to a new value. * @param {object} args - the block arguments. @@ -405,7 +464,7 @@ class Scratch3MusicCreation { */ setVolume (args, util) { const volume = Cast.toNumber(args.VOLUME); - this._updateTempo(volume, util); + this._updateVolume(volume, util); } @@ -414,44 +473,24 @@ class Scratch3MusicCreation { * @param {number} tempo - the tempo to set, in beats per minute. * @private */ - _updateTempo (volume, util) { + _updateVolume (volume, util) { volume = MathUtil.clamp(volume, 0, 100); util.target.volume = volume; const stage = this.runtime.getTargetForStage(); if (stage) { - stage.volume = volume; + stage.volume = this.findVolumeForNumber(volume); } } - /** - * Get the current tempo. - * @return {number} - the current tempo, in beats per minute. - */ getVolume () { const stage = this.runtime.getTargetForStage(); if (stage) { + if (stage.volume == 100) { + stage.volume = "fortissimo"; + } return stage.volume; } - return 60; - } - - /** - * Internal code to select an instrument for playing notes. If mapMidi is true, set the instrument according to - * the MIDI to Scratch instrument mapping. - * @param {number} instNum - the instrument number. - * @param {object} util - utility object provided by the runtime. - * @param {boolean} mapMidi - whether or not instNum is a MIDI instrument number. - */ - _setInstrument (instNum, util, mapMidi) { - const musicState = this._getMusicState(util.target); - instNum = Cast.toNumber(instNum); - instNum = Math.round(instNum); - instNum -= 1; // instruments are one-indexed - if (mapMidi) { - instNum = (this.MIDI_INSTRUMENTS[instNum] || 0) - 1; - } - instNum = MathUtil.wrapClamp(instNum, 0, this.INSTRUMENT_INFO.length - 1); - musicState.currentInstrument = instNum; + return "mezzo-forte"; } playNote (args, util) { @@ -528,7 +567,6 @@ class Scratch3MusicCreation { // to the output. const context = engine.audioContext; const volumeGain = context.createGain(); - log.log(util.target.volume); volumeGain.gain.setValueAtTime(util.target.volume / 100, engine.currentTime); const releaseGain = context.createGain(); volumeGain.connect(releaseGain); From c84141157ce74d1067be734cb52d4c5aefb916f7 Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 17 Jan 2021 13:38:47 -0500 Subject: [PATCH 006/149] magenta works --- .../scratch3_musiccreation/index.js | 97 ++++++++++++++++++- .../scratch3_signalanalysis/index.js | 71 ++++++++++++++ 2 files changed, 165 insertions(+), 3 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 6fad1a3ae..fece1bb16 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -6,8 +6,10 @@ const formatMessage = require('format-message'); const MathUtil = require('../../util/math-util'); const Timer = require('../../util/timer'); const log = require('../../util/log'); -//const mvae = require('@magenta/music/node/music_vae'); -//const core = require('@magenta/music/node/core'); + +const hrtime = require('browser-hrtime'); +const mvae = require('@magenta/music/node/music_vae'); +const core = require('@magenta/music/node/core'); /** * The instrument and drum sounds, loaded as static assets. @@ -43,6 +45,9 @@ class Scratch3MusicCreation { this._instrumentPlayerNoteArrays = []; this._loadAllSounds(); + this.noteList = []; + log.log(this.noteList); + this._onTargetCreated = this._onTargetCreated.bind(this); this.runtime.on('targetWasCreated', this._onTargetCreated); @@ -57,7 +62,7 @@ class Scratch3MusicCreation { {text: "mezzo-forte", value: 60}, {text: "forte", value: 85}, {text: "fortissimo", value: 100}]; - log.log(volumes); + } @@ -333,6 +338,21 @@ class Scratch3MusicCreation { } } }, + { + opcode: 'recordNotes', + blockType: BlockType.COMMAND, + text: 'record notes with frequency [NOTE] for [SECS] seconds', + arguments: { + NOTE: { + type: ArgumentType.NOTE, + defaultValue: 60 + }, + SECS: { + type: ArgumentType.NUMBER, + defaultValue: 0.25 + } + } + }, { opcode: 'saveFile', blockType: BlockType.COMMAND, @@ -361,6 +381,15 @@ class Scratch3MusicCreation { description: 'get the current instrument' }), blockType: BlockType.REPORTER + }, + { + opcode: 'testMagenta', + text: formatMessage({ + id: 'musiccreation.testMagenta', + default: 'test Magenta', + description: 'test Magenta' + }), + blockType: BlockType.COMMAND } ], menus: { @@ -401,6 +430,32 @@ class Scratch3MusicCreation { this._setInstrument(args.INSTRUMENT, util, false); } + testMagenta (util) { + TWINKLE_TWINKLE = { + notes: [ + {pitch: 60, startTime: 0.0, endTime: 0.5}, + {pitch: 60, startTime: 0.5, endTime: 1.0}, + {pitch: 67, startTime: 1.0, endTime: 1.5}, + {pitch: 67, startTime: 1.5, endTime: 2.0}, + {pitch: 69, startTime: 2.0, endTime: 2.5}, + {pitch: 69, startTime: 2.5, endTime: 3.0}, + {pitch: 67, startTime: 3.0, endTime: 4.0}, + {pitch: 65, startTime: 4.0, endTime: 4.5}, + {pitch: 65, startTime: 4.5, endTime: 5.0}, + {pitch: 64, startTime: 5.0, endTime: 5.5}, + {pitch: 64, startTime: 5.5, endTime: 6.0}, + {pitch: 62, startTime: 6.0, endTime: 6.5}, + {pitch: 62, startTime: 6.5, endTime: 7.0}, + {pitch: 60, startTime: 7.0, endTime: 8.0}, + ], + totalTime: 8 + }; + const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); + player.start(TWINKLE_TWINKLE); + player.stop(); + log.log(TWINKLE_TWINKLE); + } + getInstrument (util) { const stage = this.runtime.getTargetForStage(); if (stage) { @@ -438,6 +493,8 @@ class Scratch3MusicCreation { runtime: this.runtime, target: this.runtime.getEditingTarget() }; + this.noteList.push(noteNum); + log.log(this.noteList); this._playNote(util, noteNum, 0.25); } @@ -493,9 +550,43 @@ class Scratch3MusicCreation { return "mezzo-forte"; } + recordNotes (args, util) { + for (var n in this.nodeList) { + this.playNote(args, util); + } + /* + if (this._stackTimerNeedsInit(util)) { + for (var n in this.noteList) { + note = this.noteList[n]; + log.log(note); + let note = Cast.toNumber(note); + log.log(note); + note = MathUtil.clamp(note, + Scratch3MusicCreation.MIDI_NOTE_RANGE.min, Scratch3MusicCreation.MIDI_NOTE_RANGE.max); + log.log(note); + let beats = Cast.toNumber(args.SECS); + beats = this._clampBeats(beats); + // If the duration is 0, do not play the note. In Scratch 2.0, "play drum for 0 beats" plays the drum, + // but "play note for 0 beats" is silent. + if (beats === 0) return; + + const durationSec = beats; + + this._playNote(util, note, durationSec); + + this._startStackTimer(util, durationSec); + } + } else { + this._checkStackTimer(util); + } + */ + } + playNote (args, util) { + log.log("here"); if (this._stackTimerNeedsInit(util)) { let note = Cast.toNumber(args.NOTE); + log.log(args.NOTE); note = MathUtil.clamp(note, Scratch3MusicCreation.MIDI_NOTE_RANGE.min, Scratch3MusicCreation.MIDI_NOTE_RANGE.max); let beats = Cast.toNumber(args.SECS); diff --git a/packages/scratch-vm/src/extensions/scratch3_signalanalysis/index.js b/packages/scratch-vm/src/extensions/scratch3_signalanalysis/index.js index eb33d4bcf..8887d4d7e 100644 --- a/packages/scratch-vm/src/extensions/scratch3_signalanalysis/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_signalanalysis/index.js @@ -2,10 +2,20 @@ const ArgumentType = require('../../extension-support/argument-type'); const BlockType = require('../../extension-support/block-type'); const Cast = require('../../util/cast'); const log = require('../../util/log'); +const formatMessage = require('format-message'); + +const hrtime = require('browser-hrtime'); +const mvae = require('@magenta/music/node/music_vae'); +const core = require('@magenta/music/node/core'); + class Scratch3SignalAnalysis { constructor (runtime) { this.runtime = runtime; + this.louder = 'n/a'; + this.higher = 'n/a'; + this.instrument1 = 'n/a'; + this.instrument2 = "n/a"; } getInfo () { @@ -13,6 +23,17 @@ class Scratch3SignalAnalysis { id: 'signalanalysis', name: 'Signal Analysis', blocks: [ + { + opcode: 'playWav', + blockType: BlockType.COMMAND, + text: 'play [FILE]', + arguments: { + FILE: { + type: ArgumentType.STRING, + defaultValue: "file.wav" + } + } + }, { opcode: 'compareVol', blockType: BlockType.COMMAND, @@ -57,6 +78,33 @@ class Scratch3SignalAnalysis { defaultValue: "file2.wav" } } + }, + { + opcode: 'getVolumeComp', + text: formatMessage({ + id: 'signalanalysis.getVolumeComp', + default: 'volume', + description: 'get the current volume comparison' + }), + blockType: BlockType.REPORTER + }, + { + opcode: 'getPitchComp', + text: formatMessage({ + id: 'signalanalysis.getPitchComp', + default: 'volume', + description: 'get the current pitch comparison' + }), + blockType: BlockType.REPORTER + }, + { + opcode: 'getInstrumentComp', + text: formatMessage({ + id: 'signalanalysis.getInstrumentComp', + default: 'instrument', + description: 'get the current instrument comparison' + }), + blockType: BlockType.REPORTER } ], menus: { @@ -64,6 +112,11 @@ class Scratch3SignalAnalysis { }; } + playWav (args) { + log.log("here"); + log.l + } + compareVol (args) { const text = Cast.toString(args.FILE1); log.log(text); @@ -78,6 +131,24 @@ class Scratch3SignalAnalysis { const text = Cast.toString(args.FILE1); log.log(text); } + + getVolumeComp (args) { + const text = Cast.toString(args.FILE1); + log.log(text); + return this.louder; + } + + getPitchComp (args) { + const text = Cast.toString(args.FILE1); + log.log(text); + return this.higher; + } + + getInstrumentComp (args) { + const text = Cast.toString(args.FILE1); + log.log(text); + return this.instrument1; + } } module.exports = Scratch3SignalAnalysis; \ No newline at end of file From 86779ab68d8bb90569f100a727b79d9ff642da62 Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 17 Jan 2021 13:57:25 -0500 Subject: [PATCH 007/149] adding missing dependency --- packages/scratch-vm/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/scratch-vm/package.json b/packages/scratch-vm/package.json index c401559a9..f62cb5c4b 100644 --- a/packages/scratch-vm/package.json +++ b/packages/scratch-vm/package.json @@ -33,6 +33,7 @@ "@vernier/godirect": "1.5.0", "arraybuffer-loader": "^1.0.6", "atob": "2.1.2", + "browser-hrtime": "^1.1.8", "btoa": "1.2.1", "canvas-toBlob": "1.0.0", "decode-html": "2.0.0", From 3fee5cacd48a95f9da2298b596ee4e2127703dfc Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 24 Jan 2021 17:30:49 -0500 Subject: [PATCH 008/149] preliminary viz done --- .../scratch3_musiccreation/index.js | 100 ++- .../extensions/scratch3_signalviz/index.js | 822 +++++++++++++++++- 2 files changed, 886 insertions(+), 36 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index fece1bb16..59819c50c 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -10,6 +10,8 @@ const log = require('../../util/log'); const hrtime = require('browser-hrtime'); const mvae = require('@magenta/music/node/music_vae'); const core = require('@magenta/music/node/core'); +const rnn = require('@magenta/music/node/music_rnn'); + /** * The instrument and drum sounds, loaded as static assets. @@ -383,13 +385,31 @@ class Scratch3MusicCreation { blockType: BlockType.REPORTER }, { - opcode: 'testMagenta', + opcode: 'testMagentaPlayer', text: formatMessage({ - id: 'musiccreation.testMagenta', - default: 'test Magenta', + id: 'musiccreation.testMagentaPlayer', + default: 'test Magenta player', description: 'test Magenta' }), blockType: BlockType.COMMAND + }, + { + opcode: 'testMagentaRNN', + text: formatMessage({ + id: 'musiccreation.testMagentaRNN', + default: 'test Magenta RNN', + description: 'test Magenta RNN' + }), + blockType: BlockType.COMMAND + }, + { + opcode: 'testMagentaMVAE', + text: formatMessage({ + id: 'musiccreation.testMagentaMVAE', + default: 'test Magenta MVAE', + description: 'test Magenta MVAE' + }), + blockType: BlockType.COMMAND } ], menus: { @@ -430,7 +450,7 @@ class Scratch3MusicCreation { this._setInstrument(args.INSTRUMENT, util, false); } - testMagenta (util) { + testMagentaPlayer (util) { TWINKLE_TWINKLE = { notes: [ {pitch: 60, startTime: 0.0, endTime: 0.5}, @@ -456,6 +476,78 @@ class Scratch3MusicCreation { log.log(TWINKLE_TWINKLE); } + testMagentaRNN (utils) { + TWINKLE_TWINKLE = { + notes: [ + {pitch: 60, startTime: 0.0, endTime: 0.5}, + {pitch: 60, startTime: 0.5, endTime: 1.0}, + {pitch: 67, startTime: 1.0, endTime: 1.5}, + {pitch: 67, startTime: 1.5, endTime: 2.0}, + {pitch: 69, startTime: 2.0, endTime: 2.5}, + {pitch: 69, startTime: 2.5, endTime: 3.0}, + {pitch: 67, startTime: 3.0, endTime: 4.0}, + {pitch: 65, startTime: 4.0, endTime: 4.5}, + {pitch: 65, startTime: 4.5, endTime: 5.0}, + {pitch: 64, startTime: 5.0, endTime: 5.5}, + {pitch: 64, startTime: 5.5, endTime: 6.0}, + {pitch: 62, startTime: 6.0, endTime: 6.5}, + {pitch: 62, startTime: 6.5, endTime: 7.0}, + {pitch: 60, startTime: 7.0, endTime: 8.0}, + ], + totalTime: 8 + }; + const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); + if (player.isPlaying()) { + player.stop(); + return; + } + music_rnn = new rnn.MusicRNN('https://storage.googleapis.com/magentadata/js/checkpoints/music_rnn/basic_rnn'); + music_rnn.initialize(); + rnn_steps = 20; + rnn_temperature = 1.5; + + const qns = core.sequences.quantizeNoteSequence(TWINKLE_TWINKLE, 4); + music_rnn + .continueSequence(qns, rnn_steps, rnn_temperature) + .then((sample) => player.start(sample)); + log.log(TWINKLE_TWINKLE); + } + + testMagentaMVAE (utils) { + TWINKLE_TWINKLE = { + notes: [ + {pitch: 60, startTime: 0.0, endTime: 0.5}, + {pitch: 60, startTime: 0.5, endTime: 1.0}, + {pitch: 67, startTime: 1.0, endTime: 1.5}, + {pitch: 67, startTime: 1.5, endTime: 2.0}, + {pitch: 69, startTime: 2.0, endTime: 2.5}, + {pitch: 69, startTime: 2.5, endTime: 3.0}, + {pitch: 67, startTime: 3.0, endTime: 4.0}, + {pitch: 65, startTime: 4.0, endTime: 4.5}, + {pitch: 65, startTime: 4.5, endTime: 5.0}, + {pitch: 64, startTime: 5.0, endTime: 5.5}, + {pitch: 64, startTime: 5.5, endTime: 6.0}, + {pitch: 62, startTime: 6.0, endTime: 6.5}, + {pitch: 62, startTime: 6.5, endTime: 7.0}, + {pitch: 60, startTime: 7.0, endTime: 8.0}, + ], + totalTime: 8 + }; + const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); + if (player.isPlaying()) { + player.stop(); + return; + } + music_vae = new mvae.MusicVAE('https://storage.googleapis.com/magentadata/js/checkpoints/music_vae/mel_4bar_small_q2'); + music_vae.initialize(); + vae_temperature = 1.5; + + music_vae + .sample(1, vae_temperature) + .then((sample) => player.start(sample[0])); + log.log(TWINKLE_TWINKLE); + } + getInstrument (util) { const stage = this.runtime.getTargetForStage(); if (stage) { diff --git a/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js b/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js index 3372ad0d1..c3255fb45 100644 --- a/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js @@ -1,87 +1,845 @@ const ArgumentType = require('../../extension-support/argument-type'); const BlockType = require('../../extension-support/block-type'); const Cast = require('../../util/cast'); +const Clone = require('../../util/clone'); +const Color = require('../../util/color'); +const formatMessage = require('format-message'); +const MathUtil = require('../../util/math-util'); +const RenderedTarget = require('../../sprites/rendered-target'); const log = require('../../util/log'); +const StageLayering = require('../../engine/stage-layering'); + +/** + * Enum for pen color parameter values. + * @readonly + * @enum {string} + */ +const ColorParam = { + COLOR: 'color', + SATURATION: 'saturation', + BRIGHTNESS: 'brightness', + TRANSPARENCY: 'transparency' +}; + +/** + * @typedef {object} PenState - the pen state associated with a particular target. + * @property {Boolean} penDown - tracks whether the pen should draw for this target. + * @property {number} color - the current color (hue) of the pen. + * @property {PenAttributes} penAttributes - cached pen attributes for the renderer. This is the authoritative value for + * diameter but not for pen color. + */ + +/** + * Host for the Pen-related blocks in Scratch 3.0 + * @param {Runtime} runtime - the runtime instantiating this block package. + * @constructor + */ class Scratch3SignalViz { constructor (runtime) { + /** + * The runtime instantiating this block package. + * @type {Runtime} + */ this.runtime = runtime; + + /** + * The ID of the renderer Drawable corresponding to the pen layer. + * @type {int} + * @private + */ + this._penDrawableId = -1; + + /** + * The ID of the renderer Skin corresponding to the pen layer. + * @type {int} + * @private + */ + this._penSkinId = -1; + + this._onTargetCreated = this._onTargetCreated.bind(this); + this._onTargetMoved = this._onTargetMoved.bind(this); + + runtime.on('targetWasCreated', this._onTargetCreated); + runtime.on('RUNTIME_DISPOSED', this.clear.bind(this)); + } + + /** + * The default pen state, to be used when a target has no existing pen state. + * @type {PenState} + */ + static get DEFAULT_PEN_STATE () { + return { + penDown: false, + color: 66.66, + saturation: 100, + brightness: 100, + transparency: 0, + _shade: 50, // Used only for legacy `change shade by` blocks + penAttributes: { + color4f: [0, 0, 1, 1], + diameter: 1 + } + }; + } + + + /** + * The minimum and maximum allowed pen size. + * The maximum is twice the diagonal of the stage, so that even an + * off-stage sprite can fill it. + * @type {{min: number, max: number}} + */ + static get PEN_SIZE_RANGE () { + return {min: 1, max: 1200}; + } + + /** + * The key to load & store a target's pen-related state. + * @type {string} + */ + static get STATE_KEY () { + return 'Scratch.pen'; + } + + /** + * Clamp a pen size value to the range allowed by the pen. + * @param {number} requestedSize - the requested pen size. + * @returns {number} the clamped size. + * @private + */ + _clampPenSize (requestedSize) { + return MathUtil.clamp( + requestedSize, + Scratch3SignalViz.PEN_SIZE_RANGE.min, + Scratch3SignalViz.PEN_SIZE_RANGE.max + ); + } + + /** + * Retrieve the ID of the renderer "Skin" corresponding to the pen layer. If + * the pen Skin doesn't yet exist, create it. + * @returns {int} the Skin ID of the pen layer, or -1 on failure. + * @private + */ + _getPenLayerID () { + if (this._penSkinId < 0 && this.runtime.renderer) { + this._penSkinId = this.runtime.renderer.createPenSkin(); + this._penDrawableId = this.runtime.renderer.createDrawable(StageLayering.PEN_LAYER); + this.runtime.renderer.updateDrawableProperties(this._penDrawableId, {skinId: this._penSkinId}); + } + return this._penSkinId; + } + + /** + * @param {Target} target - collect pen state for this target. Probably, but not necessarily, a RenderedTarget. + * @returns {PenState} the mutable pen state associated with that target. This will be created if necessary. + * @private + */ + _getPenState (target) { + let penState = target.getCustomState(Scratch3SignalViz.STATE_KEY); + if (!penState) { + penState = Clone.simple(Scratch3SignalViz.DEFAULT_PEN_STATE); + target.setCustomState(Scratch3SignalViz.STATE_KEY, penState); + } + return penState; + } + + /** + * When a pen-using Target is cloned, clone the pen state. + * @param {Target} newTarget - the newly created target. + * @param {Target} [sourceTarget] - the target used as a source for the new clone, if any. + * @listens Runtime#event:targetWasCreated + * @private + */ + _onTargetCreated (newTarget, sourceTarget) { + if (sourceTarget) { + const penState = sourceTarget.getCustomState(Scratch3SignalViz.STATE_KEY); + if (penState) { + newTarget.setCustomState(Scratch3SignalViz.STATE_KEY, Clone.simple(penState)); + if (penState.penDown) { + newTarget.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + } + } + } + + /** + * Handle a target which has moved. This only fires when the pen is down. + * @param {RenderedTarget} target - the target which has moved. + * @param {number} oldX - the previous X position. + * @param {number} oldY - the previous Y position. + * @param {boolean} isForce - whether the movement was forced. + * @private + */ + _onTargetMoved (target, oldX, oldY, isForce) { + // Only move the pen if the movement isn't forced (ie. dragged). + if (!isForce) { + const penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + const penState = this._getPenState(target); + this.runtime.renderer.penLine(penSkinId, penState.penAttributes, oldX, oldY, target.x, target.y); + this.runtime.requestRedraw(); + } + } + } + + /** + * Wrap a color input into the range (0,100). + * @param {number} value - the value to be wrapped. + * @returns {number} the wrapped value. + * @private + */ + _wrapColor (value) { + return MathUtil.wrapClamp(value, 0, 100); + } + + /** + * Initialize color parameters menu with localized strings + * @returns {array} of the localized text and values for each menu element + * @private + */ + _initColorParam () { + return [ + { + text: formatMessage({ + id: 'signalviz.colorMenu.color', + default: 'color', + description: 'label for color element in color picker for pen extension' + }), + value: ColorParam.COLOR + }, + { + text: formatMessage({ + id: 'signalviz.colorMenu.saturation', + default: 'saturation', + description: 'label for saturation element in color picker for pen extension' + }), + value: ColorParam.SATURATION + }, + { + text: formatMessage({ + id: 'signalviz.colorMenu.brightness', + default: 'brightness', + description: 'label for brightness element in color picker for pen extension' + }), + value: ColorParam.BRIGHTNESS + }, + { + text: formatMessage({ + id: 'signalviz.colorMenu.transparency', + default: 'transparency', + description: 'label for transparency element in color picker for pen extension' + }), + value: ColorParam.TRANSPARENCY + + } + ]; + } + + /** + * Clamp a pen color parameter to the range (0,100). + * @param {number} value - the value to be clamped. + * @returns {number} the clamped value. + * @private + */ + _clampColorParam (value) { + return MathUtil.clamp(value, 0, 100); + } + + /** + * Convert an alpha value to a pen transparency value. + * Alpha ranges from 0 to 1, where 0 is transparent and 1 is opaque. + * Transparency ranges from 0 to 100, where 0 is opaque and 100 is transparent. + * @param {number} alpha - the input alpha value. + * @returns {number} the transparency value. + * @private + */ + _alphaToTransparency (alpha) { + return (1.0 - alpha) * 100.0; } + /** + * Convert a pen transparency value to an alpha value. + * Alpha ranges from 0 to 1, where 0 is transparent and 1 is opaque. + * Transparency ranges from 0 to 100, where 0 is opaque and 100 is transparent. + * @param {number} transparency - the input transparency value. + * @returns {number} the alpha value. + * @private + */ + _transparencyToAlpha (transparency) { + return 1.0 - (transparency / 100.0); + } + + /** + * @returns {object} metadata for this extension and its blocks. + */ getInfo () { return { - id: 'signalViz', + id: 'signalviz', name: 'Signal Visualization', blocks: [ { - opcode: 'timeViz', + opcode: 'testWaveform', + blockType: BlockType.COMMAND, + text: formatMessage({ + id: 'signalviz.testwaveform', + default: 'test waveform viz', + description: 'test signal' + }) + }, + { + opcode: 'testSheetMusic', blockType: BlockType.COMMAND, - text: 'plot time domain for [SIGNAL]', + text: formatMessage({ + id: 'signalviz.testsheet music', + default: 'test sheet music viz', + description: 'test signal' + }) + }, + { + opcode: 'clear', + blockType: BlockType.COMMAND, + text: formatMessage({ + id: 'signalviz.clear', + default: 'erase all', + description: 'erase all pen trails and stamps' + }) + }, + { + opcode: 'stamp', + blockType: BlockType.COMMAND, + text: formatMessage({ + id: 'signalviz.stamp', + default: 'stamp', + description: 'render current costume on the background' + }) + }, + { + opcode: 'penDown', + blockType: BlockType.COMMAND, + text: formatMessage({ + id: 'signalviz.penDown', + default: 'pen down', + description: 'start leaving a trail when the sprite moves' + }) + }, + { + opcode: 'penUp', + blockType: BlockType.COMMAND, + text: formatMessage({ + id: 'signalviz.penUp', + default: 'pen up', + description: 'stop leaving a trail behind the sprite' + }) + }, + { + opcode: 'setPenColorToColor', + blockType: BlockType.COMMAND, + text: formatMessage({ + id: 'signalviz.setColor', + default: 'set pen color to [COLOR]', + description: 'set the pen color to a particular (RGB) value' + }), arguments: { - SIGNAL: { - type: ArgumentType.STRING, - defaultValue: "test.wav" + COLOR: { + type: ArgumentType.COLOR } } }, { - opcode: 'freqViz', + opcode: 'changePenColorParamBy', blockType: BlockType.COMMAND, - text: 'plot frequency domain for [SIGNAL]', + text: formatMessage({ + id: 'signalviz.changeColorParam', + default: 'change pen [COLOR_PARAM] by [VALUE]', + description: 'change the state of a pen color parameter' + }), arguments: { - SIGNAL: { + COLOR_PARAM: { type: ArgumentType.STRING, - defaultValue: "test.wav" + menu: 'colorParam', + defaultValue: ColorParam.COLOR + }, + VALUE: { + type: ArgumentType.NUMBER, + defaultValue: 10 } } }, { - opcode: 'specViz', + opcode: 'setPenColorParamTo', blockType: BlockType.COMMAND, - text: 'plot spectrogram for [SIGNAL]', + text: formatMessage({ + id: 'signalviz.setColorParam', + default: 'set pen [COLOR_PARAM] to [VALUE]', + description: 'set the state for a pen color parameter e.g. saturation' + }), arguments: { - SIGNAL: { + COLOR_PARAM: { type: ArgumentType.STRING, - defaultValue: "test.wav" + menu: 'colorParam', + defaultValue: ColorParam.COLOR + }, + VALUE: { + type: ArgumentType.NUMBER, + defaultValue: 50 } } }, { - opcode: 'musicViz', + opcode: 'changePenSizeBy', blockType: BlockType.COMMAND, - text: 'create sheet music for [SIGNAL]', + text: formatMessage({ + id: 'signalviz.changeSize', + default: 'change pen size by [SIZE]', + description: 'change the diameter of the trail left by a sprite' + }), arguments: { - SIGNAL: { - type: ArgumentType.STRING, - defaultValue: "test.wav" + SIZE: { + type: ArgumentType.NUMBER, + defaultValue: 1 } } + }, + { + opcode: 'setPenSizeTo', + blockType: BlockType.COMMAND, + text: formatMessage({ + id: 'signalviz.setSize', + default: 'set pen size to [SIZE]', + description: 'set the diameter of a trail left by a sprite' + }), + arguments: { + SIZE: { + type: ArgumentType.NUMBER, + defaultValue: 1 + } + } + }, + /* Legacy blocks, should not be shown in flyout */ + { + opcode: 'setPenShadeToNumber', + blockType: BlockType.COMMAND, + text: formatMessage({ + id: 'signalviz.setShade', + default: 'set pen shade to [SHADE]', + description: 'legacy pen blocks - set pen shade' + }), + arguments: { + SHADE: { + type: ArgumentType.NUMBER, + defaultValue: 1 + } + }, + hideFromPalette: true + }, + { + opcode: 'changePenShadeBy', + blockType: BlockType.COMMAND, + text: formatMessage({ + id: 'signalviz.changeShade', + default: 'change pen shade by [SHADE]', + description: 'legacy pen blocks - change pen shade' + }), + arguments: { + SHADE: { + type: ArgumentType.NUMBER, + defaultValue: 1 + } + }, + hideFromPalette: true + }, + { + opcode: 'setPenHueToNumber', + blockType: BlockType.COMMAND, + text: formatMessage({ + id: 'signalviz.setHue', + default: 'set pen color to [HUE]', + description: 'legacy pen blocks - set pen color to number' + }), + arguments: { + HUE: { + type: ArgumentType.NUMBER, + defaultValue: 1 + } + }, + hideFromPalette: true + }, + { + opcode: 'changePenHueBy', + blockType: BlockType.COMMAND, + text: formatMessage({ + id: 'signalviz.changeHue', + default: 'change pen color by [HUE]', + description: 'legacy pen blocks - change pen color' + }), + arguments: { + HUE: { + type: ArgumentType.NUMBER, + defaultValue: 1 + } + }, + hideFromPalette: true } ], menus: { + colorParam: { + acceptReporters: true, + items: this._initColorParam() + } } }; } - timeViz (args) { - const text = Cast.toString(args.SIGNAL); - log.log(text); + testWaveform (args, util) { + this.clear(); + this.drawAxes(args, util); + this.drawSignal(args, util); + } + + testSheetMusic (args, util) { + this.clear(); + this.drawStaff(args, util); + this.drawMusic(args, util); } - freqViz (args) { - const text = Cast.toString(args.SIGNAL); - log.log(text); + drawAxes(args, util) { + util.target.setXY(-200, 130); + this.penDown(args, util); + util.target.setXY(-200, -150); + util.target.setXY(200, -150); + this.penUp(args, util); } - specViz (args) { - const text = Cast.toString(args.SIGNAL); - log.log(text); + drawStaff(args, util) { + var i; + startX = -200; + endX = 200; + y = -130; + for (i = 0; i < 5; i++) { + log.log(i); + this.penUp(args, util); + util.target.setXY(startX, y); + this.penDown(args, util); + util.target.setXY(endX, y); + y = y+25; + } } - musicViz (args) { - const text = Cast.toString(args.SIGNAL); - log.log(text); + drawMusic(args, util) { + x = -200; + y = -130; + staffWidth = 25; + xStep = 30; + signal = [-1, 0, 1, 2, 3, 4]; + for (i in signal) { + note = signal[i]; + this.penUp(args, util); + x = x+xStep; + noteY = y+note*staffWidth/2-3; + util.target.setXY(x, noteY); + this.penDown(args, util); + util.target.setXY(x+10, noteY+6); + + this.penUp(args, util); + util.target.setXY(x, noteY+6); + this.penDown(args, util); + util.target.setXY(x+10, noteY); + + } + this.penUp(args, util); + } + + drawSignal(args, util) { + x = -200; + y = -150; + signal = [1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6]; + log.log(signal); + for (i in signal) { + val = signal[i]; + this.penUp(args, util) + x = x+10; + util.target.setXY(x, y); + this.penDown(args, util); + util.target.setXY(x, y+val*25); + + } + this.penUp(args, util); + } + + /** + * The pen "clear" block clears the pen layer's contents. + */ + clear () { + const penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + this.runtime.renderer.penClear(penSkinId); + this.runtime.requestRedraw(); + } + } + + /** + * The pen "stamp" block stamps the current drawable's image onto the pen layer. + * @param {object} args - the block arguments. + * @param {object} util - utility object provided by the runtime. + */ + stamp (args, util) { + const penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + const target = util.target; + this.runtime.renderer.penStamp(penSkinId, target.drawableID); + this.runtime.requestRedraw(); + } + } + + /** + * The pen "pen down" block causes the target to leave pen trails on future motion. + * @param {object} args - the block arguments. + * @param {object} util - utility object provided by the runtime. + */ + penDown (args, util) { + log.log("here now"); + const target = util.target; + const penState = this._getPenState(target); + + if (!penState.penDown) { + penState.penDown = true; + target.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + + const penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + this.runtime.renderer.penPoint(penSkinId, penState.penAttributes, target.x, target.y); + this.runtime.requestRedraw(); + } + } + + /** + * The pen "pen up" block stops the target from leaving pen trails. + * @param {object} args - the block arguments. + * @param {object} util - utility object provided by the runtime. + */ + penUp (args, util) { + const target = util.target; + const penState = this._getPenState(target); + + if (penState.penDown) { + penState.penDown = false; + target.removeListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + } + + /** + * The pen "set pen color to {color}" block sets the pen to a particular RGB color. + * The transparency is reset to 0. + * @param {object} args - the block arguments. + * @property {int} COLOR - the color to set, expressed as a 24-bit RGB value (0xRRGGBB). + * @param {object} util - utility object provided by the runtime. + */ + setPenColorToColor (args, util) { + const penState = this._getPenState(util.target); + const rgb = Cast.toRgbColorObject(args.COLOR); + const hsv = Color.rgbToHsv(rgb); + penState.color = (hsv.h / 360) * 100; + penState.saturation = hsv.s * 100; + penState.brightness = hsv.v * 100; + if (rgb.hasOwnProperty('a')) { + penState.transparency = 100 * (1 - (rgb.a / 255.0)); + } else { + penState.transparency = 0; + } + + // Set the legacy "shade" value the same way scratch 2 did. + penState._shade = penState.brightness / 2; + + this._updatePenColor(penState); + } + + /** + * Update the cached color from the color, saturation, brightness and transparency values + * in the provided PenState object. + * @param {PenState} penState - the pen state to update. + * @private + */ + _updatePenColor (penState) { + const rgb = Color.hsvToRgb({ + h: penState.color * 360 / 100, + s: penState.saturation / 100, + v: penState.brightness / 100 + }); + penState.penAttributes.color4f[0] = rgb.r / 255.0; + penState.penAttributes.color4f[1] = rgb.g / 255.0; + penState.penAttributes.color4f[2] = rgb.b / 255.0; + penState.penAttributes.color4f[3] = this._transparencyToAlpha(penState.transparency); + } + + /** + * Set or change a single color parameter on the pen state, and update the pen color. + * @param {ColorParam} param - the name of the color parameter to set or change. + * @param {number} value - the value to set or change the param by. + * @param {PenState} penState - the pen state to update. + * @param {boolean} change - if true change param by value, if false set param to value. + * @private + */ + _setOrChangeColorParam (param, value, penState, change) { + switch (param) { + case ColorParam.COLOR: + penState.color = this._wrapColor(value + (change ? penState.color : 0)); + break; + case ColorParam.SATURATION: + penState.saturation = this._clampColorParam(value + (change ? penState.saturation : 0)); + break; + case ColorParam.BRIGHTNESS: + penState.brightness = this._clampColorParam(value + (change ? penState.brightness : 0)); + break; + case ColorParam.TRANSPARENCY: + penState.transparency = this._clampColorParam(value + (change ? penState.transparency : 0)); + break; + default: + log.warn(`Tried to set or change unknown color parameter: ${param}`); + } + this._updatePenColor(penState); + } + + /** + * The "change pen {ColorParam} by {number}" block changes one of the pen's color parameters + * by a given amound. + * @param {object} args - the block arguments. + * @property {ColorParam} COLOR_PARAM - the name of the selected color parameter. + * @property {number} VALUE - the amount to change the selected parameter by. + * @param {object} util - utility object provided by the runtime. + */ + changePenColorParamBy (args, util) { + const penState = this._getPenState(util.target); + this._setOrChangeColorParam(args.COLOR_PARAM, Cast.toNumber(args.VALUE), penState, true); + } + + /** + * The "set pen {ColorParam} to {number}" block sets one of the pen's color parameters + * to a given amound. + * @param {object} args - the block arguments. + * @property {ColorParam} COLOR_PARAM - the name of the selected color parameter. + * @property {number} VALUE - the amount to set the selected parameter to. + * @param {object} util - utility object provided by the runtime. + */ + setPenColorParamTo (args, util) { + const penState = this._getPenState(util.target); + this._setOrChangeColorParam(args.COLOR_PARAM, Cast.toNumber(args.VALUE), penState, false); + } + + /** + * The pen "change pen size by {number}" block changes the pen size by the given amount. + * @param {object} args - the block arguments. + * @property {number} SIZE - the amount of desired size change. + * @param {object} util - utility object provided by the runtime. + */ + changePenSizeBy (args, util) { + const penAttributes = this._getPenState(util.target).penAttributes; + penAttributes.diameter = this._clampPenSize(penAttributes.diameter + Cast.toNumber(args.SIZE)); + } + + /** + * The pen "set pen size to {number}" block sets the pen size to the given amount. + * @param {object} args - the block arguments. + * @property {number} SIZE - the amount of desired size change. + * @param {object} util - utility object provided by the runtime. + */ + setPenSizeTo (args, util) { + const penAttributes = this._getPenState(util.target).penAttributes; + penAttributes.diameter = this._clampPenSize(Cast.toNumber(args.SIZE)); + } + + /* LEGACY OPCODES */ + /** + * Scratch 2 "hue" param is equivelant to twice the new "color" param. + * @param {object} args - the block arguments. + * @property {number} HUE - the amount to set the hue to. + * @param {object} util - utility object provided by the runtime. + */ + setPenHueToNumber (args, util) { + const penState = this._getPenState(util.target); + const hueValue = Cast.toNumber(args.HUE); + const colorValue = hueValue / 2; + this._setOrChangeColorParam(ColorParam.COLOR, colorValue, penState, false); + this._setOrChangeColorParam(ColorParam.TRANSPARENCY, 0, penState, false); + this._legacyUpdatePenColor(penState); + } + + /** + * Scratch 2 "hue" param is equivelant to twice the new "color" param. + * @param {object} args - the block arguments. + * @property {number} HUE - the amount of desired hue change. + * @param {object} util - utility object provided by the runtime. + */ + changePenHueBy (args, util) { + const penState = this._getPenState(util.target); + const hueChange = Cast.toNumber(args.HUE); + const colorChange = hueChange / 2; + this._setOrChangeColorParam(ColorParam.COLOR, colorChange, penState, true); + + this._legacyUpdatePenColor(penState); + } + + /** + * Use legacy "set shade" code to calculate RGB value for shade, + * then convert back to HSV and store those components. + * It is important to also track the given shade in penState._shade + * because it cannot be accurately backed out of the new HSV later. + * @param {object} args - the block arguments. + * @property {number} SHADE - the amount to set the shade to. + * @param {object} util - utility object provided by the runtime. + */ + setPenShadeToNumber (args, util) { + const penState = this._getPenState(util.target); + let newShade = Cast.toNumber(args.SHADE); + + // Wrap clamp the new shade value the way scratch 2 did. + newShade = newShade % 200; + if (newShade < 0) newShade += 200; + + // And store the shade that was used to compute this new color for later use. + penState._shade = newShade; + + this._legacyUpdatePenColor(penState); + } + + /** + * Because "shade" cannot be backed out of hsv consistently, use the previously + * stored penState._shade to make the shade change. + * @param {object} args - the block arguments. + * @property {number} SHADE - the amount of desired shade change. + * @param {object} util - utility object provided by the runtime. + */ + changePenShadeBy (args, util) { + const penState = this._getPenState(util.target); + const shadeChange = Cast.toNumber(args.SHADE); + this.setPenShadeToNumber({SHADE: penState._shade + shadeChange}, util); + } + + /** + * Update the pen state's color from its hue & shade values, Scratch 2.0 style. + * @param {object} penState - update the HSV & RGB values in this pen state from its hue & shade values. + * @private + */ + _legacyUpdatePenColor (penState) { + // Create the new color in RGB using the scratch 2 "shade" model + let rgb = Color.hsvToRgb({h: penState.color * 360 / 100, s: 1, v: 1}); + const shade = (penState._shade > 100) ? 200 - penState._shade : penState._shade; + if (shade < 50) { + rgb = Color.mixRgb(Color.RGB_BLACK, rgb, (10 + shade) / 60); + } else { + rgb = Color.mixRgb(rgb, Color.RGB_WHITE, (shade - 50) / 60); + } + + // Update the pen state according to new color + const hsv = Color.rgbToHsv(rgb); + penState.color = 100 * hsv.h / 360; + penState.saturation = 100 * hsv.s; + penState.brightness = 100 * hsv.v; + + this._updatePenColor(penState); } } -module.exports = Scratch3SignalViz; \ No newline at end of file +module.exports = Scratch3SignalViz; From a5d4d58bba94dea0c103a120915bb3f841498824 Mon Sep 17 00:00:00 2001 From: nada Date: Wed, 27 Jan 2021 01:32:27 -0500 Subject: [PATCH 009/149] added all notes to sheet music viz --- .../extensions/scratch3_signalviz/index.js | 104 +++++++++++++++--- 1 file changed, 89 insertions(+), 15 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js b/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js index c3255fb45..563006626 100644 --- a/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js @@ -523,32 +523,107 @@ class Scratch3SignalViz { util.target.setXY(startX, y); this.penDown(args, util); util.target.setXY(endX, y); - y = y+25; + y = y+8; } } drawMusic(args, util) { x = -200; y = -130; - staffWidth = 25; - xStep = 30; - signal = [-1, 0, 1, 2, 3, 4]; + staffWidth = 8; + xStep = 40; + signal = [[-1, 1/4], [7, 1/2], [7, 3], [8, 4], [3, 2], [2, 1]] for (i in signal) { - note = signal[i]; - this.penUp(args, util); + note = signal[i][0]; + duration = signal[i][1]; + if (note <= 4) { + up = true; + } else { + up = false; + } x = x+xStep; - noteY = y+note*staffWidth/2-3; - util.target.setXY(x, noteY); - this.penDown(args, util); - util.target.setXY(x+10, noteY+6); + ymid = y+note*staffWidth/2; + xmid = x - 8; + this.drawNote(xmid, ymid, duration, up, args, util); + + } + this.penUp(args, util); + } + drawNote(xmid, ymid, duration, up, args, util) { + xrad = 8; + yrad = 4; + if (up) { + flip = 1; + } else { + flip = -1; + } + step = Math.PI/100; + if (duration <= 1){ + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(xmid, ymid); + var x = xmid + xrad*Math.cos(theta); + var y = ymid - yrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + } else { + x = xmid + xrad; + y = ymid; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(x, y); + x = xmid + xrad*Math.cos(theta); + y = ymid - yrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + x = xmid + xrad-1; + y = ymid; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(x, y); + x = xmid + (xrad-1)*Math.cos(theta); + y = ymid - (yrad-1)*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + } + if (duration == 3) { + dotrad = 2; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(xmid+12, ymid); + var x = xmid + 12 + dotrad*Math.cos(theta); + var y = ymid - dotrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + } + if (duration != 4) { this.penUp(args, util); - util.target.setXY(x, noteY+6); + util.target.setXY(xmid+flip*xrad, ymid); this.penDown(args, util); - util.target.setXY(x+10, noteY); - + util.target.setXY(xmid+flip*xrad, ymid+flip*30); + } + if (duration < 1) { + offset = 0; + for (var i = 0; i < 1/(duration*2); i++) { + this.penUp(args, util); + util.target.setXY(xmid+flip*xrad, ymid+flip*(30+offset*6)); + this.penDown(args, util); + util.target.setXY(xmid+flip*xrad+2, ymid + flip*(30 + offset*6 - 8)); + util.target.setXY(xmid+flip*xrad+10, ymid + flip*(30 + offset*6 - 12)); + this.penUp(args, util); + util.target.setXY(xmid+flip*xrad, ymid+flip*(30+offset*6+2)); + this.penDown(args, util); + util.target.setXY(xmid+flip*xrad+2, ymid + flip*(30 + offset*6 - 8+2)); + util.target.setXY(xmid+flip*xrad+10, ymid + flip*(30 + offset*6 - 12+2)); + offset += 1; + this.penUp(args, util); + } } - this.penUp(args, util); } drawSignal(args, util) { @@ -599,7 +674,6 @@ class Scratch3SignalViz { * @param {object} util - utility object provided by the runtime. */ penDown (args, util) { - log.log("here now"); const target = util.target; const penState = this._getPenState(target); From 87f7d07029720c8187f255b45c44ade79ec0f901 Mon Sep 17 00:00:00 2001 From: nada Date: Thu, 28 Jan 2021 15:31:36 -0500 Subject: [PATCH 010/149] added bass clef --- .../extensions/scratch3_signalviz/index.js | 80 +++++++++++++++++-- 1 file changed, 72 insertions(+), 8 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js b/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js index 563006626..c1e535a89 100644 --- a/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js @@ -525,10 +525,74 @@ class Scratch3SignalViz { util.target.setXY(endX, y); y = y+8; } + this.drawTreble(args, util); + } + + drawTreble(args, util) { + xstart = -200; + ystart = -80; + treble = [[61.70984455958549, 316.77720207253884], [63.76683937823834, 321.919689119171], [67.88082901554404, 328.09067357512953], [76.10880829015544, 332.2046632124352], [83.30829015544042, 334.2616580310881], [93.59326424870466, 334.2616580310881], [102.84974093264249, 331.1761658031088], [111.07772020725389, 326.03367875647666], [113.13471502590673, 315.74870466321244], [116.220207253886, 304.43523316062175], [116.220207253886, 299.2927461139896], [116.220207253886, 291.06476683937825], [75.08031088082902, 69.93782383419689], [75.08031088082902, 65.82383419689118], [75.08031088082902, 56.567357512953365], [75.08031088082902, 47.310880829015545], [78.16580310880829, 39.082901554404145], [82.27979274611398, 31.88341968911917], [86.39378238341969, 25.712435233160623], [90.50777202072538, 18.512953367875646], [98.73575129533678, 15.427461139896373], [103.87823834196891, 19.541450777202073], [111.07772020725389, 26.740932642487046], [113.13471502590673, 37.02590673575129], [114.16321243523316, 48.339378238341965], [114.16321243523316, 59.65284974093264], [111.07772020725389, 69.93782383419689], [106.96373056994818, 81.25129533678756], [99.76424870466322, 89.47927461139896], [92.56476683937824, 99.76424870466322], [49.36787564766839, 143.9896373056995], [40.11139896373057, 154.2746113989637], [34.968911917098445, 168.67357512953367], [30.854922279792746, 187.1865284974093], [30.854922279792746, 199.52849740932643], [31.88341968911917, 211.87046632124353], [37.02590673575129, 222.15544041450778], [43.196891191709845, 231.4119170984456], [47.310880829015545, 237.58290155440415], [57.59585492227979, 244.78238341968913], [69.93782383419689, 253.0103626943005], [84.33678756476684, 255.06735751295335], [95.65025906735751, 256.0958549222798], [110.04922279792746, 254.03886010362694], [120.33419689119171, 245.81088082901553], [129.59067357512953, 235.52590673575128], [133.70466321243524, 219.0699481865285], [132.6761658031088, 208.78497409326425], [130.61917098445596, 201.58549222797927], [123.41968911917098, 193.35751295336786], [116.220207253886, 187.1865284974093], [102.84974093264249, 185.12953367875647], [91.53626943005182, 185.12953367875647], [80.22279792746114, 191.30051813471502], [75.08031088082902, 203.6424870466321], [74.05181347150258, 213.92746113989637], [77.13730569948186, 228.32642487046633], [85.36528497409326, 235.52590673575128]]; + //treble = symbols.treble; + this.penUp(args, util); + for (var i in treble) { + coord = treble[i]; + x = coord[0]/5 + xstart; + y = -coord[1]/5 + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + for (var i in treble) { + coord = treble[i]; + x = coord[0]/5 + xstart+1; + y = -coord[1]/5 + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + } + + drawBass(args, util) { + xstart = -205; + ystart = -95; + bass = [[114.27088036117382, 590.3995485327314], [128.98758465011286, 583.4740406320542], [145.43566591422123, 573.951467268623], [252.78103837471784, 505.5620767494357], [286.5428893905192, 475.2629796839729], [315.9762979683973, 453.62076749435664], [326.3645598194131, 440.6354401805869], [340.2155756207675, 422.4559819413093], [359.2607223476298, 395.6196388261851], [374.8431151241535, 368.78329571106093], [392.1568848758465, 343.6783295711061], [403.41083521444693, 321.1704288939052], [412.9334085778781, 283.9458239277652], [418.99322799097064, 257.97516930022573], [425.0530474040632, 225.07900677200902], [425.0530474040632, 199.97404063205417], [421.5902934537246, 177.46613995485328], [413.7990970654628, 147.16704288939053], [404.2765237020316, 123.79345372460497], [390.4255079006772, 100.41986455981942], [373.97742663656885, 82.24040632054177], [344.54401805869077, 56.269751693002256], [315.9762979683973, 46.747178329571106], [284.8115124153499, 42.418735891647856], [249.31828442437924, 45.88148984198646], [221.61625282167043, 54.53837471783296], [193.04853273137698, 68.38939051918736], [176.6004514672686, 80.50902934537247], [157.5553047404063, 104.74830699774266], [148.03273137697516, 132.45033860045146], [143.70428893905193, 161.88374717832957], [148.03273137697516, 181.79458239277653], [161.01805869074494, 206.8995485327314], [173.13769751693002, 217.28781038374717]]; + this.penUp(args, util); + for (var i in bass) { + coord = bass[i]; + x = coord[0]/17 + xstart; + y = -coord[1]/17 + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + for (var i in bass) { + coord = bass[i]; + x = coord[0]/17 + xstart+1; + y = -coord[1]/17 + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + r = 2; + xmid = -172; + ymid = -102; + ymid2 = -110; + step = Math.PI/100; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(xmid, ymid); + var x = xmid + r*Math.cos(theta); + var y = ymid - r*Math.sin(theta); + var y2 = ymid2 - r*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + this.penUp(args, util); + util.target.setXY(xmid, ymid2); + this.penDown(args, util); + util.target.setXY(x, y2); + } } drawMusic(args, util) { - x = -200; + x = -190; y = -130; staffWidth = 8; xStep = 40; @@ -559,7 +623,7 @@ class Scratch3SignalViz { flip = -1; } step = Math.PI/100; - if (duration <= 1){ + if (duration <= 1){ //draw solid note for sixteenth, eighth, and quarter notes for (var theta = 0; theta < 2*Math.PI; theta +=step) { this.penUp(args, util); util.target.setXY(xmid, ymid); @@ -568,7 +632,7 @@ class Scratch3SignalViz { this.penDown(args, util); util.target.setXY(x, y); } - } else { + } else { //draw hollow note for half, dotted half, and whole notes x = xmid + xrad; y = ymid; for (var theta = 0; theta < 2*Math.PI; theta +=step) { @@ -590,7 +654,7 @@ class Scratch3SignalViz { util.target.setXY(x, y); } } - if (duration == 3) { + if (duration == 3) { //add dot for dotted half note dotrad = 2; for (var theta = 0; theta < 2*Math.PI; theta +=step) { this.penUp(args, util); @@ -601,13 +665,13 @@ class Scratch3SignalViz { util.target.setXY(x, y); } } - if (duration != 4) { + if (duration != 4) { //add stem for non-whole notes this.penUp(args, util); util.target.setXY(xmid+flip*xrad, ymid); this.penDown(args, util); util.target.setXY(xmid+flip*xrad, ymid+flip*30); } - if (duration < 1) { + if (duration < 1) { //add tails for < quarter notes offset = 0; for (var i = 0; i < 1/(duration*2); i++) { this.penUp(args, util); @@ -618,8 +682,8 @@ class Scratch3SignalViz { this.penUp(args, util); util.target.setXY(xmid+flip*xrad, ymid+flip*(30+offset*6+2)); this.penDown(args, util); - util.target.setXY(xmid+flip*xrad+2, ymid + flip*(30 + offset*6 - 8+2)); - util.target.setXY(xmid+flip*xrad+10, ymid + flip*(30 + offset*6 - 12+2)); + util.target.setXY(xmid+flip*xrad+2, ymid + flip*(30 + offset*6 - 8+1)); + util.target.setXY(xmid+flip*xrad+10, ymid + flip*(30 + offset*6 - 12+1)); offset += 1; this.penUp(args, util); } From f63be36b24d386fcedfd3d5d0e98a589a0e6cabd Mon Sep 17 00:00:00 2001 From: nada Date: Wed, 3 Feb 2021 13:36:39 -0500 Subject: [PATCH 011/149] consolidating signal vis and music creation --- .../scratch3_musiccreation/index.js | 391 ++++++++++++++---- .../extensions/scratch3_signalviz/index.js | 66 +-- 2 files changed, 351 insertions(+), 106 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 59819c50c..ca23c8f02 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -6,6 +6,8 @@ const formatMessage = require('format-message'); const MathUtil = require('../../util/math-util'); const Timer = require('../../util/timer'); const log = require('../../util/log'); +const RenderedTarget = require('../../sprites/rendered-target'); +const StageLayering = require('../../engine/stage-layering'); const hrtime = require('browser-hrtime'); const mvae = require('@magenta/music/node/music_vae'); @@ -27,11 +29,12 @@ try { - class Scratch3MusicCreation { constructor (runtime) { this.runtime = runtime; + /* MUSIC CREATION */ + /** * An array of arrays of sound players. Each instrument has one or more audio players. * @type {Array[]} @@ -48,13 +51,6 @@ class Scratch3MusicCreation { this._loadAllSounds(); this.noteList = []; - log.log(this.noteList); - - this._onTargetCreated = this._onTargetCreated.bind(this); - this.runtime.on('targetWasCreated', this._onTargetCreated); - - this._playNoteForPicker = this._playNoteForPicker.bind(this); - this.runtime.on('PLAY_NOTE', this._playNoteForPicker); instrumentNames = this._buildMenu(this.INSTRUMENT_INFO); @@ -64,9 +60,122 @@ class Scratch3MusicCreation { {text: "mezzo-forte", value: 60}, {text: "forte", value: 85}, {text: "fortissimo", value: 100}]; - + this._playNoteForPicker = this._playNoteForPicker.bind(this); + this.runtime.on('PLAY_NOTE', this._playNoteForPicker); + + /* MUSIC VISUALIZATION */ + + /** + * The ID of the renderer Drawable corresponding to the pen layer. + * @type {int} + * @private + */ + this._penDrawableId = -1; + + /** + * The ID of the renderer Skin corresponding to the pen layer. + * @type {int} + * @private + */ + this._penSkinId = -1; + + this.axisStartX = -200; + this.axisStartY = -75; + this.xAxisLength = 400; + this.yAxisLength = 200; + this.staffLength = 400; + this.staffStartX = -200; + this.staffStartY = -130; + this.staffWidth = 8; + + this._onTargetCreated = this._onTargetCreated.bind(this); + this.runtime.on('targetWasCreated', this._onTargetCreated); + + this._onTargetMoved = this._onTargetMoved.bind(this); + + + //runtime.on('RUNTIME_DISPOSED', this.clear.bind(this)); + } + + + /** + * The key to load & store a target's music-related state. + * @type {string} + */ + static get STATE_KEY () { + return 'Scratch.musiccreation'; } + + + /** + * The default music-related state, to be used when a target has no existing music state. + * @type {MusicState} + */ + static get DEFAULT_MUSIC_STATE () { + return { + currentInstrument: 0 + }; + } + + /** + * The minimum and maximum MIDI note numbers, for clamping the input to play note. + * @type {{min: number, max: number}} + */ + static get MIDI_NOTE_RANGE () { + return {min: 0, max: 130}; + } + + /** + * The minimum and maximum beat values, for clamping the duration of play note, play drum and rest. + * 100 beats at the default tempo of 60bpm is 100 seconds. + * @type {{min: number, max: number}} + */ + static get BEAT_RANGE () { + return {min: 0, max: 100}; + } + + /** + * The maximum number of sounds to allow to play simultaneously. + * @type {number} + */ + static get CONCURRENCY_LIMIT () { + return 30; + } + + static get DEFAULT_PEN_STATE () { + return { + penDown: false, + color: 66.66, + saturation: 100, + brightness: 100, + transparency: 0, + _shade: 50, // Used only for legacy `change shade by` blocks + penAttributes: { + color4f: [0, 0, 1, 1], + diameter: 1 + } + }; + } + + _getPenLayerID () { + if (this._penSkinId < 0 && this.runtime.renderer) { + this._penSkinId = this.runtime.renderer.createPenSkin(); + this._penDrawableId = this.runtime.renderer.createDrawable(StageLayering.PEN_LAYER); + this.runtime.renderer.updateDrawableProperties(this._penDrawableId, {skinId: this._penSkinId}); + } + return this._penSkinId; + } + + _getPenState (target) { + let penState = target.getCustomState(Scratch3MusicCreation.STATE_KEY); + if (!penState) { + penState = Clone.simple(Scratch3MusicCreation.DEFAULT_PEN_STATE); + target.setCustomState(Scratch3MusicCreation.STATE_KEY, penState); + } + return penState; + } + /** * When a music-playing Target is cloned, clone the music state. @@ -84,6 +193,19 @@ class Scratch3MusicCreation { } } + _onTargetMoved (target, oldX, oldY, isForce) { + // Only move the pen if the movement isn't forced (ie. dragged). + if (!isForce) { + log.log(target); + const penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + const penState = this._getPenState(target); + this.runtime.renderer.penLine(penSkinId, penState.penAttributes, oldX, oldY, target.x, target.y); + this.runtime.requestRedraw(); + } + } + } + /** * Decode the full set of drum and instrument sounds, and store the audio buffers in arrays. @@ -124,6 +246,7 @@ class Scratch3MusicCreation { }); } + /** * Decode a sound and return a promise with the audio buffer. * @param {ArrayBuffer} soundBuffer - a buffer containing the encoded audio. @@ -156,49 +279,6 @@ class Scratch3MusicCreation { }); } - /** - * The key to load & store a target's music-related state. - * @type {string} - */ - static get STATE_KEY () { - return 'Scratch.musiccreation'; - } - - /** - * The default music-related state, to be used when a target has no existing music state. - * @type {MusicState} - */ - static get DEFAULT_MUSIC_STATE () { - return { - currentInstrument: 0 - }; - } - - /** - * The minimum and maximum MIDI note numbers, for clamping the input to play note. - * @type {{min: number, max: number}} - */ - static get MIDI_NOTE_RANGE () { - return {min: 0, max: 130}; - } - - /** - * The minimum and maximum beat values, for clamping the duration of play note, play drum and rest. - * 100 beats at the default tempo of 60bpm is 100 seconds. - * @type {{min: number, max: number}} - */ - static get BEAT_RANGE () { - return {min: 0, max: 100}; - } - - /** - * The maximum number of sounds to allow to play simultaneously. - * @type {number} - */ - static get CONCURRENCY_LIMIT () { - return 30; - } - /** * @param {Target} target - collect music state for this target. * @returns {MusicState} the mutable music state associated with that target. This will be created if necessary. @@ -410,6 +490,15 @@ class Scratch3MusicCreation { description: 'test Magenta MVAE' }), blockType: BlockType.COMMAND + }, + { + opcode: 'testSheetMusicViz', + text: formatMessage({ + id: 'musiccreation.testSheetMusicViz', + default: 'test sheet music viz', + description: 'test sheet music viz' + }), + blockType: BlockType.COMMAND } ], menus: { @@ -431,6 +520,176 @@ class Scratch3MusicCreation { }; } + penUp (args, util) { + const target = util.target; + const penState = this._getPenState(target); + + if (penState.penDown) { + penState.penDown = false; + target.removeListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + } + + penDown (args, util) { + const target = util.target; + const penState = this._getPenState(target); + log.log(penState); + + if (!penState.penDown) { + penState.penDown = true; + target.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + + const penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + this.runtime.renderer.penPoint(penSkinId, penState.penAttributes, target.x, target.y); + this.runtime.requestRedraw(); + } + } + + testSheetMusicViz (args, util) { + this.drawStaff(args, util); + this.drawMusic(args, util); + } + + drawStaff(args, util) { + var i; + startX = this.staffStartX; + endX = this.staffStartX+this.staffLength; + y = this.staffStartY; + yStep = this.staffWidth; + for (i = 0; i < 5; i++) { + log.log(i); + this.penUp(args, util); + util.target.setXY(startX, y); + this.penDown(args, util); + util.target.setXY(endX, y); + y = y+yStep; + } + this.drawTreble(args, util); + } + + drawTreble(args, util) { + xstart = -200; + ystart = -80; + treble = [[61.70984455958549, 316.77720207253884], [63.76683937823834, 321.919689119171], [67.88082901554404, 328.09067357512953], [76.10880829015544, 332.2046632124352], [83.30829015544042, 334.2616580310881], [93.59326424870466, 334.2616580310881], [102.84974093264249, 331.1761658031088], [111.07772020725389, 326.03367875647666], [113.13471502590673, 315.74870466321244], [116.220207253886, 304.43523316062175], [116.220207253886, 299.2927461139896], [116.220207253886, 291.06476683937825], [75.08031088082902, 69.93782383419689], [75.08031088082902, 65.82383419689118], [75.08031088082902, 56.567357512953365], [75.08031088082902, 47.310880829015545], [78.16580310880829, 39.082901554404145], [82.27979274611398, 31.88341968911917], [86.39378238341969, 25.712435233160623], [90.50777202072538, 18.512953367875646], [98.73575129533678, 15.427461139896373], [103.87823834196891, 19.541450777202073], [111.07772020725389, 26.740932642487046], [113.13471502590673, 37.02590673575129], [114.16321243523316, 48.339378238341965], [114.16321243523316, 59.65284974093264], [111.07772020725389, 69.93782383419689], [106.96373056994818, 81.25129533678756], [99.76424870466322, 89.47927461139896], [92.56476683937824, 99.76424870466322], [49.36787564766839, 143.9896373056995], [40.11139896373057, 154.2746113989637], [34.968911917098445, 168.67357512953367], [30.854922279792746, 187.1865284974093], [30.854922279792746, 199.52849740932643], [31.88341968911917, 211.87046632124353], [37.02590673575129, 222.15544041450778], [43.196891191709845, 231.4119170984456], [47.310880829015545, 237.58290155440415], [57.59585492227979, 244.78238341968913], [69.93782383419689, 253.0103626943005], [84.33678756476684, 255.06735751295335], [95.65025906735751, 256.0958549222798], [110.04922279792746, 254.03886010362694], [120.33419689119171, 245.81088082901553], [129.59067357512953, 235.52590673575128], [133.70466321243524, 219.0699481865285], [132.6761658031088, 208.78497409326425], [130.61917098445596, 201.58549222797927], [123.41968911917098, 193.35751295336786], [116.220207253886, 187.1865284974093], [102.84974093264249, 185.12953367875647], [91.53626943005182, 185.12953367875647], [80.22279792746114, 191.30051813471502], [75.08031088082902, 203.6424870466321], [74.05181347150258, 213.92746113989637], [77.13730569948186, 228.32642487046633], [85.36528497409326, 235.52590673575128]]; + //treble = symbols.treble; + this.penUp(args, util); + for (var i in treble) { + coord = treble[i]; + x = coord[0]/5 + xstart; + y = -coord[1]/5 + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + for (var i in treble) { + coord = treble[i]; + x = coord[0]/5 + xstart+1; + y = -coord[1]/5 + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + } + + drawMusic(args, util) { + x = -190; + y = -130; + xStep = 40; + signal = [[-1, 1/4], [7, 1/2], [7, 3], [8, 4], [3, 2], [2, 1]] + for (i in signal) { + note = signal[i][0]; + duration = signal[i][1]; + if (note <= 4) { + up = true; + } else { + up = false; + } + x = x+xStep; + ymid = y+note*this.staffWidth/2; + xmid = x - 8; + this.drawNote(xmid, ymid, duration, up, args, util); + + } + this.penUp(args, util); + } + + drawNote(xmid, ymid, duration, up, args, util) { + xrad = 8; + yrad = 4; + if (up) { + flip = 1; + } else { + flip = -1; + } + step = Math.PI/100; + if (duration <= 1){ //draw solid note for sixteenth, eighth, and quarter notes + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(xmid, ymid); + var x = xmid + xrad*Math.cos(theta); + var y = ymid - yrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + } else { //draw hollow note for half, dotted half, and whole notes + x = xmid + xrad; + y = ymid; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(x, y); + x = xmid + xrad*Math.cos(theta); + y = ymid - yrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + x = xmid + xrad-1; + y = ymid; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(x, y); + x = xmid + (xrad-1)*Math.cos(theta); + y = ymid - (yrad-1)*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + } + if (duration == 3) { //add dot for dotted half note + dotrad = 2; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(xmid+12, ymid); + var x = xmid + 12 + dotrad*Math.cos(theta); + var y = ymid - dotrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + } + if (duration != 4) { //add stem for non-whole notes + this.penUp(args, util); + util.target.setXY(xmid+flip*xrad, ymid); + this.penDown(args, util); + util.target.setXY(xmid+flip*xrad, ymid+flip*30); + } + if (duration < 1) { //add tails for < quarter notes + offset = 0; + for (var i = 0; i < 1/(duration*2); i++) { + this.penUp(args, util); + util.target.setXY(xmid+flip*xrad, ymid+flip*(30+offset*6)); + this.penDown(args, util); + util.target.setXY(xmid+flip*xrad+2, ymid + flip*(30 + offset*6 - 8)); + util.target.setXY(xmid+flip*xrad+10, ymid + flip*(30 + offset*6 - 12)); + this.penUp(args, util); + util.target.setXY(xmid+flip*xrad, ymid+flip*(30+offset*6+2)); + this.penDown(args, util); + util.target.setXY(xmid+flip*xrad+2, ymid + flip*(30 + offset*6 - 8+1)); + util.target.setXY(xmid+flip*xrad+10, ymid + flip*(30 + offset*6 - 12+1)); + offset += 1; + this.penUp(args, util); + } + } + } + findInstrumentForNumber (number) { for (var m in instrumentNames) { if (instrumentNames[m].value == number) { @@ -645,33 +904,7 @@ class Scratch3MusicCreation { recordNotes (args, util) { for (var n in this.nodeList) { this.playNote(args, util); - } - /* - if (this._stackTimerNeedsInit(util)) { - for (var n in this.noteList) { - note = this.noteList[n]; - log.log(note); - let note = Cast.toNumber(note); - log.log(note); - note = MathUtil.clamp(note, - Scratch3MusicCreation.MIDI_NOTE_RANGE.min, Scratch3MusicCreation.MIDI_NOTE_RANGE.max); - log.log(note); - let beats = Cast.toNumber(args.SECS); - beats = this._clampBeats(beats); - // If the duration is 0, do not play the note. In Scratch 2.0, "play drum for 0 beats" plays the drum, - // but "play note for 0 beats" is silent. - if (beats === 0) return; - - const durationSec = beats; - - this._playNote(util, note, durationSec); - - this._startStackTimer(util, durationSec); - } - } else { - this._checkStackTimer(util); - } - */ + } } playNote (args, util) { diff --git a/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js b/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js index c1e535a89..b36e414f9 100644 --- a/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_signalviz/index.js @@ -62,6 +62,16 @@ class Scratch3SignalViz { runtime.on('targetWasCreated', this._onTargetCreated); runtime.on('RUNTIME_DISPOSED', this.clear.bind(this)); + + this.axisStartX = -200; + this.axisStartY = -75; + this.xAxisLength = 400; + this.yAxisLength = 200; + this.staffLength = 400; + this.staffStartX = -200; + this.staffStartY = -130; + this.staffWidth = 8; + } /** @@ -99,7 +109,7 @@ class Scratch3SignalViz { * @type {string} */ static get STATE_KEY () { - return 'Scratch.pen'; + return 'Scratch.signalviz'; } /** @@ -175,6 +185,7 @@ class Scratch3SignalViz { _onTargetMoved (target, oldX, oldY, isForce) { // Only move the pen if the movement isn't forced (ie. dragged). if (!isForce) { + log.log(target); const penSkinId = this._getPenLayerID(); if (penSkinId >= 0) { const penState = this._getPenState(target); @@ -505,25 +516,44 @@ class Scratch3SignalViz { } drawAxes(args, util) { - util.target.setXY(-200, 130); + util.target.setXY(this.axisStartX, this.axisStartY + this.yAxisLength); this.penDown(args, util); - util.target.setXY(-200, -150); - util.target.setXY(200, -150); + util.target.setXY(this.axisStartX, this.axisStartY); + util.target.setXY(this.axisStartX+this.xAxisLength, this.axisStartY); + this.penUp(args, util); + } + + drawSignal(args, util) { + x = this.axisStartX; + y = this.axisStartY; + signal = [1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6]; + log.log(signal); + xStep = Math.floor(this.xAxisLength/(signal.length-1)); + heightScaling = Math.round(this.yAxisLength/Math.max(...signal)); + for (i in signal) { + val = signal[i]; + this.penUp(args, util) + util.target.setXY(x, y); + this.penDown(args, util); + util.target.setXY(x, y+val*heightScaling); + x = x+xStep; + } this.penUp(args, util); } drawStaff(args, util) { var i; - startX = -200; - endX = 200; - y = -130; + startX = this.staffStartX; + endX = this.staffStartX+this.staffLength; + y = this.staffStartY; + yStep = this.staffWidth; for (i = 0; i < 5; i++) { log.log(i); this.penUp(args, util); util.target.setXY(startX, y); this.penDown(args, util); util.target.setXY(endX, y); - y = y+8; + y = y+yStep; } this.drawTreble(args, util); } @@ -594,7 +624,6 @@ class Scratch3SignalViz { drawMusic(args, util) { x = -190; y = -130; - staffWidth = 8; xStep = 40; signal = [[-1, 1/4], [7, 1/2], [7, 3], [8, 4], [3, 2], [2, 1]] for (i in signal) { @@ -606,7 +635,7 @@ class Scratch3SignalViz { up = false; } x = x+xStep; - ymid = y+note*staffWidth/2; + ymid = y+note*this.staffWidth/2; xmid = x - 8; this.drawNote(xmid, ymid, duration, up, args, util); @@ -690,23 +719,6 @@ class Scratch3SignalViz { } } - drawSignal(args, util) { - x = -200; - y = -150; - signal = [1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6]; - log.log(signal); - for (i in signal) { - val = signal[i]; - this.penUp(args, util) - x = x+10; - util.target.setXY(x, y); - this.penDown(args, util); - util.target.setXY(x, y+val*25); - - } - this.penUp(args, util); - } - /** * The pen "clear" block clears the pen layer's contents. */ From 6e3bd6c1b47254884f6e0c6ebaeb2da712382335 Mon Sep 17 00:00:00 2001 From: nada Date: Wed, 3 Feb 2021 14:22:34 -0500 Subject: [PATCH 012/149] created symbols file --- .../scratch3_musiccreation/index.js | 53 +++++++++++++++++-- .../scratch3_musiccreation/symbols.js | 3 ++ 2 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index ca23c8f02..257f3d20c 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -13,6 +13,7 @@ const hrtime = require('browser-hrtime'); const mvae = require('@magenta/music/node/music_vae'); const core = require('@magenta/music/node/core'); const rnn = require('@magenta/music/node/music_rnn'); +const symbols = require('./symbols'); /** @@ -196,7 +197,6 @@ class Scratch3MusicCreation { _onTargetMoved (target, oldX, oldY, isForce) { // Only move the pen if the movement isn't forced (ie. dragged). if (!isForce) { - log.log(target); const penSkinId = this._getPenLayerID(); if (penSkinId >= 0) { const penState = this._getPenState(target); @@ -499,7 +499,17 @@ class Scratch3MusicCreation { description: 'test sheet music viz' }), blockType: BlockType.COMMAND - } + }, + { + opcode: 'testWaveformViz', + text: formatMessage({ + id: 'musiccreation.testWaveformViz', + default: 'test waveform viz', + description: 'test waveform viz' + }), + blockType: BlockType.COMMAND + }, + ], menus: { volumes: { @@ -533,7 +543,6 @@ class Scratch3MusicCreation { penDown (args, util) { const target = util.target; const penState = this._getPenState(target); - log.log(penState); if (!penState.penDown) { penState.penDown = true; @@ -547,11 +556,42 @@ class Scratch3MusicCreation { } } + testWaveformViz (args, util) { + this.drawAxes(args, util); + this.drawSignal(args, util); + } + testSheetMusicViz (args, util) { this.drawStaff(args, util); this.drawMusic(args, util); } + drawAxes(args, util) { + util.target.setXY(this.axisStartX, this.axisStartY + this.yAxisLength); + this.penDown(args, util); + util.target.setXY(this.axisStartX, this.axisStartY); + util.target.setXY(this.axisStartX+this.xAxisLength, this.axisStartY); + this.penUp(args, util); + } + + drawSignal(args, util) { + x = this.axisStartX; + y = this.axisStartY; + signal = [1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6]; + log.log(signal); + xStep = Math.floor(this.xAxisLength/(signal.length-1)); + heightScaling = Math.round(this.yAxisLength/Math.max(...signal)); + for (i in signal) { + val = signal[i]; + this.penUp(args, util) + util.target.setXY(x, y); + this.penDown(args, util); + util.target.setXY(x, y+val*heightScaling); + x = x+xStep; + } + this.penUp(args, util); + } + drawStaff(args, util) { var i; startX = this.staffStartX; @@ -572,8 +612,9 @@ class Scratch3MusicCreation { drawTreble(args, util) { xstart = -200; ystart = -80; - treble = [[61.70984455958549, 316.77720207253884], [63.76683937823834, 321.919689119171], [67.88082901554404, 328.09067357512953], [76.10880829015544, 332.2046632124352], [83.30829015544042, 334.2616580310881], [93.59326424870466, 334.2616580310881], [102.84974093264249, 331.1761658031088], [111.07772020725389, 326.03367875647666], [113.13471502590673, 315.74870466321244], [116.220207253886, 304.43523316062175], [116.220207253886, 299.2927461139896], [116.220207253886, 291.06476683937825], [75.08031088082902, 69.93782383419689], [75.08031088082902, 65.82383419689118], [75.08031088082902, 56.567357512953365], [75.08031088082902, 47.310880829015545], [78.16580310880829, 39.082901554404145], [82.27979274611398, 31.88341968911917], [86.39378238341969, 25.712435233160623], [90.50777202072538, 18.512953367875646], [98.73575129533678, 15.427461139896373], [103.87823834196891, 19.541450777202073], [111.07772020725389, 26.740932642487046], [113.13471502590673, 37.02590673575129], [114.16321243523316, 48.339378238341965], [114.16321243523316, 59.65284974093264], [111.07772020725389, 69.93782383419689], [106.96373056994818, 81.25129533678756], [99.76424870466322, 89.47927461139896], [92.56476683937824, 99.76424870466322], [49.36787564766839, 143.9896373056995], [40.11139896373057, 154.2746113989637], [34.968911917098445, 168.67357512953367], [30.854922279792746, 187.1865284974093], [30.854922279792746, 199.52849740932643], [31.88341968911917, 211.87046632124353], [37.02590673575129, 222.15544041450778], [43.196891191709845, 231.4119170984456], [47.310880829015545, 237.58290155440415], [57.59585492227979, 244.78238341968913], [69.93782383419689, 253.0103626943005], [84.33678756476684, 255.06735751295335], [95.65025906735751, 256.0958549222798], [110.04922279792746, 254.03886010362694], [120.33419689119171, 245.81088082901553], [129.59067357512953, 235.52590673575128], [133.70466321243524, 219.0699481865285], [132.6761658031088, 208.78497409326425], [130.61917098445596, 201.58549222797927], [123.41968911917098, 193.35751295336786], [116.220207253886, 187.1865284974093], [102.84974093264249, 185.12953367875647], [91.53626943005182, 185.12953367875647], [80.22279792746114, 191.30051813471502], [75.08031088082902, 203.6424870466321], [74.05181347150258, 213.92746113989637], [77.13730569948186, 228.32642487046633], [85.36528497409326, 235.52590673575128]]; - //treble = symbols.treble; + //treble = [[61.70984455958549, 316.77720207253884], [63.76683937823834, 321.919689119171], [67.88082901554404, 328.09067357512953], [76.10880829015544, 332.2046632124352], [83.30829015544042, 334.2616580310881], [93.59326424870466, 334.2616580310881], [102.84974093264249, 331.1761658031088], [111.07772020725389, 326.03367875647666], [113.13471502590673, 315.74870466321244], [116.220207253886, 304.43523316062175], [116.220207253886, 299.2927461139896], [116.220207253886, 291.06476683937825], [75.08031088082902, 69.93782383419689], [75.08031088082902, 65.82383419689118], [75.08031088082902, 56.567357512953365], [75.08031088082902, 47.310880829015545], [78.16580310880829, 39.082901554404145], [82.27979274611398, 31.88341968911917], [86.39378238341969, 25.712435233160623], [90.50777202072538, 18.512953367875646], [98.73575129533678, 15.427461139896373], [103.87823834196891, 19.541450777202073], [111.07772020725389, 26.740932642487046], [113.13471502590673, 37.02590673575129], [114.16321243523316, 48.339378238341965], [114.16321243523316, 59.65284974093264], [111.07772020725389, 69.93782383419689], [106.96373056994818, 81.25129533678756], [99.76424870466322, 89.47927461139896], [92.56476683937824, 99.76424870466322], [49.36787564766839, 143.9896373056995], [40.11139896373057, 154.2746113989637], [34.968911917098445, 168.67357512953367], [30.854922279792746, 187.1865284974093], [30.854922279792746, 199.52849740932643], [31.88341968911917, 211.87046632124353], [37.02590673575129, 222.15544041450778], [43.196891191709845, 231.4119170984456], [47.310880829015545, 237.58290155440415], [57.59585492227979, 244.78238341968913], [69.93782383419689, 253.0103626943005], [84.33678756476684, 255.06735751295335], [95.65025906735751, 256.0958549222798], [110.04922279792746, 254.03886010362694], [120.33419689119171, 245.81088082901553], [129.59067357512953, 235.52590673575128], [133.70466321243524, 219.0699481865285], [132.6761658031088, 208.78497409326425], [130.61917098445596, 201.58549222797927], [123.41968911917098, 193.35751295336786], [116.220207253886, 187.1865284974093], [102.84974093264249, 185.12953367875647], [91.53626943005182, 185.12953367875647], [80.22279792746114, 191.30051813471502], [75.08031088082902, 203.6424870466321], [74.05181347150258, 213.92746113989637], [77.13730569948186, 228.32642487046633], [85.36528497409326, 235.52590673575128]]; + treble = symbols.treble; + log.log('did it through symbols'); this.penUp(args, util); for (var i in treble) { coord = treble[i]; @@ -916,6 +957,8 @@ class Scratch3MusicCreation { Scratch3MusicCreation.MIDI_NOTE_RANGE.min, Scratch3MusicCreation.MIDI_NOTE_RANGE.max); let beats = Cast.toNumber(args.SECS); beats = this._clampBeats(beats); + this.noteList.push([note, beats]); + log.log(this.noteList); // If the duration is 0, do not play the note. In Scratch 2.0, "play drum for 0 beats" plays the drum, // but "play note for 0 beats" is silent. if (beats === 0) return; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js new file mode 100644 index 000000000..9235dd618 --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js @@ -0,0 +1,3 @@ +module.exports = { + 'treble': [[61.70984455958549, 316.77720207253884], [63.76683937823834, 321.919689119171], [67.88082901554404, 328.09067357512953], [76.10880829015544, 332.2046632124352], [83.30829015544042, 334.2616580310881], [93.59326424870466, 334.2616580310881], [102.84974093264249, 331.1761658031088], [111.07772020725389, 326.03367875647666], [113.13471502590673, 315.74870466321244], [116.220207253886, 304.43523316062175], [116.220207253886, 299.2927461139896], [116.220207253886, 291.06476683937825], [75.08031088082902, 69.93782383419689], [75.08031088082902, 65.82383419689118], [75.08031088082902, 56.567357512953365], [75.08031088082902, 47.310880829015545], [78.16580310880829, 39.082901554404145], [82.27979274611398, 31.88341968911917], [86.39378238341969, 25.712435233160623], [90.50777202072538, 18.512953367875646], [98.73575129533678, 15.427461139896373], [103.87823834196891, 19.541450777202073], [111.07772020725389, 26.740932642487046], [113.13471502590673, 37.02590673575129], [114.16321243523316, 48.339378238341965], [114.16321243523316, 59.65284974093264], [111.07772020725389, 69.93782383419689], [106.96373056994818, 81.25129533678756], [99.76424870466322, 89.47927461139896], [92.56476683937824, 99.76424870466322], [49.36787564766839, 143.9896373056995], [40.11139896373057, 154.2746113989637], [34.968911917098445, 168.67357512953367], [30.854922279792746, 187.1865284974093], [30.854922279792746, 199.52849740932643], [31.88341968911917, 211.87046632124353], [37.02590673575129, 222.15544041450778], [43.196891191709845, 231.4119170984456], [47.310880829015545, 237.58290155440415], [57.59585492227979, 244.78238341968913], [69.93782383419689, 253.0103626943005], [84.33678756476684, 255.06735751295335], [95.65025906735751, 256.0958549222798], [110.04922279792746, 254.03886010362694], [120.33419689119171, 245.81088082901553], [129.59067357512953, 235.52590673575128], [133.70466321243524, 219.0699481865285], [132.6761658031088, 208.78497409326425], [130.61917098445596, 201.58549222797927], [123.41968911917098, 193.35751295336786], [116.220207253886, 187.1865284974093], [102.84974093264249, 185.12953367875647], [91.53626943005182, 185.12953367875647], [80.22279792746114, 191.30051813471502], [75.08031088082902, 203.6424870466321], [74.05181347150258, 213.92746113989637], [77.13730569948186, 228.32642487046633], [85.36528497409326, 235.52590673575128]] +} \ No newline at end of file From 57c78b8c460910abd7de917f37b986b125e13860 Mon Sep 17 00:00:00 2001 From: nada Date: Thu, 4 Feb 2021 00:23:15 -0500 Subject: [PATCH 013/149] synchronous viz + music playing worksgit add packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js :) --- .../scratch3_musiccreation/index.js | 140 ++++++++++++++---- 1 file changed, 114 insertions(+), 26 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 257f3d20c..6557f0347 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -62,6 +62,54 @@ class Scratch3MusicCreation { {text: "forte", value: 85}, {text: "fortissimo", value: 100}]; + pitchToLetter = { + 60: "C1", + 61: "C1 #", + 62: "D", + 63: "Eb", + 64: "E", + 65: "F", + 66: "F #", + 67: "G", + 68: "G #", + 69: "A", + 70: "B b", + 71: "B", + 72: "C", + 73: "C #" + } + + letterToStaff = { + "C": -2, + "D": -1, + "E": 0, + "F": 1, + "G": 2, + "A": 3, + "B": 4, + "C": 5 + + } + + pitchToStaff = { + 60: -2, + 61: -2, + 62: -1, + 63: 0, + 64: 0, + 65: 2, + 66: 2, + 67: 3, + 68: 3, + 69: 4, + 70: 5, + 71: 5, + 72: 6, + 73: 6, + 75: 7, + 76: 8 + } + this._playNoteForPicker = this._playNoteForPicker.bind(this); this.runtime.on('PLAY_NOTE', this._playNoteForPicker); @@ -94,9 +142,6 @@ class Scratch3MusicCreation { this.runtime.on('targetWasCreated', this._onTargetCreated); this._onTargetMoved = this._onTargetMoved.bind(this); - - - //runtime.on('RUNTIME_DISPOSED', this.clear.bind(this)); } @@ -107,6 +152,14 @@ class Scratch3MusicCreation { static get STATE_KEY () { return 'Scratch.musiccreation'; } + + /** + * The key to load & store a target's music-related state. + * @type {string} + */ + static get VIZ_STATE_KEY () { + return 'Scratch.musicviz'; + } /** @@ -144,6 +197,16 @@ class Scratch3MusicCreation { return 30; } + /** + * The minimum and maximum allowed pen size. + * The maximum is twice the diagonal of the stage, so that even an + * off-stage sprite can fill it. + * @type {{min: number, max: number}} + */ + static get PEN_SIZE_RANGE () { + return {min: 1, max: 1200}; + } + static get DEFAULT_PEN_STATE () { return { penDown: false, @@ -169,10 +232,10 @@ class Scratch3MusicCreation { } _getPenState (target) { - let penState = target.getCustomState(Scratch3MusicCreation.STATE_KEY); + let penState = target.getCustomState(Scratch3MusicCreation.VIZ_STATE_KEY); if (!penState) { penState = Clone.simple(Scratch3MusicCreation.DEFAULT_PEN_STATE); - target.setCustomState(Scratch3MusicCreation.STATE_KEY, penState); + target.setCustomState(Scratch3MusicCreation.VIZ_STATE_KEY, penState); } return penState; } @@ -191,6 +254,13 @@ class Scratch3MusicCreation { if (musicState) { newTarget.setCustomState(Scratch3MusicCreation.STATE_KEY, Clone.simple(musicState)); } + const penState = sourceTarget.getCustomState(Scratch3MusicCreation.VIZ_STATE_KEY); + if (penState) { + newTarget.setCustomState(Scratch3MusicCreation.VIZ_STATE_KEY, Clone.simple(penState)); + if (penState.penDown) { + newTarget.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + } } } @@ -531,37 +601,35 @@ class Scratch3MusicCreation { } penUp (args, util) { - const target = util.target; - const penState = this._getPenState(target); - + const penState = this._getPenState(util.target); if (penState.penDown) { penState.penDown = false; - target.removeListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + util.target.removeListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); } } penDown (args, util) { - const target = util.target; - const penState = this._getPenState(target); - + const penState = this._getPenState(util.target); if (!penState.penDown) { penState.penDown = true; - target.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + util.target.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); } const penSkinId = this._getPenLayerID(); if (penSkinId >= 0) { - this.runtime.renderer.penPoint(penSkinId, penState.penAttributes, target.x, target.y); + this.runtime.renderer.penPoint(penSkinId, penState.penAttributes, util.target.x, util.target.y); this.runtime.requestRedraw(); } } testWaveformViz (args, util) { + this.clear(); this.drawAxes(args, util); this.drawSignal(args, util); } testSheetMusicViz (args, util) { + this.clear(); this.drawStaff(args, util); this.drawMusic(args, util); } @@ -578,7 +646,7 @@ class Scratch3MusicCreation { x = this.axisStartX; y = this.axisStartY; signal = [1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6]; - log.log(signal); + xStep = Math.floor(this.xAxisLength/(signal.length-1)); heightScaling = Math.round(this.yAxisLength/Math.max(...signal)); for (i in signal) { @@ -599,7 +667,6 @@ class Scratch3MusicCreation { y = this.staffStartY; yStep = this.staffWidth; for (i = 0; i < 5; i++) { - log.log(i); this.penUp(args, util); util.target.setXY(startX, y); this.penDown(args, util); @@ -612,9 +679,7 @@ class Scratch3MusicCreation { drawTreble(args, util) { xstart = -200; ystart = -80; - //treble = [[61.70984455958549, 316.77720207253884], [63.76683937823834, 321.919689119171], [67.88082901554404, 328.09067357512953], [76.10880829015544, 332.2046632124352], [83.30829015544042, 334.2616580310881], [93.59326424870466, 334.2616580310881], [102.84974093264249, 331.1761658031088], [111.07772020725389, 326.03367875647666], [113.13471502590673, 315.74870466321244], [116.220207253886, 304.43523316062175], [116.220207253886, 299.2927461139896], [116.220207253886, 291.06476683937825], [75.08031088082902, 69.93782383419689], [75.08031088082902, 65.82383419689118], [75.08031088082902, 56.567357512953365], [75.08031088082902, 47.310880829015545], [78.16580310880829, 39.082901554404145], [82.27979274611398, 31.88341968911917], [86.39378238341969, 25.712435233160623], [90.50777202072538, 18.512953367875646], [98.73575129533678, 15.427461139896373], [103.87823834196891, 19.541450777202073], [111.07772020725389, 26.740932642487046], [113.13471502590673, 37.02590673575129], [114.16321243523316, 48.339378238341965], [114.16321243523316, 59.65284974093264], [111.07772020725389, 69.93782383419689], [106.96373056994818, 81.25129533678756], [99.76424870466322, 89.47927461139896], [92.56476683937824, 99.76424870466322], [49.36787564766839, 143.9896373056995], [40.11139896373057, 154.2746113989637], [34.968911917098445, 168.67357512953367], [30.854922279792746, 187.1865284974093], [30.854922279792746, 199.52849740932643], [31.88341968911917, 211.87046632124353], [37.02590673575129, 222.15544041450778], [43.196891191709845, 231.4119170984456], [47.310880829015545, 237.58290155440415], [57.59585492227979, 244.78238341968913], [69.93782383419689, 253.0103626943005], [84.33678756476684, 255.06735751295335], [95.65025906735751, 256.0958549222798], [110.04922279792746, 254.03886010362694], [120.33419689119171, 245.81088082901553], [129.59067357512953, 235.52590673575128], [133.70466321243524, 219.0699481865285], [132.6761658031088, 208.78497409326425], [130.61917098445596, 201.58549222797927], [123.41968911917098, 193.35751295336786], [116.220207253886, 187.1865284974093], [102.84974093264249, 185.12953367875647], [91.53626943005182, 185.12953367875647], [80.22279792746114, 191.30051813471502], [75.08031088082902, 203.6424870466321], [74.05181347150258, 213.92746113989637], [77.13730569948186, 228.32642487046633], [85.36528497409326, 235.52590673575128]]; treble = symbols.treble; - log.log('did it through symbols'); this.penUp(args, util); for (var i in treble) { coord = treble[i]; @@ -633,11 +698,25 @@ class Scratch3MusicCreation { } } + convertSignalToMusicList (args, util) { + signal = []; + for (var i in this.noteList) { + freq = this.noteList[i][0]; + staff = pitchToStaff[freq]; + dur = this.noteList[i][1]*4 ; + signal.push([staff, dur]); + } + this.noteList = []; + return signal; + } + drawMusic(args, util) { x = -190; y = -130; xStep = 40; - signal = [[-1, 1/4], [7, 1/2], [7, 3], [8, 4], [3, 2], [2, 1]] + signal = this.noteList; + log.log(this.noteList); + signal = this.convertSignalToMusicList(args, util); for (i in signal) { note = signal[i][0]; duration = signal[i][1]; @@ -731,6 +810,17 @@ class Scratch3MusicCreation { } } + /** + * The pen "clear" block clears the pen layer's contents. + */ + clear () { + const penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + this.runtime.renderer.penClear(penSkinId); + this.runtime.requestRedraw(); + } + } + findInstrumentForNumber (number) { for (var m in instrumentNames) { if (instrumentNames[m].value == number) { @@ -773,7 +863,6 @@ class Scratch3MusicCreation { const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); player.start(TWINKLE_TWINKLE); player.stop(); - log.log(TWINKLE_TWINKLE); } testMagentaRNN (utils) { @@ -885,8 +974,6 @@ class Scratch3MusicCreation { runtime: this.runtime, target: this.runtime.getEditingTarget() }; - this.noteList.push(noteNum); - log.log(this.noteList); this._playNote(util, noteNum, 0.25); } @@ -949,16 +1036,17 @@ class Scratch3MusicCreation { } playNote (args, util) { - log.log("here"); + log.log(util.target); if (this._stackTimerNeedsInit(util)) { let note = Cast.toNumber(args.NOTE); - log.log(args.NOTE); note = MathUtil.clamp(note, Scratch3MusicCreation.MIDI_NOTE_RANGE.min, Scratch3MusicCreation.MIDI_NOTE_RANGE.max); let beats = Cast.toNumber(args.SECS); beats = this._clampBeats(beats); this.noteList.push([note, beats]); - log.log(this.noteList); + for (var i in this.noteList) { + log.log(this.noteList[i]); + } // If the duration is 0, do not play the note. In Scratch 2.0, "play drum for 0 beats" plays the drum, // but "play note for 0 beats" is silent. if (beats === 0) return; @@ -993,6 +1081,7 @@ class Scratch3MusicCreation { // Determine which of the audio samples for this instrument to play const musicState = this._getMusicState(util.target); + log.log(musicState); const inst = musicState.currentInstrument; const instrumentInfo = this.INSTRUMENT_INFO[inst]; const sampleArray = instrumentInfo.samples; @@ -1091,7 +1180,6 @@ class Scratch3MusicCreation { saveFile (args) { const text = Cast.toString(args.FILENAME); - log.log(text); } /** From 1f2b9bcc840a73a609e2b780822cb2dee6c9eb05 Mon Sep 17 00:00:00 2001 From: nada Date: Fri, 5 Feb 2021 20:56:28 -0500 Subject: [PATCH 014/149] split up viz functions into new file --- .../scratch3_musiccreation/index.js | 352 +---------------- .../scratch3_musiccreation/vizhelpers.js | 363 ++++++++++++++++++ 2 files changed, 368 insertions(+), 347 deletions(-) create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 6557f0347..93c4da6b6 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -14,6 +14,7 @@ const mvae = require('@magenta/music/node/music_vae'); const core = require('@magenta/music/node/core'); const rnn = require('@magenta/music/node/music_rnn'); const symbols = require('./symbols'); +const VizHelpers = require('./vizhelpers'); /** @@ -43,6 +44,8 @@ class Scratch3MusicCreation { */ this._instrumentPlayerArrays = []; + this.vizHelper = new VizHelpers(runtime); + /** * An array of arrays of sound players. Each instrument mya have an audio player for each playable note. * @type {Array[]} @@ -62,86 +65,13 @@ class Scratch3MusicCreation { {text: "forte", value: 85}, {text: "fortissimo", value: 100}]; - pitchToLetter = { - 60: "C1", - 61: "C1 #", - 62: "D", - 63: "Eb", - 64: "E", - 65: "F", - 66: "F #", - 67: "G", - 68: "G #", - 69: "A", - 70: "B b", - 71: "B", - 72: "C", - 73: "C #" - } - - letterToStaff = { - "C": -2, - "D": -1, - "E": 0, - "F": 1, - "G": 2, - "A": 3, - "B": 4, - "C": 5 - - } - - pitchToStaff = { - 60: -2, - 61: -2, - 62: -1, - 63: 0, - 64: 0, - 65: 2, - 66: 2, - 67: 3, - 68: 3, - 69: 4, - 70: 5, - 71: 5, - 72: 6, - 73: 6, - 75: 7, - 76: 8 - } this._playNoteForPicker = this._playNoteForPicker.bind(this); this.runtime.on('PLAY_NOTE', this._playNoteForPicker); - /* MUSIC VISUALIZATION */ - - /** - * The ID of the renderer Drawable corresponding to the pen layer. - * @type {int} - * @private - */ - this._penDrawableId = -1; - - /** - * The ID of the renderer Skin corresponding to the pen layer. - * @type {int} - * @private - */ - this._penSkinId = -1; - - this.axisStartX = -200; - this.axisStartY = -75; - this.xAxisLength = 400; - this.yAxisLength = 200; - this.staffLength = 400; - this.staffStartX = -200; - this.staffStartY = -130; - this.staffWidth = 8; - this._onTargetCreated = this._onTargetCreated.bind(this); this.runtime.on('targetWasCreated', this._onTargetCreated); - this._onTargetMoved = this._onTargetMoved.bind(this); } @@ -152,14 +82,6 @@ class Scratch3MusicCreation { static get STATE_KEY () { return 'Scratch.musiccreation'; } - - /** - * The key to load & store a target's music-related state. - * @type {string} - */ - static get VIZ_STATE_KEY () { - return 'Scratch.musicviz'; - } /** @@ -206,39 +128,6 @@ class Scratch3MusicCreation { static get PEN_SIZE_RANGE () { return {min: 1, max: 1200}; } - - static get DEFAULT_PEN_STATE () { - return { - penDown: false, - color: 66.66, - saturation: 100, - brightness: 100, - transparency: 0, - _shade: 50, // Used only for legacy `change shade by` blocks - penAttributes: { - color4f: [0, 0, 1, 1], - diameter: 1 - } - }; - } - - _getPenLayerID () { - if (this._penSkinId < 0 && this.runtime.renderer) { - this._penSkinId = this.runtime.renderer.createPenSkin(); - this._penDrawableId = this.runtime.renderer.createDrawable(StageLayering.PEN_LAYER); - this.runtime.renderer.updateDrawableProperties(this._penDrawableId, {skinId: this._penSkinId}); - } - return this._penSkinId; - } - - _getPenState (target) { - let penState = target.getCustomState(Scratch3MusicCreation.VIZ_STATE_KEY); - if (!penState) { - penState = Clone.simple(Scratch3MusicCreation.DEFAULT_PEN_STATE); - target.setCustomState(Scratch3MusicCreation.VIZ_STATE_KEY, penState); - } - return penState; - } /** @@ -254,25 +143,6 @@ class Scratch3MusicCreation { if (musicState) { newTarget.setCustomState(Scratch3MusicCreation.STATE_KEY, Clone.simple(musicState)); } - const penState = sourceTarget.getCustomState(Scratch3MusicCreation.VIZ_STATE_KEY); - if (penState) { - newTarget.setCustomState(Scratch3MusicCreation.VIZ_STATE_KEY, Clone.simple(penState)); - if (penState.penDown) { - newTarget.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); - } - } - } - } - - _onTargetMoved (target, oldX, oldY, isForce) { - // Only move the pen if the movement isn't forced (ie. dragged). - if (!isForce) { - const penSkinId = this._getPenLayerID(); - if (penSkinId >= 0) { - const penState = this._getPenState(target); - this.runtime.renderer.penLine(penSkinId, penState.penAttributes, oldX, oldY, target.x, target.y); - this.runtime.requestRedraw(); - } } } @@ -600,225 +470,13 @@ class Scratch3MusicCreation { }; } - penUp (args, util) { - const penState = this._getPenState(util.target); - if (penState.penDown) { - penState.penDown = false; - util.target.removeListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); - } - } - - penDown (args, util) { - const penState = this._getPenState(util.target); - if (!penState.penDown) { - penState.penDown = true; - util.target.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); - } - - const penSkinId = this._getPenLayerID(); - if (penSkinId >= 0) { - this.runtime.renderer.penPoint(penSkinId, penState.penAttributes, util.target.x, util.target.y); - this.runtime.requestRedraw(); - } - } - testWaveformViz (args, util) { - this.clear(); - this.drawAxes(args, util); - this.drawSignal(args, util); + this.vizHelper.testWaveformViz(args, util); } testSheetMusicViz (args, util) { - this.clear(); - this.drawStaff(args, util); - this.drawMusic(args, util); - } - - drawAxes(args, util) { - util.target.setXY(this.axisStartX, this.axisStartY + this.yAxisLength); - this.penDown(args, util); - util.target.setXY(this.axisStartX, this.axisStartY); - util.target.setXY(this.axisStartX+this.xAxisLength, this.axisStartY); - this.penUp(args, util); - } - - drawSignal(args, util) { - x = this.axisStartX; - y = this.axisStartY; - signal = [1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6]; - - xStep = Math.floor(this.xAxisLength/(signal.length-1)); - heightScaling = Math.round(this.yAxisLength/Math.max(...signal)); - for (i in signal) { - val = signal[i]; - this.penUp(args, util) - util.target.setXY(x, y); - this.penDown(args, util); - util.target.setXY(x, y+val*heightScaling); - x = x+xStep; - } - this.penUp(args, util); - } - - drawStaff(args, util) { - var i; - startX = this.staffStartX; - endX = this.staffStartX+this.staffLength; - y = this.staffStartY; - yStep = this.staffWidth; - for (i = 0; i < 5; i++) { - this.penUp(args, util); - util.target.setXY(startX, y); - this.penDown(args, util); - util.target.setXY(endX, y); - y = y+yStep; - } - this.drawTreble(args, util); - } - - drawTreble(args, util) { - xstart = -200; - ystart = -80; - treble = symbols.treble; - this.penUp(args, util); - for (var i in treble) { - coord = treble[i]; - x = coord[0]/5 + xstart; - y = -coord[1]/5 + ystart; - util.target.setXY(x, y); - this.penDown(args, util); - } - this.penUp(args, util); - for (var i in treble) { - coord = treble[i]; - x = coord[0]/5 + xstart+1; - y = -coord[1]/5 + ystart; - util.target.setXY(x, y); - this.penDown(args, util); - } - } - - convertSignalToMusicList (args, util) { - signal = []; - for (var i in this.noteList) { - freq = this.noteList[i][0]; - staff = pitchToStaff[freq]; - dur = this.noteList[i][1]*4 ; - signal.push([staff, dur]); - } + this.vizHelper.testSheetMusicViz(this.noteList, args, util); this.noteList = []; - return signal; - } - - drawMusic(args, util) { - x = -190; - y = -130; - xStep = 40; - signal = this.noteList; - log.log(this.noteList); - signal = this.convertSignalToMusicList(args, util); - for (i in signal) { - note = signal[i][0]; - duration = signal[i][1]; - if (note <= 4) { - up = true; - } else { - up = false; - } - x = x+xStep; - ymid = y+note*this.staffWidth/2; - xmid = x - 8; - this.drawNote(xmid, ymid, duration, up, args, util); - - } - this.penUp(args, util); - } - - drawNote(xmid, ymid, duration, up, args, util) { - xrad = 8; - yrad = 4; - if (up) { - flip = 1; - } else { - flip = -1; - } - step = Math.PI/100; - if (duration <= 1){ //draw solid note for sixteenth, eighth, and quarter notes - for (var theta = 0; theta < 2*Math.PI; theta +=step) { - this.penUp(args, util); - util.target.setXY(xmid, ymid); - var x = xmid + xrad*Math.cos(theta); - var y = ymid - yrad*Math.sin(theta); - this.penDown(args, util); - util.target.setXY(x, y); - } - } else { //draw hollow note for half, dotted half, and whole notes - x = xmid + xrad; - y = ymid; - for (var theta = 0; theta < 2*Math.PI; theta +=step) { - this.penUp(args, util); - util.target.setXY(x, y); - x = xmid + xrad*Math.cos(theta); - y = ymid - yrad*Math.sin(theta); - this.penDown(args, util); - util.target.setXY(x, y); - } - x = xmid + xrad-1; - y = ymid; - for (var theta = 0; theta < 2*Math.PI; theta +=step) { - this.penUp(args, util); - util.target.setXY(x, y); - x = xmid + (xrad-1)*Math.cos(theta); - y = ymid - (yrad-1)*Math.sin(theta); - this.penDown(args, util); - util.target.setXY(x, y); - } - } - if (duration == 3) { //add dot for dotted half note - dotrad = 2; - for (var theta = 0; theta < 2*Math.PI; theta +=step) { - this.penUp(args, util); - util.target.setXY(xmid+12, ymid); - var x = xmid + 12 + dotrad*Math.cos(theta); - var y = ymid - dotrad*Math.sin(theta); - this.penDown(args, util); - util.target.setXY(x, y); - } - } - if (duration != 4) { //add stem for non-whole notes - this.penUp(args, util); - util.target.setXY(xmid+flip*xrad, ymid); - this.penDown(args, util); - util.target.setXY(xmid+flip*xrad, ymid+flip*30); - } - if (duration < 1) { //add tails for < quarter notes - offset = 0; - for (var i = 0; i < 1/(duration*2); i++) { - this.penUp(args, util); - util.target.setXY(xmid+flip*xrad, ymid+flip*(30+offset*6)); - this.penDown(args, util); - util.target.setXY(xmid+flip*xrad+2, ymid + flip*(30 + offset*6 - 8)); - util.target.setXY(xmid+flip*xrad+10, ymid + flip*(30 + offset*6 - 12)); - this.penUp(args, util); - util.target.setXY(xmid+flip*xrad, ymid+flip*(30+offset*6+2)); - this.penDown(args, util); - util.target.setXY(xmid+flip*xrad+2, ymid + flip*(30 + offset*6 - 8+1)); - util.target.setXY(xmid+flip*xrad+10, ymid + flip*(30 + offset*6 - 12+1)); - offset += 1; - this.penUp(args, util); - } - } - } - - /** - * The pen "clear" block clears the pen layer's contents. - */ - clear () { - const penSkinId = this._getPenLayerID(); - if (penSkinId >= 0) { - this.runtime.renderer.penClear(penSkinId); - this.runtime.requestRedraw(); - } } findInstrumentForNumber (number) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js new file mode 100644 index 000000000..7850b6f87 --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -0,0 +1,363 @@ +const ArgumentType = require('../../extension-support/argument-type'); +const BlockType = require('../../extension-support/block-type'); +const Clone = require('../../util/clone'); +const Cast = require('../../util/cast'); +const formatMessage = require('format-message'); +const MathUtil = require('../../util/math-util'); +const Timer = require('../../util/timer'); +const log = require('../../util/log'); +const RenderedTarget = require('../../sprites/rendered-target'); +const StageLayering = require('../../engine/stage-layering'); + +const symbols = require('./symbols'); + +class VizHelpers { + constructor (runtime) { + this.runtime = runtime; + + /** + * The ID of the renderer Skin corresponding to the pen layer. + * @type {int} + * @private + */ + this._penSkinId = -1; + + /** + * The ID of the renderer Drawable corresponding to the pen layer. + * @type {int} + * @private + */ + this._penDrawableId = -1; + + this.noteList = []; + + this.axisStartX = -200; + this.axisStartY = -75; + this.xAxisLength = 400; + this.yAxisLength = 200; + this.staffLength = 400; + this.staffStartX = -200; + this.staffStartY = -130; + this.staffWidth = 8; + + this._onTargetCreated = this._onTargetCreated.bind(this); + this.runtime.on('targetWasCreated', this._onTargetCreated); + + this._onTargetMoved = this._onTargetMoved.bind(this); + + pitchToStaff = { + 60: -2, + 61: -2, + 62: -1, + 63: 0, + 64: 0, + 65: 2, + 66: 2, + 67: 3, + 68: 3, + 69: 4, + 70: 5, + 71: 5, + 72: 6, + 73: 6, + 75: 7, + 76: 8 + } + } + + /** + * The key to load & store a target's music-related state. + * @type {string} + */ + static get VIZ_STATE_KEY () { + return 'Scratch.musicviz'; + } + + static get DEFAULT_PEN_STATE () { + return { + penDown: false, + color: 66.66, + saturation: 100, + brightness: 100, + transparency: 0, + _shade: 50, // Used only for legacy `change shade by` blocks + penAttributes: { + color4f: [0, 0, 1, 1], + diameter: 1 + } + }; + } + + /** + * When a music-playing Target is cloned, clone the music state. + * @param {Target} newTarget - the newly created target. + * @param {Target} [sourceTarget] - the target used as a source for the new clone, if any. + * @listens Runtime#event:targetWasCreated + * @private + */ + _onTargetCreated (newTarget, sourceTarget) { + if (sourceTarget) { + const penState = sourceTarget.getCustomState(VizHelpers.VIZ_STATE_KEY); + if (penState) { + newTarget.setCustomState(VizHelpers.VIZ_STATE_KEY, Clone.simple(penState)); + if (penState.penDown) { + newTarget.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + } + } + } + + _onTargetMoved (target, oldX, oldY, isForce) { + // Only move the pen if the movement isn't forced (ie. dragged). + if (!isForce) { + const penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + const penState = this._getPenState(target); + this.runtime.renderer.penLine(penSkinId, penState.penAttributes, oldX, oldY, target.x, target.y); + this.runtime.requestRedraw(); + } + } + } + + _getPenLayerID () { + if (this._penSkinId < 0 && this.runtime.renderer) { + this._penSkinId = this.runtime.renderer.createPenSkin(); + this._penDrawableId = this.runtime.renderer.createDrawable(StageLayering.PEN_LAYER); + this.runtime.renderer.updateDrawableProperties(this._penDrawableId, {skinId: this._penSkinId}); + } + return this._penSkinId; + } + + _getPenState (target) { + let penState = target.getCustomState(VizHelpers.VIZ_STATE_KEY); + if (!penState) { + penState = Clone.simple(VizHelpers.DEFAULT_PEN_STATE); + target.setCustomState(VizHelpers.VIZ_STATE_KEY, penState); + } + return penState; + } + + testWaveformViz (args, util) { + log.log("HELPER"); + this.clear(); + this.drawAxes(args, util); + this.drawSignal(args, util); + } + + testSheetMusicViz (noteList, args, util) { + this.noteList = noteList; + log.log("HELPER"); + this.clear(); + this.drawStaff(args, util); + this.drawMusic(args, util); + } + + drawAxes(args, util) { + util.target.setXY(this.axisStartX, this.axisStartY + this.yAxisLength); + this.penDown(args, util); + util.target.setXY(this.axisStartX, this.axisStartY); + util.target.setXY(this.axisStartX+this.xAxisLength, this.axisStartY); + this.penUp(args, util); + } + + drawSignal(args, util) { + x = this.axisStartX; + y = this.axisStartY; + signal = [1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6]; + + xStep = Math.floor(this.xAxisLength/(signal.length-1)); + heightScaling = Math.round(this.yAxisLength/Math.max(...signal)); + for (i in signal) { + val = signal[i]; + this.penUp(args, util) + util.target.setXY(x, y); + this.penDown(args, util); + util.target.setXY(x, y+val*heightScaling); + x = x+xStep; + } + this.penUp(args, util); + } + + drawStaff(args, util) { + startX = this.staffStartX; + endX = this.staffStartX+this.staffLength; + y = this.staffStartY; + yStep = this.staffWidth; + for (var i = 0; i < 5; i++) { + this.penUp(args, util); + util.target.setXY(startX, y); + this.penDown(args, util); + util.target.setXY(endX, y); + y = y+yStep; + } + this.drawTreble(args, util); + } + + drawTreble(args, util) { + xstart = -200; + ystart = -80; + treble = symbols.treble; + this.penUp(args, util); + for (var i in treble) { + coord = treble[i]; + x = coord[0]/5 + xstart; + y = -coord[1]/5 + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + for (var i in treble) { + coord = treble[i]; + x = coord[0]/5 + xstart+1; + y = -coord[1]/5 + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + } + + drawMusic(args, util) { + x = -190; + y = -130; + xStep = 40; + signal = this.convertSignalToMusicList(args, util); + for (i in signal) { + note = signal[i][0]; + duration = signal[i][1]; + if (note <= 4) { + up = true; + } else { + up = false; + } + x = x+xStep; + ymid = y+note*this.staffWidth/2; + xmid = x - 8; + this.drawNote(xmid, ymid, duration, up, args, util); + + } + this.penUp(args, util); + } + + drawNote(xmid, ymid, duration, up, args, util) { + xrad = 8; + yrad = 4; + if (up) { + flip = 1; + } else { + flip = -1; + } + step = Math.PI/100; + if (duration <= 1){ //draw solid note for sixteenth, eighth, and quarter notes + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(xmid, ymid); + var x = xmid + xrad*Math.cos(theta); + var y = ymid - yrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + } else { //draw hollow note for half, dotted half, and whole notes + x = xmid + xrad; + y = ymid; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(x, y); + x = xmid + xrad*Math.cos(theta); + y = ymid - yrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + x = xmid + xrad-1; + y = ymid; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(x, y); + x = xmid + (xrad-1)*Math.cos(theta); + y = ymid - (yrad-1)*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + } + if (duration == 3) { //add dot for dotted half note + dotrad = 2; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(xmid+12, ymid); + var x = xmid + 12 + dotrad*Math.cos(theta); + var y = ymid - dotrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + } + if (duration != 4) { //add stem for non-whole notes + this.penUp(args, util); + util.target.setXY(xmid+flip*xrad, ymid); + this.penDown(args, util); + util.target.setXY(xmid+flip*xrad, ymid+flip*30); + } + if (duration < 1) { //add tails for < quarter notes + offset = 0; + for (var i = 0; i < 1/(duration*2); i++) { + this.penUp(args, util); + util.target.setXY(xmid+flip*xrad, ymid+flip*(30+offset*6)); + this.penDown(args, util); + util.target.setXY(xmid+flip*xrad+2, ymid + flip*(30 + offset*6 - 8)); + util.target.setXY(xmid+flip*xrad+10, ymid + flip*(30 + offset*6 - 12)); + this.penUp(args, util); + util.target.setXY(xmid+flip*xrad, ymid+flip*(30+offset*6+2)); + this.penDown(args, util); + util.target.setXY(xmid+flip*xrad+2, ymid + flip*(30 + offset*6 - 8+1)); + util.target.setXY(xmid+flip*xrad+10, ymid + flip*(30 + offset*6 - 12+1)); + offset += 1; + this.penUp(args, util); + } + } + } + + convertSignalToMusicList (args, util) { + signal = []; + for (var i in this.noteList) { + freq = this.noteList[i][0]; + staff = pitchToStaff[freq]; + dur = this.noteList[i][1]*4 ; + signal.push([staff, dur]); + } + this.noteList = []; + return signal; + } + + penUp (args, util) { + const penState = this._getPenState(util.target); + if (penState.penDown) { + penState.penDown = false; + util.target.removeListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + } + + penDown (args, util) { + const penState = this._getPenState(util.target); + if (!penState.penDown) { + penState.penDown = true; + util.target.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + + const penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + this.runtime.renderer.penPoint(penSkinId, penState.penAttributes, util.target.x, util.target.y); + this.runtime.requestRedraw(); + } + } + + /** + * The pen "clear" block clears the pen layer's contents. + */ + clear () { + const penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + this.runtime.renderer.penClear(penSkinId); + this.runtime.requestRedraw(); + } + } + +} + +module.exports = VizHelpers; \ No newline at end of file From cf870007b0f6295833d918641355622c23891d6f Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 7 Feb 2021 13:20:51 -0500 Subject: [PATCH 015/149] refactored into subclasses for each module --- .../scratch3_musiccreation/index.js | 543 +---------------- .../musicaccompanimenthelpers.js | 90 +++ .../musiccreationhelpers.js | 547 ++++++++++++++++++ .../scratch3_musiccreation/vizhelpers.js | 18 +- 4 files changed, 671 insertions(+), 527 deletions(-) create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 93c4da6b6..f75cbbae8 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -3,31 +3,11 @@ const BlockType = require('../../extension-support/block-type'); const Clone = require('../../util/clone'); const Cast = require('../../util/cast'); const formatMessage = require('format-message'); -const MathUtil = require('../../util/math-util'); -const Timer = require('../../util/timer'); const log = require('../../util/log'); -const RenderedTarget = require('../../sprites/rendered-target'); -const StageLayering = require('../../engine/stage-layering'); - -const hrtime = require('browser-hrtime'); -const mvae = require('@magenta/music/node/music_vae'); -const core = require('@magenta/music/node/core'); -const rnn = require('@magenta/music/node/music_rnn'); -const symbols = require('./symbols'); -const VizHelpers = require('./vizhelpers'); - - -/** - * The instrument and drum sounds, loaded as static assets. - * @type {object} - */ -let assetData = {}; -try { - assetData = require('./manifest'); -} catch (e) { - // Non-webpack environment, don't worry about assets. -} +const VizHelpers = require('./vizhelpers'); +const MusicCreationHelpers = require('./musiccreationhelpers'); +const MusicAccompanimentHelpers = require('./musicaccompanimenthelpers'); @@ -35,30 +15,14 @@ class Scratch3MusicCreation { constructor (runtime) { this.runtime = runtime; - /* MUSIC CREATION */ - - /** - * An array of arrays of sound players. Each instrument has one or more audio players. - * @type {Array[]} - * @private - */ - this._instrumentPlayerArrays = []; - this.vizHelper = new VizHelpers(runtime); + this.musicCreationHelper = new MusicCreationHelpers(runtime); + this.musicAccompanimentHelper = new MusicAccompanimentHelpers(runtime); - /** - * An array of arrays of sound players. Each instrument mya have an audio player for each playable note. - * @type {Array[]} - * @private - */ - this._instrumentPlayerNoteArrays = []; - this._loadAllSounds(); this.noteList = []; - - instrumentNames = this._buildMenu(this.INSTRUMENT_INFO); - volumes = [{text: "pianissimo", value: 15}, + this.volumes = [{text: "pianissimo", value: 15}, {text: "piano", value: 30}, {text: "mezzo-piano", value: 45}, {text: "mezzo-forte", value: 60}, @@ -82,53 +46,6 @@ class Scratch3MusicCreation { static get STATE_KEY () { return 'Scratch.musiccreation'; } - - - /** - * The default music-related state, to be used when a target has no existing music state. - * @type {MusicState} - */ - static get DEFAULT_MUSIC_STATE () { - return { - currentInstrument: 0 - }; - } - - /** - * The minimum and maximum MIDI note numbers, for clamping the input to play note. - * @type {{min: number, max: number}} - */ - static get MIDI_NOTE_RANGE () { - return {min: 0, max: 130}; - } - - /** - * The minimum and maximum beat values, for clamping the duration of play note, play drum and rest. - * 100 beats at the default tempo of 60bpm is 100 seconds. - * @type {{min: number, max: number}} - */ - static get BEAT_RANGE () { - return {min: 0, max: 100}; - } - - /** - * The maximum number of sounds to allow to play simultaneously. - * @type {number} - */ - static get CONCURRENCY_LIMIT () { - return 30; - } - - /** - * The minimum and maximum allowed pen size. - * The maximum is twice the diagonal of the stage, so that even an - * off-stage sprite can fill it. - * @type {{min: number, max: number}} - */ - static get PEN_SIZE_RANGE () { - return {min: 1, max: 1200}; - } - /** * When a music-playing Target is cloned, clone the music state. @@ -146,63 +63,6 @@ class Scratch3MusicCreation { } } - - /** - * Decode the full set of drum and instrument sounds, and store the audio buffers in arrays. - */ - _loadAllSounds () { - const loadingPromises = []; - this.INSTRUMENT_INFO.forEach((instrumentInfo, instrumentIndex) => { - this._instrumentPlayerArrays[instrumentIndex] = []; - this._instrumentPlayerNoteArrays[instrumentIndex] = []; - instrumentInfo.samples.forEach((sample, noteIndex) => { - const filePath = `instruments/${instrumentInfo.dirName}/${sample}`; - const promise = this._storeSound(filePath, noteIndex, this._instrumentPlayerArrays[instrumentIndex]); - loadingPromises.push(promise); - }); - }); - Promise.all(loadingPromises).then(() => { - // @TODO: Update the extension status indicator. - }); - } - - /** - * Decode a sound and store the player in an array. - * @param {string} filePath - the audio file name. - * @param {number} index - the index at which to store the audio player. - * @param {array} playerArray - the array of players in which to store it. - * @return {Promise} - a promise which will resolve once the sound has been stored. - */ - _storeSound (filePath, index, playerArray) { - const fullPath = `${filePath}.mp3`; - - if (!assetData[fullPath]) return; - - // The sound player has already been downloaded via the manifest file required above. - const soundBuffer = assetData[fullPath]; - - return this._decodeSound(soundBuffer).then(player => { - playerArray[index] = player; - }); - } - - - /** - * Decode a sound and return a promise with the audio buffer. - * @param {ArrayBuffer} soundBuffer - a buffer containing the encoded audio. - * @return {Promise} - a promise which will resolve once the sound has decoded. - */ - _decodeSound (soundBuffer) { - const engine = this.runtime.audioEngine; - - if (!engine) { - return Promise.reject(new Error('No Audio Context Detected')); - } - - // Check for newer promise-based API - return engine.decodeSoundPlayer({data: {buffer: soundBuffer}}); - } - /** * Create data for a menu in scratch-blocks format, consisting of an array of objects with text and * value properties. The text is a translated string, and the value is one-indexed. @@ -219,20 +79,6 @@ class Scratch3MusicCreation { }); } - /** - * @param {Target} target - collect music state for this target. - * @returns {MusicState} the mutable music state associated with that target. This will be created if necessary. - * @private - */ - _getMusicState (target) { - let musicState = target.getCustomState(Scratch3MusicCreation.STATE_KEY); - if (!musicState) { - musicState = Clone.simple(Scratch3MusicCreation.DEFAULT_MUSIC_STATE); - target.setCustomState(Scratch3MusicCreation.STATE_KEY, musicState); - } - return musicState; - } - /** * An array of info about each instrument. @@ -341,7 +187,7 @@ class Scratch3MusicCreation { VOLUME: { type: ArgumentType.NUMBER, defaultValue: 60, - menu: "volumes" + menu: "VOLUME" } } }, @@ -452,15 +298,9 @@ class Scratch3MusicCreation { ], menus: { - volumes: { + VOLUME: { acceptReporters: true, - items: [ - {text: "pianissimo", value: 15}, - {text: "piano", value: 30}, - {text: "mezzo-piano", value: 45}, - {text: "mezzo-forte", value: 60}, - {text: "forte", value: 85}, - {text: "fortissimo", value: 100}] + items: this.volumes }, INSTRUMENT: { acceptReporters: true, @@ -479,15 +319,6 @@ class Scratch3MusicCreation { this.noteList = []; } - findInstrumentForNumber (number) { - for (var m in instrumentNames) { - if (instrumentNames[m].value == number) { - return instrumentNames[m].text; - } - } - return "Piano"; - } - /** * Select an instrument for playing notes. * @param {object} args - the block arguments. @@ -495,136 +326,25 @@ class Scratch3MusicCreation { * @property {int} INSTRUMENT - the number of the instrument to select. */ setInstrument (args, util) { - this._setInstrument(args.INSTRUMENT, util, false); + this.musicCreationHelper._setInstrument(args.INSTRUMENT, util, false); } testMagentaPlayer (util) { - TWINKLE_TWINKLE = { - notes: [ - {pitch: 60, startTime: 0.0, endTime: 0.5}, - {pitch: 60, startTime: 0.5, endTime: 1.0}, - {pitch: 67, startTime: 1.0, endTime: 1.5}, - {pitch: 67, startTime: 1.5, endTime: 2.0}, - {pitch: 69, startTime: 2.0, endTime: 2.5}, - {pitch: 69, startTime: 2.5, endTime: 3.0}, - {pitch: 67, startTime: 3.0, endTime: 4.0}, - {pitch: 65, startTime: 4.0, endTime: 4.5}, - {pitch: 65, startTime: 4.5, endTime: 5.0}, - {pitch: 64, startTime: 5.0, endTime: 5.5}, - {pitch: 64, startTime: 5.5, endTime: 6.0}, - {pitch: 62, startTime: 6.0, endTime: 6.5}, - {pitch: 62, startTime: 6.5, endTime: 7.0}, - {pitch: 60, startTime: 7.0, endTime: 8.0}, - ], - totalTime: 8 - }; - const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); - player.start(TWINKLE_TWINKLE); - player.stop(); + this.musicAccompanimentHelper.testMagentaPlayer(util); } testMagentaRNN (utils) { - TWINKLE_TWINKLE = { - notes: [ - {pitch: 60, startTime: 0.0, endTime: 0.5}, - {pitch: 60, startTime: 0.5, endTime: 1.0}, - {pitch: 67, startTime: 1.0, endTime: 1.5}, - {pitch: 67, startTime: 1.5, endTime: 2.0}, - {pitch: 69, startTime: 2.0, endTime: 2.5}, - {pitch: 69, startTime: 2.5, endTime: 3.0}, - {pitch: 67, startTime: 3.0, endTime: 4.0}, - {pitch: 65, startTime: 4.0, endTime: 4.5}, - {pitch: 65, startTime: 4.5, endTime: 5.0}, - {pitch: 64, startTime: 5.0, endTime: 5.5}, - {pitch: 64, startTime: 5.5, endTime: 6.0}, - {pitch: 62, startTime: 6.0, endTime: 6.5}, - {pitch: 62, startTime: 6.5, endTime: 7.0}, - {pitch: 60, startTime: 7.0, endTime: 8.0}, - ], - totalTime: 8 - }; - const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); - if (player.isPlaying()) { - player.stop(); - return; - } - music_rnn = new rnn.MusicRNN('https://storage.googleapis.com/magentadata/js/checkpoints/music_rnn/basic_rnn'); - music_rnn.initialize(); - rnn_steps = 20; - rnn_temperature = 1.5; - - const qns = core.sequences.quantizeNoteSequence(TWINKLE_TWINKLE, 4); - music_rnn - .continueSequence(qns, rnn_steps, rnn_temperature) - .then((sample) => player.start(sample)); - log.log(TWINKLE_TWINKLE); + this.musicAccompanimentHelper.testMagentaRNN(utils); } testMagentaMVAE (utils) { - TWINKLE_TWINKLE = { - notes: [ - {pitch: 60, startTime: 0.0, endTime: 0.5}, - {pitch: 60, startTime: 0.5, endTime: 1.0}, - {pitch: 67, startTime: 1.0, endTime: 1.5}, - {pitch: 67, startTime: 1.5, endTime: 2.0}, - {pitch: 69, startTime: 2.0, endTime: 2.5}, - {pitch: 69, startTime: 2.5, endTime: 3.0}, - {pitch: 67, startTime: 3.0, endTime: 4.0}, - {pitch: 65, startTime: 4.0, endTime: 4.5}, - {pitch: 65, startTime: 4.5, endTime: 5.0}, - {pitch: 64, startTime: 5.0, endTime: 5.5}, - {pitch: 64, startTime: 5.5, endTime: 6.0}, - {pitch: 62, startTime: 6.0, endTime: 6.5}, - {pitch: 62, startTime: 6.5, endTime: 7.0}, - {pitch: 60, startTime: 7.0, endTime: 8.0}, - ], - totalTime: 8 - }; - const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); - if (player.isPlaying()) { - player.stop(); - return; - } - music_vae = new mvae.MusicVAE('https://storage.googleapis.com/magentadata/js/checkpoints/music_vae/mel_4bar_small_q2'); - music_vae.initialize(); - vae_temperature = 1.5; - - music_vae - .sample(1, vae_temperature) - .then((sample) => player.start(sample[0])); - log.log(TWINKLE_TWINKLE); + this.musicAccompanimentHelper.testMagentaMVAE(utils); } getInstrument (util) { - const stage = this.runtime.getTargetForStage(); - if (stage) { - if (!stage.instrument) { - stage.instrument = "Piano"; - } - return stage.instrument; - } - return 0; + return this.musicCreationHelper.getInstrument(util); } - /** - * Internal code to select an instrument for playing notes. If mapMidi is true, set the instrument according to - * the MIDI to Scratch instrument mapping. - * @param {number} instNum - the instrument number. - * @param {object} util - utility object provided by the runtime. - * @param {boolean} mapMidi - whether or not instNum is a MIDI instrument number. - */ - _setInstrument (instNum, util, mapMidi) { - const musicState = this._getMusicState(util.target); - instNum = Cast.toNumber(instNum); - instNum = Math.round(instNum); - const stage = this.runtime.getTargetForStage(); - if (stage) { - stage.instrument = this.findInstrumentForNumber(instNum); - } - instNum -= 1; // instruments are one-indexed - instNum = MathUtil.wrapClamp(instNum, 0, this.INSTRUMENT_INFO.length - 1); - musicState.currentInstrument = instNum; - } _playNoteForPicker (noteNum, category) { if (category !== this.getInfo().name) return; @@ -632,23 +352,7 @@ class Scratch3MusicCreation { runtime: this.runtime, target: this.runtime.getEditingTarget() }; - this._playNote(util, noteNum, 0.25); - } - - _syncEffectsForTarget (target) { - if (!target || !target.sprite.soundBank) return; - target.soundEffects = this._getSoundState(target).effects; - - target.sprite.soundBank.setEffects(target); - } - - findVolumeForNumber (number) { - for (var m in volumes) { - if (volumes[m].value == number) { - return volumes[m].text; - } - } - return "mezzo-forte"; + this.musicCreationHelper._playNote(util, noteNum, 0.25); } /** @@ -658,233 +362,32 @@ class Scratch3MusicCreation { */ setVolume (args, util) { const volume = Cast.toNumber(args.VOLUME); - this._updateVolume(volume, util); - } - - - /** - * Update the current tempo, clamping it to the min and max allowable range. - * @param {number} tempo - the tempo to set, in beats per minute. - * @private - */ - _updateVolume (volume, util) { - volume = MathUtil.clamp(volume, 0, 100); - util.target.volume = volume; - const stage = this.runtime.getTargetForStage(); - if (stage) { - stage.volume = this.findVolumeForNumber(volume); - } + this.musicCreationHelper._updateVolume(volume, util); } getVolume () { - const stage = this.runtime.getTargetForStage(); - if (stage) { - if (stage.volume == 100) { - stage.volume = "fortissimo"; - } - return stage.volume; - } - return "mezzo-forte"; + return this.musicCreationHelper.getVolume(); } + //TODO recordNotes (args, util) { - for (var n in this.nodeList) { + for (var n in this.noteList) { this.playNote(args, util); } } playNote (args, util) { - log.log(util.target); - if (this._stackTimerNeedsInit(util)) { - let note = Cast.toNumber(args.NOTE); - note = MathUtil.clamp(note, - Scratch3MusicCreation.MIDI_NOTE_RANGE.min, Scratch3MusicCreation.MIDI_NOTE_RANGE.max); - let beats = Cast.toNumber(args.SECS); - beats = this._clampBeats(beats); - this.noteList.push([note, beats]); - for (var i in this.noteList) { - log.log(this.noteList[i]); - } - // If the duration is 0, do not play the note. In Scratch 2.0, "play drum for 0 beats" plays the drum, - // but "play note for 0 beats" is silent. - if (beats === 0) return; - - const durationSec = beats; - - this._playNote(util, note, durationSec); - - this._startStackTimer(util, durationSec); - } else { - this._checkStackTimer(util); - } - } - - /** - * Play a note using the current instrument for a duration in seconds. - * This function actually plays the sound, and handles the timing of the sound, including the - * "release" portion of the sound, which continues briefly after the block execution has finished. - * @param {object} util - utility object provided by the runtime. - * @param {number} note - the pitch of the note to play, interpreted as a MIDI note number. - * @param {number} durationSec - the duration in seconds to play the note. - * @private - */ - _playNote (util, note, durationSec) { - if (util.runtime.audioEngine === null) return; - if (util.target.sprite.soundBank === null) return; - - // If we're playing too many sounds, do not play the note. - if (this._concurrencyCounter > Scratch3MusicCreation.CONCURRENCY_LIMIT) { - return; - } - - // Determine which of the audio samples for this instrument to play - const musicState = this._getMusicState(util.target); - log.log(musicState); - const inst = musicState.currentInstrument; - const instrumentInfo = this.INSTRUMENT_INFO[inst]; - const sampleArray = instrumentInfo.samples; - const sampleIndex = this._selectSampleIndexForNote(note, sampleArray); - - // If the audio sample has not loaded yet, bail out - if (typeof this._instrumentPlayerArrays[inst] === 'undefined') return; - if (typeof this._instrumentPlayerArrays[inst][sampleIndex] === 'undefined') return; - - // Fetch the sound player to play the note. - const engine = util.runtime.audioEngine; - - if (!this._instrumentPlayerNoteArrays[inst][note]) { - this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); - } - - const player = this._instrumentPlayerNoteArrays[inst][note]; - - if (player.isPlaying && !player.isStarting) { - // Take the internal player state and create a new player with it. - // `.play` does this internally but then instructs the sound to - // stop. - player.take(); - } - - // Set its pitch. - const sampleNote = sampleArray[sampleIndex]; - const notePitchInterval = this._ratioForPitchInterval(note - sampleNote); - - // Create gain nodes for this note's volume and release, and chain them - // to the output. - const context = engine.audioContext; - const volumeGain = context.createGain(); - volumeGain.gain.setValueAtTime(util.target.volume / 100, engine.currentTime); - const releaseGain = context.createGain(); - volumeGain.connect(releaseGain); - releaseGain.connect(engine.getInputNode()); - - // Schedule the release of the note, ramping its gain down to zero, - // and then stopping the sound. - let releaseDuration = this.INSTRUMENT_INFO[inst].releaseTime; - if (typeof releaseDuration === 'undefined') { - releaseDuration = 0.01; - } - const releaseStart = context.currentTime + durationSec; - const releaseEnd = releaseStart + releaseDuration; - releaseGain.gain.setValueAtTime(1, releaseStart); - releaseGain.gain.linearRampToValueAtTime(0.0001, releaseEnd); - - this._concurrencyCounter++; - player.once('stop', () => { - this._concurrencyCounter--; - }); - - // Start playing the note - player.play(); - // Connect the player to the gain node. - player.connect({getInputNode () { - return volumeGain; - }}); - // Set playback now after play creates the outputNode. - player.outputNode.playbackRate.value = notePitchInterval; - // Schedule playback to stop. - player.outputNode.stop(releaseEnd); - } - - /** - * The samples array for each instrument is the set of pitches of the available audio samples. - * This function selects the best one to use to play a given input note, and returns its index - * in the samples array. - * @param {number} note - the input note to select a sample for. - * @param {number[]} samples - an array of the pitches of the available samples. - * @return {index} the index of the selected sample in the samples array. - * @private - */ - _selectSampleIndexForNote (note, samples) { - // Step backwards through the array of samples, i.e. in descending pitch, in order to find - // the sample that is the closest one below (or matching) the pitch of the input note. - for (let i = samples.length - 1; i >= 0; i--) { - if (note >= samples[i]) { - return i; - } + toAdd = this.musicCreationHelper.playNote(args, util); + if (toAdd.length == 2) { + this.noteList.push(toAdd); } - return 0; - } - - /** - * Calcuate the frequency ratio for a given musical interval. - * @param {number} interval - the pitch interval to convert. - * @return {number} a ratio corresponding to the input interval. - * @private - */ - _ratioForPitchInterval (interval) { - return Math.pow(2, (interval / 12)); } + //TODO saveFile (args) { const text = Cast.toString(args.FILENAME); } - /** - * Start the stack timer and the yield the thread if necessary. - * @param {object} util - utility object provided by the runtime. - * @param {number} duration - a duration in seconds to set the timer for. - * @private - */ - _startStackTimer (util, duration) { - util.stackFrame.timer = new Timer(); - util.stackFrame.timer.start(); - util.stackFrame.duration = duration; - util.yield(); - } - - /** - * Check if the stack timer needs initialization. - * @param {object} util - utility object provided by the runtime. - * @return {boolean} - true if the stack timer needs to be initialized. - * @private - */ - _stackTimerNeedsInit (util) { - return !util.stackFrame.timer; - } - - /** - * Check the stack timer, and if its time is not up yet, yield the thread. - * @param {object} util - utility object provided by the runtime. - * @private - */ - _checkStackTimer (util) { - const timeElapsed = util.stackFrame.timer.timeElapsed(); - if (timeElapsed < util.stackFrame.duration * 1000) { - util.yield(); - } - } - - /** - * Clamp a duration in beats to the allowed min and max duration. - * @param {number} beats - a duration in beats. - * @return {number} - the clamped duration. - * @private - */ - _clampBeats (beats) { - return MathUtil.clamp(beats, Scratch3MusicCreation.BEAT_RANGE.min, Scratch3MusicCreation.BEAT_RANGE.max); - } - } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js new file mode 100644 index 000000000..0c5bc00e7 --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js @@ -0,0 +1,90 @@ +const log = require('../../util/log'); +const hrtime = require('browser-hrtime'); +const mvae = require('@magenta/music/node/music_vae'); +const core = require('@magenta/music/node/core'); +const rnn = require('@magenta/music/node/music_rnn'); + +const symbols = require('./symbols'); + + +/** + * The instrument and drum sounds, loaded as static assets. + * @type {object} + */ +let assetData = {}; + +try { + assetData = require('./manifest'); +} catch (e) { + // Non-webpack environment, don't worry about assets. +} + +class MusicAccompanimentHelpers { + constructor (runtime) { + this.runtime = runtime; + TWINKLE_TWINKLE = { + notes: [ + {pitch: 60, startTime: 0.0, endTime: 0.5}, + {pitch: 60, startTime: 0.5, endTime: 1.0}, + {pitch: 67, startTime: 1.0, endTime: 1.5}, + {pitch: 67, startTime: 1.5, endTime: 2.0}, + {pitch: 69, startTime: 2.0, endTime: 2.5}, + {pitch: 69, startTime: 2.5, endTime: 3.0}, + {pitch: 67, startTime: 3.0, endTime: 4.0}, + {pitch: 65, startTime: 4.0, endTime: 4.5}, + {pitch: 65, startTime: 4.5, endTime: 5.0}, + {pitch: 64, startTime: 5.0, endTime: 5.5}, + {pitch: 64, startTime: 5.5, endTime: 6.0}, + {pitch: 62, startTime: 6.0, endTime: 6.5}, + {pitch: 62, startTime: 6.5, endTime: 7.0}, + {pitch: 60, startTime: 7.0, endTime: 8.0}, + ], + totalTime: 8 + }; + + } + + testMagentaPlayer (util) { + log.log("MAGENTA"); + const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); + player.start(TWINKLE_TWINKLE); + player.stop(); + } + + testMagentaRNN (utils) { + const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); + if (player.isPlaying()) { + player.stop(); + return; + } + music_rnn = new rnn.MusicRNN('https://storage.googleapis.com/magentadata/js/checkpoints/music_rnn/basic_rnn'); + music_rnn.initialize(); + rnn_steps = 20; + rnn_temperature = 1.5; + + const qns = core.sequences.quantizeNoteSequence(TWINKLE_TWINKLE, 4); + music_rnn + .continueSequence(qns, rnn_steps, rnn_temperature) + .then((sample) => player.start(sample)); + log.log(TWINKLE_TWINKLE); + } + + testMagentaMVAE (utils) { + const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); + if (player.isPlaying()) { + player.stop(); + return; + } + music_vae = new mvae.MusicVAE('https://storage.googleapis.com/magentadata/js/checkpoints/music_vae/mel_4bar_small_q2'); + music_vae.initialize(); + vae_temperature = 1.5; + + music_vae + .sample(1, vae_temperature) + .then((sample) => player.start(sample[0])); + log.log(TWINKLE_TWINKLE); + } + +} + +module.exports = MusicAccompanimentHelpers; \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js new file mode 100644 index 000000000..b7b75128a --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -0,0 +1,547 @@ +const Clone = require('../../util/clone'); +const Cast = require('../../util/cast'); +const formatMessage = require('format-message'); +const MathUtil = require('../../util/math-util'); +const Timer = require('../../util/timer'); +const log = require('../../util/log'); + +const MusicAccompanimentHelpers = require('./musicaccompanimenthelpers'); + + +/** + * The instrument and drum sounds, loaded as static assets. + * @type {object} + */ +let assetData = {}; + +try { + assetData = require('./manifest'); +} catch (e) { + // Non-webpack environment, don't worry about assets. +} + +class MusicCreationHelpers { + constructor (runtime) { + this.runtime = runtime; + + /** + * An array of arrays of sound players. Each instrument has one or more audio players. + * @type {Array[]} + * @private + */ + this._instrumentPlayerArrays = []; + + /** + * An array of arrays of sound players. Each instrument mya have an audio player for each playable note. + * @type {Array[]} + * @private + */ + this._instrumentPlayerNoteArrays = []; + this._loadAllSounds(); + + this.noteList = []; + + instrumentNames = this._buildMenu(this.INSTRUMENT_INFO); + + this._onTargetCreated = this._onTargetCreated.bind(this); + this.runtime.on('targetWasCreated', this._onTargetCreated); + + volumes = [{text: "pianissimo", value: 15}, + {text: "piano", value: 30}, + {text: "mezzo-piano", value: 45}, + {text: "mezzo-forte", value: 60}, + {text: "forte", value: 85}, + {text: "fortissimo", value: 100}]; + } + + /** + * The key to load & store a target's music-related state. + * @type {string} + */ + static get STATE_KEY () { + return 'Scratch.musiccreation'; + } + + /** + * The default music-related state, to be used when a target has no existing music state. + * @type {MusicState} + */ + static get DEFAULT_MUSIC_STATE () { + return { + currentInstrument: 0 + }; + } + + /** + * The minimum and maximum MIDI note numbers, for clamping the input to play note. + * @type {{min: number, max: number}} + */ + static get MIDI_NOTE_RANGE () { + return {min: 0, max: 130}; + } + + /** + * The minimum and maximum beat values, for clamping the duration of play note, play drum and rest. + * 100 beats at the default tempo of 60bpm is 100 seconds. + * @type {{min: number, max: number}} + */ + static get BEAT_RANGE () { + return {min: 0, max: 100}; + } + + /** + * The maximum number of sounds to allow to play simultaneously. + * @type {number} + */ + static get CONCURRENCY_LIMIT () { + return 30; + } + + /** + * An array of info about each instrument. + * @type {object[]} + * @param {string} name - the translatable name to display in the instruments menu. + * @param {string} dirName - the name of the directory containing audio samples for this instrument. + * @param {number} [releaseTime] - an optional duration for the release portion of each note. + * @param {number[]} samples - an array of numbers representing the MIDI note number for each + * sampled sound used to play this instrument. + */ + get INSTRUMENT_INFO () { + return [ + { + name: formatMessage({ + id: 'musiccreation.instrumentPiano', + default: 'Piano', + description: 'Sound of a piano' + }), + dirName: '1-piano', + releaseTime: 0.5, + samples: [24, 36, 48, 60, 72, 84, 96, 108] + }, + { + name: formatMessage({ + id: 'musiccreation.instrumentGuitar', + default: 'Guitar', + description: 'Sound of an accoustic guitar' + }), + dirName: '4-guitar', + releaseTime: 0.5, + samples: [60] + }, { + name: formatMessage({ + id: 'musiccreation.instrumentBass', + default: 'Bass', + description: 'Sound of an accoustic upright bass' + }), + dirName: '6-bass', + releaseTime: 0.25, + samples: [36, 48] + }, + { + name: formatMessage({ + id: 'musiccreation.instrumentCello', + default: 'Cello', + description: 'Sound of a cello being played with a bow' + }), + dirName: '8-cello', + releaseTime: 0.1, + samples: [36, 48, 60] + }, + { + name: formatMessage({ + id: 'musiccreation.instrumentSaxophone', + default: 'Saxophone', + description: 'Sound of a saxophone being played' + }), + dirName: '11-saxophone', + samples: [36, 60, 84] + }, + { + name: formatMessage({ + id: 'musiccreation.instrumentClarinet', + default: 'Clarinet', + description: 'Sound of a clarinet being played' + }), + dirName: '10-clarinet', + samples: [48, 60] + }, + { + name: formatMessage({ + id: 'musiccreation.instrumentSynthLead', + default: 'Synth', + description: 'Sound of a "lead" synthesizer being played' + }), + dirName: '20-synth-lead', + releaseTime: 0.1, + samples: [60] + } + ]; + } + + /** + * When a music-playing Target is cloned, clone the music state. + * @param {Target} newTarget - the newly created target. + * @param {Target} [sourceTarget] - the target used as a source for the new clone, if any. + * @listens Runtime#event:targetWasCreated + * @private + */ + _onTargetCreated (newTarget, sourceTarget) { + if (sourceTarget) { + const musicState = sourceTarget.getCustomState(MusicCreationHelpers.STATE_KEY); + if (musicState) { + newTarget.setCustomState(MusicCreationHelpers.STATE_KEY, Clone.simple(musicState)); + } + } + } + + /** + * Decode the full set of drum and instrument sounds, and store the audio buffers in arrays. + */ + _loadAllSounds () { + const loadingPromises = []; + this.INSTRUMENT_INFO.forEach((instrumentInfo, instrumentIndex) => { + this._instrumentPlayerArrays[instrumentIndex] = []; + this._instrumentPlayerNoteArrays[instrumentIndex] = []; + instrumentInfo.samples.forEach((sample, noteIndex) => { + const filePath = `instruments/${instrumentInfo.dirName}/${sample}`; + const promise = this._storeSound(filePath, noteIndex, this._instrumentPlayerArrays[instrumentIndex]); + loadingPromises.push(promise); + }); + }); + Promise.all(loadingPromises).then(() => { + // @TODO: Update the extension status indicator. + }); + } + + /** + * Decode a sound and store the player in an array. + * @param {string} filePath - the audio file name. + * @param {number} index - the index at which to store the audio player. + * @param {array} playerArray - the array of players in which to store it. + * @return {Promise} - a promise which will resolve once the sound has been stored. + */ + _storeSound (filePath, index, playerArray) { + const fullPath = `${filePath}.mp3`; + + if (!assetData[fullPath]) return; + + // The sound player has already been downloaded via the manifest file required above. + const soundBuffer = assetData[fullPath]; + + return this._decodeSound(soundBuffer).then(player => { + playerArray[index] = player; + }); + } + + /** + * Decode a sound and return a promise with the audio buffer. + * @param {ArrayBuffer} soundBuffer - a buffer containing the encoded audio. + * @return {Promise} - a promise which will resolve once the sound has decoded. + */ + _decodeSound (soundBuffer) { + const engine = this.runtime.audioEngine; + + if (!engine) { + return Promise.reject(new Error('No Audio Context Detected')); + } + + // Check for newer promise-based API + return engine.decodeSoundPlayer({data: {buffer: soundBuffer}}); + } + + /** + * Create data for a menu in scratch-blocks format, consisting of an array of objects with text and + * value properties. The text is a translated string, and the value is one-indexed. + * @param {object[]} info - An array of info objects each having a name property. + * @return {array} - An array of objects with text and value properties. + * @private + */ + _buildMenu (info) { + return info.map((entry, index) => { + const obj = {}; + obj.text = entry.name; + obj.value = String(index + 1); + return obj; + }); + } + + /** + * @param {Target} target - collect music state for this target. + * @returns {MusicState} the mutable music state associated with that target. This will be created if necessary. + * @private + */ + _getMusicState (target) { + let musicState = target.getCustomState(MusicCreationHelpers.STATE_KEY); + if (!musicState) { + musicState = Clone.simple(MusicCreationHelpers.DEFAULT_MUSIC_STATE); + target.setCustomState(MusicCreationHelpers.STATE_KEY, musicState); + } + return musicState; + } + + getInstrument (util) { + const stage = this.runtime.getTargetForStage(); + log.log(stage); + if (stage) { + if (!stage.instrument) { + stage.instrument = "Piano"; + } + log.log(stage.instrument); + return stage.instrument; + } + return 0; + } + + /** + * Internal code to select an instrument for playing notes. If mapMidi is true, set the instrument according to + * the MIDI to Scratch instrument mapping. + * @param {number} instNum - the instrument number. + * @param {object} util - utility object provided by the runtime. + * @param {boolean} mapMidi - whether or not instNum is a MIDI instrument number. + */ + _setInstrument (instNum, util, mapMidi) { + const musicState = this._getMusicState(util.target); + instNum = Cast.toNumber(instNum); + instNum = Math.round(instNum); + const stage = this.runtime.getTargetForStage(); + if (stage) { + stage.instrument = this.findInstrumentForNumber(instNum); + } + instNum -= 1; // instruments are one-indexed + instNum = MathUtil.wrapClamp(instNum, 0, this.INSTRUMENT_INFO.length - 1); + musicState.currentInstrument = instNum; + log.log(stage.instrument); + } + + findInstrumentForNumber (number) { + for (var m in instrumentNames) { + if (instrumentNames[m].value == number) { + return instrumentNames[m].text; + } + } + return "Piano"; + } + + findVolumeForNumber (number) { + for (var m in volumes) { + if (volumes[m].value == number) { + return volumes[m].text; + } + } + return "mezzo-forte"; + } + + /** + * Update the current tempo, clamping it to the min and max allowable range. + * @param {number} tempo - the tempo to set, in beats per minute. + * @private + */ + _updateVolume (volume, util) { + volume = MathUtil.clamp(volume, 0, 100); + util.target.volume = volume; + const stage = this.runtime.getTargetForStage(); + if (stage) { + stage.volume = this.findVolumeForNumber(volume); + } + } + + getVolume () { + const stage = this.runtime.getTargetForStage(); + if (stage) { + if (stage.volume == 100) { + stage.volume = "fortissimo"; + } + return stage.volume; + } + return "mezzo-forte"; + } + + playNote (args, util) { + if (this._stackTimerNeedsInit(util)) { + let note = Cast.toNumber(args.NOTE); + note = MathUtil.clamp(note, + MusicCreationHelpers.MIDI_NOTE_RANGE.min, MusicCreationHelpers.MIDI_NOTE_RANGE.max); + let beats = Cast.toNumber(args.SECS); + beats = this._clampBeats(beats); + // If the duration is 0, do not play the note. In Scratch 2.0, "play drum for 0 beats" plays the drum, + // but "play note for 0 beats" is silent. + if (beats === 0) return; + + const durationSec = beats; + + this._playNote(util, note, durationSec); + + this._startStackTimer(util, durationSec); + return [note, beats]; + } else { + this._checkStackTimer(util); + return []; + } + + } + + /** + * Play a note using the current instrument for a duration in seconds. + * This function actually plays the sound, and handles the timing of the sound, including the + * "release" portion of the sound, which continues briefly after the block execution has finished. + * @param {object} util - utility object provided by the runtime. + * @param {number} note - the pitch of the note to play, interpreted as a MIDI note number. + * @param {number} durationSec - the duration in seconds to play the note. + * @private + */ + _playNote (util, note, durationSec) { + if (util.runtime.audioEngine === null) return; + if (util.target.sprite.soundBank === null) return; + + // If we're playing too many sounds, do not play the note. + if (this._concurrencyCounter > MusicCreationHelpers.CONCURRENCY_LIMIT) { + return; + } + + // Determine which of the audio samples for this instrument to play + const musicState = this._getMusicState(util.target); + const inst = musicState.currentInstrument; + const instrumentInfo = this.INSTRUMENT_INFO[inst]; + const sampleArray = instrumentInfo.samples; + const sampleIndex = this._selectSampleIndexForNote(note, sampleArray); + + // If the audio sample has not loaded yet, bail out + if (typeof this._instrumentPlayerArrays[inst] === 'undefined') return; + if (typeof this._instrumentPlayerArrays[inst][sampleIndex] === 'undefined') return; + + // Fetch the sound player to play the note. + const engine = util.runtime.audioEngine; + + if (!this._instrumentPlayerNoteArrays[inst][note]) { + this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); + } + + const player = this._instrumentPlayerNoteArrays[inst][note]; + + if (player.isPlaying && !player.isStarting) { + // Take the internal player state and create a new player with it. + // `.play` does this internally but then instructs the sound to + // stop. + player.take(); + } + + // Set its pitch. + const sampleNote = sampleArray[sampleIndex]; + const notePitchInterval = this._ratioForPitchInterval(note - sampleNote); + + // Create gain nodes for this note's volume and release, and chain them + // to the output. + const context = engine.audioContext; + const volumeGain = context.createGain(); + volumeGain.gain.setValueAtTime(util.target.volume / 100, engine.currentTime); + const releaseGain = context.createGain(); + volumeGain.connect(releaseGain); + releaseGain.connect(engine.getInputNode()); + + // Schedule the release of the note, ramping its gain down to zero, + // and then stopping the sound. + let releaseDuration = this.INSTRUMENT_INFO[inst].releaseTime; + if (typeof releaseDuration === 'undefined') { + releaseDuration = 0.01; + } + const releaseStart = context.currentTime + durationSec; + const releaseEnd = releaseStart + releaseDuration; + releaseGain.gain.setValueAtTime(1, releaseStart); + releaseGain.gain.linearRampToValueAtTime(0.0001, releaseEnd); + + this._concurrencyCounter++; + player.once('stop', () => { + this._concurrencyCounter--; + }); + + // Start playing the note + player.play(); + // Connect the player to the gain node. + player.connect({getInputNode () { + return volumeGain; + }}); + // Set playback now after play creates the outputNode. + player.outputNode.playbackRate.value = notePitchInterval; + // Schedule playback to stop. + player.outputNode.stop(releaseEnd); + } + + /** + * The samples array for each instrument is the set of pitches of the available audio samples. + * This function selects the best one to use to play a given input note, and returns its index + * in the samples array. + * @param {number} note - the input note to select a sample for. + * @param {number[]} samples - an array of the pitches of the available samples. + * @return {index} the index of the selected sample in the samples array. + * @private + */ + _selectSampleIndexForNote (note, samples) { + // Step backwards through the array of samples, i.e. in descending pitch, in order to find + // the sample that is the closest one below (or matching) the pitch of the input note. + for (let i = samples.length - 1; i >= 0; i--) { + if (note >= samples[i]) { + return i; + } + } + return 0; + } + + /** + * Calcuate the frequency ratio for a given musical interval. + * @param {number} interval - the pitch interval to convert. + * @return {number} a ratio corresponding to the input interval. + * @private + */ + _ratioForPitchInterval (interval) { + return Math.pow(2, (interval / 12)); + } + + /** + * Start the stack timer and the yield the thread if necessary. + * @param {object} util - utility object provided by the runtime. + * @param {number} duration - a duration in seconds to set the timer for. + * @private + */ + _startStackTimer (util, duration) { + util.stackFrame.timer = new Timer(); + util.stackFrame.timer.start(); + util.stackFrame.duration = duration; + util.yield(); + } + + /** + * Check if the stack timer needs initialization. + * @param {object} util - utility object provided by the runtime. + * @return {boolean} - true if the stack timer needs to be initialized. + * @private + */ + _stackTimerNeedsInit (util) { + return !util.stackFrame.timer; + } + + /** + * Check the stack timer, and if its time is not up yet, yield the thread. + * @param {object} util - utility object provided by the runtime. + * @private + */ + _checkStackTimer (util) { + const timeElapsed = util.stackFrame.timer.timeElapsed(); + if (timeElapsed < util.stackFrame.duration * 1000) { + util.yield(); + } + } + + /** + * Clamp a duration in beats to the allowed min and max duration. + * @param {number} beats - a duration in beats. + * @return {number} - the clamped duration. + * @private + */ + _clampBeats (beats) { + return MathUtil.clamp(beats, MusicCreationHelpers.BEAT_RANGE.min, MusicCreationHelpers.BEAT_RANGE.max); + } + + +} + +module.exports = MusicCreationHelpers; \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 7850b6f87..5d7a9c22b 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -1,10 +1,4 @@ -const ArgumentType = require('../../extension-support/argument-type'); -const BlockType = require('../../extension-support/block-type'); const Clone = require('../../util/clone'); -const Cast = require('../../util/cast'); -const formatMessage = require('format-message'); -const MathUtil = require('../../util/math-util'); -const Timer = require('../../util/timer'); const log = require('../../util/log'); const RenderedTarget = require('../../sprites/rendered-target'); const StageLayering = require('../../engine/stage-layering'); @@ -88,6 +82,16 @@ class VizHelpers { }; } + /** + * The minimum and maximum allowed pen size. + * The maximum is twice the diagonal of the stage, so that even an + * off-stage sprite can fill it. + * @type {{min: number, max: number}} + */ + static get PEN_SIZE_RANGE () { + return {min: 1, max: 1200}; + } + /** * When a music-playing Target is cloned, clone the music state. * @param {Target} newTarget - the newly created target. @@ -163,7 +167,7 @@ class VizHelpers { drawSignal(args, util) { x = this.axisStartX; y = this.axisStartY; - signal = [1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6]; + signal = [1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6]; //test xStep = Math.floor(this.xAxisLength/(signal.length-1)); heightScaling = Math.round(this.yAxisLength/Math.max(...signal)); From e3d8b5229c2a7fd8ed76fdde67c689aacb2779dd Mon Sep 17 00:00:00 2001 From: nada Date: Tue, 9 Feb 2021 18:46:28 -0500 Subject: [PATCH 016/149] added signal comparison/analysis class --- .../scratch3_musiccreation/analysishelpers.js | 69 ++++++++++ .../scratch3_musiccreation/index.js | 121 ++++++++++++------ 2 files changed, 153 insertions(+), 37 deletions(-) create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js new file mode 100644 index 000000000..af69d7193 --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js @@ -0,0 +1,69 @@ +const Clone = require('../../util/clone'); +const Cast = require('../../util/cast'); +const formatMessage = require('format-message'); +const MathUtil = require('../../util/math-util'); +const Timer = require('../../util/timer'); +const log = require('../../util/log'); + +class AnalysisHelpers { + constructor (runtime) { + this.runtime = runtime; + this.filenameToNote = { + 1: {instrument: "synth", volume: "piano", pitch: "60"}, + 2: {instrument: "cello", volume: "mezzo-piano", pitch: "65"}, + 3: {instrument: "piano", volume: "forte", pitch: "68"}, + 4: {instrument: "saxophone", volume: "forte", pitch: "72"}, + 5: {instrument: "clarinet", volume: "fortissimo", pitch: "60"}, + 6: {instrument: "bass", volume: "mezzo-forte", pitch: "63"} + } + + this.compareVolumes = { + "pianissimo": 0, + "piano": 1, + "mezzo-piano": 2, + "mezzo-forte": 3, + "forte": 4, + "fortissimo": 5 + } + + this.louder = ""; + this.higher = ""; + this.inst1 = ""; + this.inst2 = ""; + + } + + compareFiles (args, util) { + note1 = this.filenameToNote[Cast.toNumber(args.FILE1)]; + note2 = this.filenameToNote[Cast.toNumber(args.FILE2)]; + this.play(note1); + this.play(note2); + this.inst1 = note1.instrument; + this.inst2 = note2.instrument; + this.louder = (this.compareVolumes[note1.volume] == this.compareVolumes[note2.volume]) ? "equal" : ((this.compareVolumes[note1.volume] > this.compareVolumes[note2.volume]) ? args.FILE1 : args.FILE2); + this.higher = (note1.pitch == note2.pitch) ? "equal" : (note1.pitch > note2.pitch) ? args.FILE1 : args.FILE2; + } + + getLouder (util) { + return this.louder; + } + + getHigher (util) { + return this.higher; + } + + getInst1 (util) { + return this.inst1; + } + + getInst2 (util) { + return this.inst2; + } + + play(note) { + log.log(note); + } + +} + +module.exports = AnalysisHelpers; \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index f75cbbae8..23b209944 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -8,7 +8,7 @@ const log = require('../../util/log'); const VizHelpers = require('./vizhelpers'); const MusicCreationHelpers = require('./musiccreationhelpers'); const MusicAccompanimentHelpers = require('./musicaccompanimenthelpers'); - +const AnalysisHelpers = require('./analysishelpers'); class Scratch3MusicCreation { @@ -18,6 +18,7 @@ class Scratch3MusicCreation { this.vizHelper = new VizHelpers(runtime); this.musicCreationHelper = new MusicCreationHelpers(runtime); this.musicAccompanimentHelper = new MusicAccompanimentHelpers(runtime); + this.analysisHelper = new AnalysisHelpers(runtime); this.noteList = []; @@ -29,6 +30,13 @@ class Scratch3MusicCreation { {text: "forte", value: 85}, {text: "fortissimo", value: 100}]; + this.files = [{text: "mystery 1", value: 1}, + {text: "mystery 2", value: 2}, + {text: "mystery 3", value: 3}, + {text: "mystery 4", value: 4}, + {text: "mystery 5", value: 5}, + {text: "mystery 6", value: 6}]; + this._playNoteForPicker = this._playNoteForPicker.bind(this); this.runtime.on('PLAY_NOTE', this._playNoteForPicker); @@ -206,32 +214,6 @@ class Scratch3MusicCreation { } } }, - { - opcode: 'recordNotes', - blockType: BlockType.COMMAND, - text: 'record notes with frequency [NOTE] for [SECS] seconds', - arguments: { - NOTE: { - type: ArgumentType.NOTE, - defaultValue: 60 - }, - SECS: { - type: ArgumentType.NUMBER, - defaultValue: 0.25 - } - } - }, - { - opcode: 'saveFile', - blockType: BlockType.COMMAND, - text: 'save file to [FILENAME].wav', - arguments: { - FILENAME: { - type: ArgumentType.STRING, - defaultValue: "myMusic" - } - } - }, { opcode: 'getVolume', text: formatMessage({ @@ -295,6 +277,59 @@ class Scratch3MusicCreation { }), blockType: BlockType.COMMAND }, + { + opcode: 'compareFiles', + blockType: BlockType.COMMAND, + text: 'compare [FILE1] and [FILE2]', + arguments: { + FILE1: { + type: ArgumentType.NUMBER, + defaultValue: 1, + menu: "FILES" + }, + FILE2: { + type: ArgumentType.NUMBER, + defaultValue: 2, + menu: "FILES" + }, + }, + }, + { + opcode: 'getLouder', + text: formatMessage({ + id: 'musiccreation.getLouder', + default: 'louder', + description: 'get the current louder note' + }), + blockType: BlockType.REPORTER + }, + { + opcode: 'getHigher', + text: formatMessage({ + id: 'musiccreation.getHigher', + default: 'higher', + description: 'get the current higher note' + }), + blockType: BlockType.REPORTER + }, + { + opcode: 'getInst1', + text: formatMessage({ + id: 'musiccreation.getInst1', + default: 'instrument 1', + description: 'get the current instrument 1' + }), + blockType: BlockType.REPORTER + }, + { + opcode: 'getInst2', + text: formatMessage({ + id: 'musiccreation.getInst2', + default: 'instrument 2', + description: 'get the current instrument 2' + }), + blockType: BlockType.REPORTER + } ], menus: { @@ -305,6 +340,10 @@ class Scratch3MusicCreation { INSTRUMENT: { acceptReporters: true, items: this._buildMenu(this.INSTRUMENT_INFO) + }, + FILES: { + acceptReporters: true, + items: this.files } } }; @@ -369,13 +408,6 @@ class Scratch3MusicCreation { return this.musicCreationHelper.getVolume(); } - //TODO - recordNotes (args, util) { - for (var n in this.noteList) { - this.playNote(args, util); - } - } - playNote (args, util) { toAdd = this.musicCreationHelper.playNote(args, util); if (toAdd.length == 2) { @@ -383,9 +415,24 @@ class Scratch3MusicCreation { } } - //TODO - saveFile (args) { - const text = Cast.toString(args.FILENAME); + compareFiles (args, util) { + this.analysisHelper.compareFiles(args, util); + } + + getLouder (util) { + return this.analysisHelper.getLouder(util); + } + + getHigher (util) { + return this.analysisHelper.getHigher(util); + } + + getInst1 (util) { + return this.analysisHelper.getInst1(util); + } + + getInst2 (util) { + return this.analysisHelper.getInst2(util); } From 0f0be57d2acb2300c1d78b2e4345376dbd1683f0 Mon Sep 17 00:00:00 2001 From: nada Date: Fri, 12 Feb 2021 14:48:55 -0500 Subject: [PATCH 017/149] added waveform vis and changed waveform axes to include negatives --- .../scratch3_musiccreation/analysishelpers.js | 26 +- .../scratch3_musiccreation/index.js | 6 +- .../musiccreationhelpers.js | 5 +- .../scratch3_musiccreation/musicplayer.js | 554 ++++++++++++++++++ .../scratch3_musiccreation/vizhelpers.js | 51 +- 5 files changed, 617 insertions(+), 25 deletions(-) create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js index af69d7193..e577bcbb9 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js @@ -4,10 +4,15 @@ const formatMessage = require('format-message'); const MathUtil = require('../../util/math-util'); const Timer = require('../../util/timer'); const log = require('../../util/log'); +const musicPlayers = require("./musicplayer"); +const { WaterfallSVGVisualizer } = require('@magenta/music/node/core'); class AnalysisHelpers { constructor (runtime) { this.runtime = runtime; + + this.musicPlayer = new musicPlayers(runtime); + this.filenameToNote = { 1: {instrument: "synth", volume: "piano", pitch: "60"}, 2: {instrument: "cello", volume: "mezzo-piano", pitch: "65"}, @@ -36,8 +41,8 @@ class AnalysisHelpers { compareFiles (args, util) { note1 = this.filenameToNote[Cast.toNumber(args.FILE1)]; note2 = this.filenameToNote[Cast.toNumber(args.FILE2)]; - this.play(note1); - this.play(note2); + this.play(note1, util); + this.play(note2, util); this.inst1 = note1.instrument; this.inst2 = note2.instrument; this.louder = (this.compareVolumes[note1.volume] == this.compareVolumes[note2.volume]) ? "equal" : ((this.compareVolumes[note1.volume] > this.compareVolumes[note2.volume]) ? args.FILE1 : args.FILE2); @@ -60,8 +65,21 @@ class AnalysisHelpers { return this.inst2; } - play(note) { - log.log(note); + play (note, util) { + log.log(note.instrument); + this.musicPlayer._playNote(util, note.pitch, 0.25, note.instrument); + } + + getPitch (note, util) { + log.log("here"); + } + + getVolume (note, util) { + log.log("here"); + } + + getInstrument(note, util) { + log.log("here"); } } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 23b209944..c8d0cf2c8 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -9,12 +9,15 @@ const VizHelpers = require('./vizhelpers'); const MusicCreationHelpers = require('./musiccreationhelpers'); const MusicAccompanimentHelpers = require('./musicaccompanimenthelpers'); const AnalysisHelpers = require('./analysishelpers'); +const MusicPlayers = require('./musicplayer') + class Scratch3MusicCreation { constructor (runtime) { this.runtime = runtime; + this.musicPlayer = new MusicPlayers(runtime); this.vizHelper = new VizHelpers(runtime); this.musicCreationHelper = new MusicCreationHelpers(runtime); this.musicAccompanimentHelper = new MusicAccompanimentHelpers(runtime); @@ -350,7 +353,8 @@ class Scratch3MusicCreation { } testWaveformViz (args, util) { - this.vizHelper.testWaveformViz(args, util); + this.vizHelper.testWaveformViz(this.noteList, args, util); + this.noteList = []; } testSheetMusicViz (args, util) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index b7b75128a..0db4139c9 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -5,9 +5,6 @@ const MathUtil = require('../../util/math-util'); const Timer = require('../../util/timer'); const log = require('../../util/log'); -const MusicAccompanimentHelpers = require('./musicaccompanimenthelpers'); - - /** * The instrument and drum sounds, loaded as static assets. * @type {object} @@ -401,7 +398,9 @@ class MusicCreationHelpers { // Determine which of the audio samples for this instrument to play const musicState = this._getMusicState(util.target); const inst = musicState.currentInstrument; + log.log("INST", inst); const instrumentInfo = this.INSTRUMENT_INFO[inst]; + log.log(instrumentInfo); const sampleArray = instrumentInfo.samples; const sampleIndex = this._selectSampleIndexForNote(note, sampleArray); diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js new file mode 100644 index 000000000..85c1a8be9 --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js @@ -0,0 +1,554 @@ +const Clone = require('../../util/clone'); +const Cast = require('../../util/cast'); +const formatMessage = require('format-message'); +const MathUtil = require('../../util/math-util'); +const Timer = require('../../util/timer'); +const log = require('../../util/log'); + +/** + * The instrument and drum sounds, loaded as static assets. + * @type {object} + */ +let assetData = {}; + +try { + assetData = require('./manifest'); +} catch (e) { + // Non-webpack environment, don't worry about assets. +} + +class MusicPlayer { + constructor (runtime) { + this.runtime = runtime; + + /** + * An array of arrays of sound players. Each instrument has one or more audio players. + * @type {Array[]} + * @private + */ + this._instrumentPlayerArrays = []; + + /** + * An array of arrays of sound players. Each instrument mya have an audio player for each playable note. + * @type {Array[]} + * @private + */ + this._instrumentPlayerNoteArrays = []; + this._loadAllSounds(); + + this.noteList = []; + + instrumentNames = this._buildMenu(this.INSTRUMENT_INFO); + + this._onTargetCreated = this._onTargetCreated.bind(this); + this.runtime.on('targetWasCreated', this._onTargetCreated); + + volumes = [{text: "pianissimo", value: 15}, + {text: "piano", value: 30}, + {text: "mezzo-piano", value: 45}, + {text: "mezzo-forte", value: 60}, + {text: "forte", value: 85}, + {text: "fortissimo", value: 100}]; + + instruments = { + "piano": 0, + "guitar": 1, + "bass":2, + "cello": 3, + "saxophone":4, + "clarinet": 5, + "synth": 6 + } + } + + /** + * The key to load & store a target's music-related state. + * @type {string} + */ + static get STATE_KEY () { + return 'Scratch.musiccreation'; + } + + /** + * The default music-related state, to be used when a target has no existing music state. + * @type {MusicState} + */ + static get DEFAULT_MUSIC_STATE () { + return { + currentInstrument: 0 + }; + } + + /** + * The minimum and maximum MIDI note numbers, for clamping the input to play note. + * @type {{min: number, max: number}} + */ + static get MIDI_NOTE_RANGE () { + return {min: 0, max: 130}; + } + + /** + * The minimum and maximum beat values, for clamping the duration of play note, play drum and rest. + * 100 beats at the default tempo of 60bpm is 100 seconds. + * @type {{min: number, max: number}} + */ + static get BEAT_RANGE () { + return {min: 0, max: 100}; + } + + /** + * The maximum number of sounds to allow to play simultaneously. + * @type {number} + */ + static get CONCURRENCY_LIMIT () { + return 30; + } + + /** + * An array of info about each instrument. + * @type {object[]} + * @param {string} name - the translatable name to display in the instruments menu. + * @param {string} dirName - the name of the directory containing audio samples for this instrument. + * @param {number} [releaseTime] - an optional duration for the release portion of each note. + * @param {number[]} samples - an array of numbers representing the MIDI note number for each + * sampled sound used to play this instrument. + */ + get INSTRUMENT_INFO () { + return [ + { + name: formatMessage({ + id: 'musiccreation.instrumentPiano', + default: 'Piano', + description: 'Sound of a piano' + }), + dirName: '1-piano', + releaseTime: 0.5, + samples: [24, 36, 48, 60, 72, 84, 96, 108] + }, + { + name: formatMessage({ + id: 'musiccreation.instrumentGuitar', + default: 'Guitar', + description: 'Sound of an accoustic guitar' + }), + dirName: '4-guitar', + releaseTime: 0.5, + samples: [60] + }, { + name: formatMessage({ + id: 'musiccreation.instrumentBass', + default: 'Bass', + description: 'Sound of an accoustic upright bass' + }), + dirName: '6-bass', + releaseTime: 0.25, + samples: [36, 48] + }, + { + name: formatMessage({ + id: 'musiccreation.instrumentCello', + default: 'Cello', + description: 'Sound of a cello being played with a bow' + }), + dirName: '8-cello', + releaseTime: 0.1, + samples: [36, 48, 60] + }, + { + name: formatMessage({ + id: 'musiccreation.instrumentSaxophone', + default: 'Saxophone', + description: 'Sound of a saxophone being played' + }), + dirName: '11-saxophone', + samples: [36, 60, 84] + }, + { + name: formatMessage({ + id: 'musiccreation.instrumentClarinet', + default: 'Clarinet', + description: 'Sound of a clarinet being played' + }), + dirName: '10-clarinet', + samples: [48, 60] + }, + { + name: formatMessage({ + id: 'musiccreation.instrumentSynthLead', + default: 'Synth', + description: 'Sound of a "lead" synthesizer being played' + }), + dirName: '20-synth-lead', + releaseTime: 0.1, + samples: [60] + } + ]; + } + + /** + * When a music-playing Target is cloned, clone the music state. + * @param {Target} newTarget - the newly created target. + * @param {Target} [sourceTarget] - the target used as a source for the new clone, if any. + * @listens Runtime#event:targetWasCreated + * @private + */ + _onTargetCreated (newTarget, sourceTarget) { + if (sourceTarget) { + const musicState = sourceTarget.getCustomState(MusicPlayer.STATE_KEY); + if (musicState) { + newTarget.setCustomState(MusicPlayer.STATE_KEY, Clone.simple(musicState)); + } + } + } + + /** + * Decode the full set of drum and instrument sounds, and store the audio buffers in arrays. + */ + _loadAllSounds () { + const loadingPromises = []; + this.INSTRUMENT_INFO.forEach((instrumentInfo, instrumentIndex) => { + this._instrumentPlayerArrays[instrumentIndex] = []; + this._instrumentPlayerNoteArrays[instrumentIndex] = []; + instrumentInfo.samples.forEach((sample, noteIndex) => { + const filePath = `instruments/${instrumentInfo.dirName}/${sample}`; + const promise = this._storeSound(filePath, noteIndex, this._instrumentPlayerArrays[instrumentIndex]); + loadingPromises.push(promise); + }); + }); + Promise.all(loadingPromises).then(() => { + // @TODO: Update the extension status indicator. + }); + } + + /** + * Decode a sound and store the player in an array. + * @param {string} filePath - the audio file name. + * @param {number} index - the index at which to store the audio player. + * @param {array} playerArray - the array of players in which to store it. + * @return {Promise} - a promise which will resolve once the sound has been stored. + */ + _storeSound (filePath, index, playerArray) { + const fullPath = `${filePath}.mp3`; + + if (!assetData[fullPath]) return; + + // The sound player has already been downloaded via the manifest file required above. + const soundBuffer = assetData[fullPath]; + + return this._decodeSound(soundBuffer).then(player => { + playerArray[index] = player; + }); + } + + /** + * Decode a sound and return a promise with the audio buffer. + * @param {ArrayBuffer} soundBuffer - a buffer containing the encoded audio. + * @return {Promise} - a promise which will resolve once the sound has decoded. + */ + _decodeSound (soundBuffer) { + const engine = this.runtime.audioEngine; + + if (!engine) { + return Promise.reject(new Error('No Audio Context Detected')); + } + + // Check for newer promise-based API + return engine.decodeSoundPlayer({data: {buffer: soundBuffer}}); + } + + /** + * Create data for a menu in scratch-blocks format, consisting of an array of objects with text and + * value properties. The text is a translated string, and the value is one-indexed. + * @param {object[]} info - An array of info objects each having a name property. + * @return {array} - An array of objects with text and value properties. + * @private + */ + _buildMenu (info) { + return info.map((entry, index) => { + const obj = {}; + obj.text = entry.name; + obj.value = String(index + 1); + return obj; + }); + } + + /** + * @param {Target} target - collect music state for this target. + * @returns {MusicState} the mutable music state associated with that target. This will be created if necessary. + * @private + */ + _getMusicState (target) { + let musicState = target.getCustomState(MusicPlayer.STATE_KEY); + if (!musicState) { + musicState = Clone.simple(MusicPlayer.DEFAULT_MUSIC_STATE); + target.setCustomState(MusicPlayer.STATE_KEY, musicState); + } + return musicState; + } + + getInstrument (util) { + const stage = this.runtime.getTargetForStage(); + log.log(stage); + if (stage) { + if (!stage.instrument) { + stage.instrument = "Piano"; + } + log.log(stage.instrument); + return stage.instrument; + } + return 0; + } + + /** + * Internal code to select an instrument for playing notes. If mapMidi is true, set the instrument according to + * the MIDI to Scratch instrument mapping. + * @param {number} instNum - the instrument number. + * @param {object} util - utility object provided by the runtime. + * @param {boolean} mapMidi - whether or not instNum is a MIDI instrument number. + */ + _setInstrument (instNum, util, mapMidi) { + const musicState = this._getMusicState(util.target); + instNum = Cast.toNumber(instNum); + instNum = Math.round(instNum); + const stage = this.runtime.getTargetForStage(); + if (stage) { + stage.instrument = this.findInstrumentForNumber(instNum); + } + instNum -= 1; // instruments are one-indexed + instNum = MathUtil.wrapClamp(instNum, 0, this.INSTRUMENT_INFO.length - 1); + musicState.currentInstrument = instNum; + log.log(stage.instrument); + } + + findInstrumentForNumber (number) { + for (var m in instrumentNames) { + if (instrumentNames[m].value == number) { + return instrumentNames[m].text; + } + } + return "Piano"; + } + + findVolumeForNumber (number) { + for (var m in volumes) { + if (volumes[m].value == number) { + return volumes[m].text; + } + } + return "mezzo-forte"; + } + + /** + * Update the current tempo, clamping it to the min and max allowable range. + * @param {number} tempo - the tempo to set, in beats per minute. + * @private + */ + _updateVolume (volume, util) { + volume = MathUtil.clamp(volume, 0, 100); + util.target.volume = volume; + const stage = this.runtime.getTargetForStage(); + if (stage) { + stage.volume = this.findVolumeForNumber(volume); + } + } + + getVolume () { + const stage = this.runtime.getTargetForStage(); + if (stage) { + if (stage.volume == 100) { + stage.volume = "fortissimo"; + } + return stage.volume; + } + return "mezzo-forte"; + } + + playNote (args, util) { + if (this._stackTimerNeedsInit(util)) { + let note = Cast.toNumber(args.NOTE); + note = MathUtil.clamp(note, + MusicPlayer.MIDI_NOTE_RANGE.min, MusicPlayer.MIDI_NOTE_RANGE.max); + let beats = Cast.toNumber(args.SECS); + beats = this._clampBeats(beats); + // If the duration is 0, do not play the note. In Scratch 2.0, "play drum for 0 beats" plays the drum, + // but "play note for 0 beats" is silent. + if (beats === 0) return; + + const durationSec = beats; + + this._playNote(util, note, durationSec); + + this._startStackTimer(util, durationSec); + return [note, beats]; + } else { + this._checkStackTimer(util); + return []; + } + + } + + /** + * Play a note using the current instrument for a duration in seconds. + * This function actually plays the sound, and handles the timing of the sound, including the + * "release" portion of the sound, which continues briefly after the block execution has finished. + * @param {object} util - utility object provided by the runtime. + * @param {number} note - the pitch of the note to play, interpreted as a MIDI note number. + * @param {number} durationSec - the duration in seconds to play the note. + * @private + */ + _playNote (util, note, durationSec, instrument = 0) { + if (util.runtime.audioEngine === null) return; + if (util.target.sprite.soundBank === null) return; + + // If we're playing too many sounds, do not play the note. + if (this._concurrencyCounter > MusicPlayer.CONCURRENCY_LIMIT) { + return; + } + + // Determine which of the audio samples for this instrument to play + const musicState = this._getMusicState(util.target); + const inst = (instrument == 0) ? musicState.currentInstrument : instruments[instrument.toLowerCase()]; + const instrumentInfo = this.INSTRUMENT_INFO[inst]; + const sampleArray = instrumentInfo.samples; + const sampleIndex = this._selectSampleIndexForNote(note, sampleArray); + + // If the audio sample has not loaded yet, bail out + if (typeof this._instrumentPlayerArrays[inst] === 'undefined') return; + if (typeof this._instrumentPlayerArrays[inst][sampleIndex] === 'undefined') return; + + // Fetch the sound player to play the note. + const engine = util.runtime.audioEngine; + + if (!this._instrumentPlayerNoteArrays[inst][note]) { + this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); + } + + const player = this._instrumentPlayerNoteArrays[inst][note]; + + if (player.isPlaying && !player.isStarting) { + // Take the internal player state and create a new player with it. + // `.play` does this internally but then instructs the sound to + // stop. + player.take(); + } + + // Set its pitch. + const sampleNote = sampleArray[sampleIndex]; + const notePitchInterval = this._ratioForPitchInterval(note - sampleNote); + + // Create gain nodes for this note's volume and release, and chain them + // to the output. + const context = engine.audioContext; + const volumeGain = context.createGain(); + volumeGain.gain.setValueAtTime(util.target.volume / 100, engine.currentTime); + const releaseGain = context.createGain(); + volumeGain.connect(releaseGain); + releaseGain.connect(engine.getInputNode()); + + // Schedule the release of the note, ramping its gain down to zero, + // and then stopping the sound. + let releaseDuration = this.INSTRUMENT_INFO[inst].releaseTime; + if (typeof releaseDuration === 'undefined') { + releaseDuration = 0.01; + } + const releaseStart = context.currentTime + durationSec; + const releaseEnd = releaseStart + releaseDuration; + releaseGain.gain.setValueAtTime(1, releaseStart); + releaseGain.gain.linearRampToValueAtTime(0.0001, releaseEnd); + + this._concurrencyCounter++; + player.once('stop', () => { + this._concurrencyCounter--; + }); + + // Start playing the note + player.play(); + // Connect the player to the gain node. + player.connect({getInputNode () { + return volumeGain; + }}); + // Set playback now after play creates the outputNode. + player.outputNode.playbackRate.value = notePitchInterval; + // Schedule playback to stop. + player.outputNode.stop(releaseEnd); + } + + /** + * The samples array for each instrument is the set of pitches of the available audio samples. + * This function selects the best one to use to play a given input note, and returns its index + * in the samples array. + * @param {number} note - the input note to select a sample for. + * @param {number[]} samples - an array of the pitches of the available samples. + * @return {index} the index of the selected sample in the samples array. + * @private + */ + _selectSampleIndexForNote (note, samples) { + // Step backwards through the array of samples, i.e. in descending pitch, in order to find + // the sample that is the closest one below (or matching) the pitch of the input note. + for (let i = samples.length - 1; i >= 0; i--) { + if (note >= samples[i]) { + return i; + } + } + return 0; + } + + /** + * Calcuate the frequency ratio for a given musical interval. + * @param {number} interval - the pitch interval to convert. + * @return {number} a ratio corresponding to the input interval. + * @private + */ + _ratioForPitchInterval (interval) { + return Math.pow(2, (interval / 12)); + } + + /** + * Start the stack timer and the yield the thread if necessary. + * @param {object} util - utility object provided by the runtime. + * @param {number} duration - a duration in seconds to set the timer for. + * @private + */ + _startStackTimer (util, duration) { + util.stackFrame.timer = new Timer(); + util.stackFrame.timer.start(); + util.stackFrame.duration = duration; + util.yield(); + } + + /** + * Check if the stack timer needs initialization. + * @param {object} util - utility object provided by the runtime. + * @return {boolean} - true if the stack timer needs to be initialized. + * @private + */ + _stackTimerNeedsInit (util) { + return !util.stackFrame.timer; + } + + /** + * Check the stack timer, and if its time is not up yet, yield the thread. + * @param {object} util - utility object provided by the runtime. + * @private + */ + _checkStackTimer (util) { + const timeElapsed = util.stackFrame.timer.timeElapsed(); + if (timeElapsed < util.stackFrame.duration * 1000) { + util.yield(); + } + } + + /** + * Clamp a duration in beats to the allowed min and max duration. + * @param {number} beats - a duration in beats. + * @return {number} - the clamped duration. + * @private + */ + _clampBeats (beats) { + return MathUtil.clamp(beats, MusicPlayer.BEAT_RANGE.min, MusicPlayer.BEAT_RANGE.max); + } + + +} + +module.exports = MusicPlayer; \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 5d7a9c22b..a17df69df 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -4,6 +4,7 @@ const RenderedTarget = require('../../sprites/rendered-target'); const StageLayering = require('../../engine/stage-layering'); const symbols = require('./symbols'); +const { updateVariableIdentifiers } = require('../../util/variable-util'); class VizHelpers { constructor (runtime) { @@ -26,7 +27,7 @@ class VizHelpers { this.noteList = []; this.axisStartX = -200; - this.axisStartY = -75; + this.axisStartY = -45; this.xAxisLength = 400; this.yAxisLength = 200; this.staffLength = 400; @@ -141,8 +142,9 @@ class VizHelpers { return penState; } - testWaveformViz (args, util) { + testWaveformViz (noteList, args, util) { log.log("HELPER"); + this.noteList = noteList; this.clear(); this.drawAxes(args, util); this.drawSignal(args, util); @@ -160,26 +162,41 @@ class VizHelpers { util.target.setXY(this.axisStartX, this.axisStartY + this.yAxisLength); this.penDown(args, util); util.target.setXY(this.axisStartX, this.axisStartY); - util.target.setXY(this.axisStartX+this.xAxisLength, this.axisStartY); + this.penUp(args, util); + util.target.setXY(this.axisStartX, this.axisStartY+this.yAxisLength/2); + this.penDown(args, util); + util.target.setXY(this.axisStartX+this.xAxisLength, this.axisStartY+this.yAxisLength/2); this.penUp(args, util); } drawSignal(args, util) { x = this.axisStartX; - y = this.axisStartY; - signal = [1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6, 1, 2,3, 4, 5, 6]; //test - - xStep = Math.floor(this.xAxisLength/(signal.length-1)); - heightScaling = Math.round(this.yAxisLength/Math.max(...signal)); - for (i in signal) { - val = signal[i]; - this.penUp(args, util) - util.target.setXY(x, y); - this.penDown(args, util); - util.target.setXY(x, y+val*heightScaling); - x = x+xStep; + y = this.axisStartY+this.yAxisLength/2; + signal = this.noteList; + fs = 500; + const totalSamples = fs*signal + .map( v => v[1] ) + .reduce( (sum, current) => sum + current, 0 ); + xStep = this.xAxisLength/totalSamples; + log.log(xStep); + heightScaling = 100; + util.target.setXY(x, y); + this.penDown(args, util); + for (var i in signal) { + note = signal[i]; + midi = note[0]; + dur = note[1]; + freq = 2**((midi - 69)/12)*440; + Omega = 2*Math.PI*freq/fs; + log.log(dur*fs); + for (var s = 0; s < dur*fs; s++) { + val = heightScaling*(Math.sin(2*Math.PI*freq/44140*s)); + util.target.setXY(x, y + val); + x = x+xStep; + } + log.log(freq, dur); } - this.penUp(args, util); + this.penUp(args,util); } drawStaff(args, util) { @@ -270,7 +287,7 @@ class VizHelpers { this.penDown(args, util); util.target.setXY(x, y); } - x = xmid + xrad-1; + x = xmid + xrad - 1; y = ymid; for (var theta = 0; theta < 2*Math.PI; theta +=step) { this.penUp(args, util); From 90ff922a595311262e92cb65f31071ec766ee1df Mon Sep 17 00:00:00 2001 From: nada Date: Sat, 13 Feb 2021 13:51:21 -0500 Subject: [PATCH 018/149] made Magenta configurable, connected to user inputs, and added play functionality for mystery files --- .../scratch3_musiccreation/analysishelpers.js | 6 ++- .../scratch3_musiccreation/index.js | 49 ++++++++++++++++--- .../musicaccompanimenthelpers.js | 35 ++++++++++--- .../scratch3_musiccreation/vizhelpers.js | 10 +++- 4 files changed, 84 insertions(+), 16 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js index e577bcbb9..5ef8094fb 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js @@ -5,7 +5,6 @@ const MathUtil = require('../../util/math-util'); const Timer = require('../../util/timer'); const log = require('../../util/log'); const musicPlayers = require("./musicplayer"); -const { WaterfallSVGVisualizer } = require('@magenta/music/node/core'); class AnalysisHelpers { constructor (runtime) { @@ -38,6 +37,11 @@ class AnalysisHelpers { } + playFile (args, util) { + note1 = this.filenameToNote[Cast.toNumber(args.FILE)]; + this.play(note1, util); + } + compareFiles (args, util) { note1 = this.filenameToNote[Cast.toNumber(args.FILE1)]; note2 = this.filenameToNote[Cast.toNumber(args.FILE2)]; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index c8d0cf2c8..cd622f5b1 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -25,6 +25,7 @@ class Scratch3MusicCreation { this.noteList = []; + this.wavenoteList = []; this.volumes = [{text: "pianissimo", value: 15}, {text: "piano", value: 30}, @@ -248,10 +249,20 @@ class Scratch3MusicCreation { opcode: 'testMagentaRNN', text: formatMessage({ id: 'musiccreation.testMagentaRNN', - default: 'test Magenta RNN', + default: 'test Magenta RNN with [STEPS] steps and [TEMP] temperature', description: 'test Magenta RNN' }), - blockType: BlockType.COMMAND + blockType: BlockType.COMMAND, + arguments: { + STEPS: { + type: ArgumentType.NUMBER, + defaultValue: 20 + }, + TEMP: { + type: ArgumentType.NUMBER, + defaultValue: 1.5 + }, + }, }, { opcode: 'testMagentaMVAE', @@ -280,6 +291,18 @@ class Scratch3MusicCreation { }), blockType: BlockType.COMMAND }, + { + opcode: 'playMystery', + blockType: BlockType.COMMAND, + text: 'play [FILE]', + arguments: { + FILE: { + type: ArgumentType.NUMBER, + defaultValue: 1, + menu: "FILES" + } + }, + }, { opcode: 'compareFiles', blockType: BlockType.COMMAND, @@ -353,8 +376,8 @@ class Scratch3MusicCreation { } testWaveformViz (args, util) { - this.vizHelper.testWaveformViz(this.noteList, args, util); - this.noteList = []; + this.vizHelper.testWaveformViz(this.wavenoteList, args, util); + this.wavenoteList = []; } testSheetMusicViz (args, util) { @@ -373,11 +396,12 @@ class Scratch3MusicCreation { } testMagentaPlayer (util) { - this.musicAccompanimentHelper.testMagentaPlayer(util); + this.musicAccompanimentHelper.testMagentaPlayer(this.noteList, util); } - testMagentaRNN (utils) { - this.musicAccompanimentHelper.testMagentaRNN(utils); + testMagentaRNN (args, utils) { + this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); + this.noteList = []; } testMagentaMVAE (utils) { @@ -416,9 +440,20 @@ class Scratch3MusicCreation { toAdd = this.musicCreationHelper.playNote(args, util); if (toAdd.length == 2) { this.noteList.push(toAdd); + vol = (this.getVolume()); + for (var m in volumes) { + if (volumes[m].text == vol) { + toAdd.push(volumes[m].value); + } + } + this.wavenoteList.push(toAdd); } } + playMystery (args, util) { + this.analysisHelper.playFile(args, util); + } + compareFiles (args, util) { this.analysisHelper.compareFiles(args, util); } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js index 0c5bc00e7..b1915d2aa 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js @@ -1,10 +1,12 @@ const log = require('../../util/log'); +const Cast = require('../../util/cast'); const hrtime = require('browser-hrtime'); const mvae = require('@magenta/music/node/music_vae'); const core = require('@magenta/music/node/core'); const rnn = require('@magenta/music/node/music_rnn'); const symbols = require('./symbols'); +const { time } = require('format-message'); /** @@ -42,27 +44,48 @@ class MusicAccompanimentHelpers { totalTime: 8 }; + this.noteList = []; + + } + + configure(noteList) { + newNotes = { + notes: [ + + ], + totalTime: 0 + }; + t = 0; + for (var i in noteList) { + note = noteList[i]; + newNotes.notes.push({pitch: note[0], startTime: t, endTime: t + note[1]}); + t = t + note[1]; + newNotes.totalTime += note[1]; + } + return newNotes; } - testMagentaPlayer (util) { + testMagentaPlayer (noteList, util) { log.log("MAGENTA"); + notes = this.configure(noteList); const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); - player.start(TWINKLE_TWINKLE); + player.start(notes); player.stop(); } - testMagentaRNN (utils) { + testMagentaRNN (noteList, args, utils) { const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); if (player.isPlaying()) { player.stop(); return; } + notes = this.configure(noteList); music_rnn = new rnn.MusicRNN('https://storage.googleapis.com/magentadata/js/checkpoints/music_rnn/basic_rnn'); music_rnn.initialize(); - rnn_steps = 20; - rnn_temperature = 1.5; + rnn_steps = Cast.toNumber(args.STEPS); + rnn_temperature = Cast.toNumber(args.TEMP); - const qns = core.sequences.quantizeNoteSequence(TWINKLE_TWINKLE, 4); + const qns = core.sequences.quantizeNoteSequence(notes, 4); music_rnn .continueSequence(qns, rnn_steps, rnn_temperature) .then((sample) => player.start(sample)); diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index a17df69df..61fa51079 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -182,18 +182,24 @@ class VizHelpers { heightScaling = 100; util.target.setXY(x, y); this.penDown(args, util); + st = 0; for (var i in signal) { note = signal[i]; + log.log(note[2]); midi = note[0]; dur = note[1]; + vol = note[2]; + log.log(vol); freq = 2**((midi - 69)/12)*440; Omega = 2*Math.PI*freq/fs; log.log(dur*fs); - for (var s = 0; s < dur*fs; s++) { - val = heightScaling*(Math.sin(2*Math.PI*freq/44140*s)); + var s = 0; + for (s = st; s < st + dur*fs; s++) { + val = vol*(Math.sin(2*Math.PI*freq/44140*s)); util.target.setXY(x, y + val); x = x+xStep; } + st = s; log.log(freq, dur); } this.penUp(args,util); From 845f422e511309dbee9346234d28cc9f11f60d8e Mon Sep 17 00:00:00 2001 From: nada Date: Thu, 11 Mar 2021 13:24:56 -0500 Subject: [PATCH 019/149] lots of small fixes --- .../scratch3_musiccreation/index.js | 40 +++- .../musiccreationhelpers.js | 9 +- .../scratch3_musiccreation/musicplayer.js | 7 +- .../scratch3_musiccreation/vizhelpers.js | 171 +++++++++++++++--- 4 files changed, 179 insertions(+), 48 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index cd622f5b1..fdd6edcdf 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -179,6 +179,11 @@ class Scratch3MusicCreation { id: 'musiccreation', name: 'Music Creation', blocks: [ + { + opcode: 'resetMusic', + blockType: BlockType.COMMAND, + text: 'reset music' + }, { opcode: 'setInstrument', blockType: BlockType.COMMAND, @@ -206,7 +211,7 @@ class Scratch3MusicCreation { { opcode: 'playNote', blockType: BlockType.COMMAND, - text: 'play note with frequency [NOTE] for [SECS] seconds', + text: 'play note [NOTE] for [SECS] beats', arguments: { NOTE: { type: ArgumentType.NOTE, @@ -240,7 +245,7 @@ class Scratch3MusicCreation { opcode: 'testMagentaPlayer', text: formatMessage({ id: 'musiccreation.testMagentaPlayer', - default: 'test Magenta player', + default: 'play music with Magenta player', description: 'test Magenta' }), blockType: BlockType.COMMAND @@ -249,7 +254,7 @@ class Scratch3MusicCreation { opcode: 'testMagentaRNN', text: formatMessage({ id: 'musiccreation.testMagentaRNN', - default: 'test Magenta RNN with [STEPS] steps and [TEMP] temperature', + default: 'complete music with [STEPS] steps and [TEMP] temperature', description: 'test Magenta RNN' }), blockType: BlockType.COMMAND, @@ -268,7 +273,7 @@ class Scratch3MusicCreation { opcode: 'testMagentaMVAE', text: formatMessage({ id: 'musiccreation.testMagentaMVAE', - default: 'test Magenta MVAE', + default: 'generate new music', description: 'test Magenta MVAE' }), blockType: BlockType.COMMAND @@ -277,7 +282,7 @@ class Scratch3MusicCreation { opcode: 'testSheetMusicViz', text: formatMessage({ id: 'musiccreation.testSheetMusicViz', - default: 'test sheet music viz', + default: 'display sheet music', description: 'test sheet music viz' }), blockType: BlockType.COMMAND @@ -286,11 +291,21 @@ class Scratch3MusicCreation { opcode: 'testWaveformViz', text: formatMessage({ id: 'musiccreation.testWaveformViz', - default: 'test waveform viz', + default: 'display waveform', description: 'test waveform viz' }), blockType: BlockType.COMMAND }, + { + opcode: 'testFreqViz', + text: formatMessage({ + id: 'musiccreation.testFreqViz', + default: 'display frequencies', + description: 'test frequency viz' + }), + blockType: BlockType.COMMAND + }, + { opcode: 'playMystery', blockType: BlockType.COMMAND, @@ -375,14 +390,21 @@ class Scratch3MusicCreation { }; } + resetMusic (args, util) { + this.noteList = []; + this.wavenoteList = []; + } + testWaveformViz (args, util) { this.vizHelper.testWaveformViz(this.wavenoteList, args, util); - this.wavenoteList = []; } testSheetMusicViz (args, util) { this.vizHelper.testSheetMusicViz(this.noteList, args, util); - this.noteList = []; + } + + testFreqViz (args, util) { + this.vizHelper.testFreqViz(this.noteList, args, util); } /** @@ -438,7 +460,7 @@ class Scratch3MusicCreation { playNote (args, util) { toAdd = this.musicCreationHelper.playNote(args, util); - if (toAdd.length == 2) { + if (toAdd.length == 3) { this.noteList.push(toAdd); vol = (this.getVolume()); for (var m in volumes) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 0db4139c9..800bf358f 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -278,7 +278,6 @@ class MusicCreationHelpers { getInstrument (util) { const stage = this.runtime.getTargetForStage(); - log.log(stage); if (stage) { if (!stage.instrument) { stage.instrument = "Piano"; @@ -307,7 +306,6 @@ class MusicCreationHelpers { instNum -= 1; // instruments are one-indexed instNum = MathUtil.wrapClamp(instNum, 0, this.INSTRUMENT_INFO.length - 1); musicState.currentInstrument = instNum; - log.log(stage.instrument); } findInstrumentForNumber (number) { @@ -369,7 +367,10 @@ class MusicCreationHelpers { this._playNote(util, note, durationSec); this._startStackTimer(util, durationSec); - return [note, beats]; + const musicState = this._getMusicState(util.target); + const inst = musicState.currentInstrument; + const instrumentInfo = this.INSTRUMENT_INFO[inst] + return [note, beats, instrumentInfo.name]; } else { this._checkStackTimer(util); return []; @@ -398,9 +399,7 @@ class MusicCreationHelpers { // Determine which of the audio samples for this instrument to play const musicState = this._getMusicState(util.target); const inst = musicState.currentInstrument; - log.log("INST", inst); const instrumentInfo = this.INSTRUMENT_INFO[inst]; - log.log(instrumentInfo); const sampleArray = instrumentInfo.samples; const sampleIndex = this._selectSampleIndexForNote(note, sampleArray); diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js index 85c1a8be9..59a7544ce 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js @@ -288,12 +288,10 @@ class MusicPlayer { getInstrument (util) { const stage = this.runtime.getTargetForStage(); - log.log(stage); if (stage) { if (!stage.instrument) { stage.instrument = "Piano"; } - log.log(stage.instrument); return stage.instrument; } return 0; @@ -317,7 +315,6 @@ class MusicPlayer { instNum -= 1; // instruments are one-indexed instNum = MathUtil.wrapClamp(instNum, 0, this.INSTRUMENT_INFO.length - 1); musicState.currentInstrument = instNum; - log.log(stage.instrument); } findInstrumentForNumber (number) { @@ -379,7 +376,9 @@ class MusicPlayer { this._playNote(util, note, durationSec); this._startStackTimer(util, durationSec); - return [note, beats]; + var inst = (instrument == 0) ? musicState.currentInstrument : instruments[instrument.toLowerCase()] + log.log("NEW INST"); + return [note, beats, inst]; } else { this._checkStackTimer(util); return []; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 61fa51079..d1073744e 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -27,14 +27,22 @@ class VizHelpers { this.noteList = []; this.axisStartX = -200; - this.axisStartY = -45; + this.axisStartY = -150; this.xAxisLength = 400; - this.yAxisLength = 200; + this.yAxisLength = 300; + this.staffLength = 400; this.staffStartX = -200; - this.staffStartY = -130; + this.staffStartY = 130; this.staffWidth = 8; + this.spaceBetween = 60; + + this.wavePen = -1; + this.musicPen = 2; + this.FFTPen = 3; + this.spectPen = 4; + this._onTargetCreated = this._onTargetCreated.bind(this); this.runtime.on('targetWasCreated', this._onTargetCreated); @@ -58,6 +66,16 @@ class VizHelpers { 75: 7, 76: 8 } + + harmonics = { + "Piano": [[1,1], [2, 0.5]], + "Guitar": [[1,1], [2, 0.25]], + "Bass": [[1,1], [3, 0.5]], + "Cello": [[1,1], [4, 0.5]], + "Saxophone": [[1,1], [5, 0.5]], + "Clarinet": [[1,1], [6, 0.5]], + "Synth":[[1,1]] + } } /** @@ -133,6 +151,15 @@ class VizHelpers { return this._penSkinId; } + _getWavePenLayerID () { + if (this.wavePen < 0 && this.runtime.renderer) { + this.wavePen = this.runtime.renderer.createPenSkin(); + this.wavePenDrawableId = this.runtime.renderer.createDrawable(StageLayering.PEN_LAYER); + this.runtime.renderer.updateDrawableProperties(this.wavePenDrawableId, {skinId: this.wavePen}); + } + return this.wavePen; + } + _getPenState (target) { let penState = target.getCustomState(VizHelpers.VIZ_STATE_KEY); if (!penState) { @@ -143,7 +170,6 @@ class VizHelpers { } testWaveformViz (noteList, args, util) { - log.log("HELPER"); this.noteList = noteList; this.clear(); this.drawAxes(args, util); @@ -152,12 +178,68 @@ class VizHelpers { testSheetMusicViz (noteList, args, util) { this.noteList = noteList; - log.log("HELPER"); this.clear(); this.drawStaff(args, util); this.drawMusic(args, util); } + testFreqViz (noteList, args, util) { + this.noteList = noteList; + this.clear(); + this.drawAxes(args, util); + this.drawFFT(args, util); + + } + + drawFFT(args, util) { + freqs = []; + amps = []; + for (i in this.noteList) { + midi = this.noteList[i][0]; + inst = this.noteList[i][2]; + log.log(inst); + harmonic = harmonics[inst]; + pitch = 2**((midi - 69)/12)*440; + for (i in harmonic) { + k = harmonic[i][0]; + coeff = harmonic[i][1]; + hPitch = pitch*k; + exists = false; + for (f in freqs) { + fr = freqs[f]; + if (Math.abs(hPitch-fr) < 10**-9) { + amps[f] += coeff; + exists = true; + } + } + if (!exists) { + amp = coeff; + freqs.push(hPitch); + amps.push(amp); + } + + } + } + log.log(freqs); + log.log(amps); + maxFreq = Math.max( ...freqs ); + maxAmp = Math.max( ...amps ); + for (i in freqs) { + freq = freqs[i]; + log.log(freq); + amp = amps[i]; + log.log(amp); + ratio = freq/maxFreq; + ratioAmp = amp/maxAmp; + log.log(ratioAmp); + this.penUp(args, util); + util.target.setXY(this.axisStartX + ratio*this.xAxisLength, this.axisStartY+this.yAxisLength/2); + this.penDown(args, util); + util.target.setXY(this.axisStartX + ratio*this.xAxisLength, this.axisStartY+this.yAxisLength/2 + this.yAxisLength/2*ratioAmp); + this.penUp(args, util); + } + } + drawAxes(args, util) { util.target.setXY(this.axisStartX, this.axisStartY + this.yAxisLength); this.penDown(args, util); @@ -178,29 +260,35 @@ class VizHelpers { .map( v => v[1] ) .reduce( (sum, current) => sum + current, 0 ); xStep = this.xAxisLength/totalSamples; - log.log(xStep); heightScaling = 100; util.target.setXY(x, y); this.penDown(args, util); st = 0; + prevFreq = 0; for (var i in signal) { note = signal[i]; - log.log(note[2]); + log.log("NOTE", note); midi = note[0]; dur = note[1]; - vol = note[2]; - log.log(vol); + inst = note[2]; + vol = note[3]; freq = 2**((midi - 69)/12)*440; - Omega = 2*Math.PI*freq/fs; - log.log(dur*fs); - var s = 0; + Omega = 2*Math.PI*freq/44140; + var st = st*prevFreq/Omega; + prevFreq = Omega; for (s = st; s < st + dur*fs; s++) { - val = vol*(Math.sin(2*Math.PI*freq/44140*s)); - util.target.setXY(x, y + val); + val = 0 + for (var k in harmonics[inst]) { + harmonic = harmonics[inst][k]; + coeff = harmonic[1]; + newk = harmonic[0]; + log.log(harmonic); + val = val + coeff*(Math.sin(Omega*newk*s)); + } + util.target.setXY(x, y + vol*val); x = x+xStep; } - st = s; - log.log(freq, dur); + st = st + dur*fs; } this.penUp(args,util); } @@ -210,19 +298,22 @@ class VizHelpers { endX = this.staffStartX+this.staffLength; y = this.staffStartY; yStep = this.staffWidth; - for (var i = 0; i < 5; i++) { - this.penUp(args, util); - util.target.setXY(startX, y); - this.penDown(args, util); - util.target.setXY(endX, y); - y = y+yStep; + for (var j = 0; j < 6; j++) { + for (var i = 0; i < 5; i++) { + this.penUp(args, util); + util.target.setXY(startX, y); + this.penDown(args, util); + util.target.setXY(endX, y); + y = y+yStep; + } + y = y - this.spaceBetween - yStep*5; } this.drawTreble(args, util); } drawTreble(args, util) { - xstart = -200; - ystart = -80; + xstart = this.staffStartX; + ystart = this.staffStartY+47; treble = symbols.treble; this.penUp(args, util); for (var i in treble) { @@ -240,13 +331,16 @@ class VizHelpers { util.target.setXY(x, y); this.penDown(args, util); } + this.penUp(args, util); } drawMusic(args, util) { - x = -190; - y = -130; + xinit = this.staffStartX+20; + x = xinit; + y = this.staffStartY; xStep = 40; signal = this.convertSignalToMusicList(args, util); + volume = this.findCrescDecresc(); for (i in signal) { note = signal[i][0]; duration = signal[i][1]; @@ -256,12 +350,30 @@ class VizHelpers { up = false; } x = x+xStep; + if (x > this.staffStartX + this.staffLength) { + x = xinit; + y = y - this.spaceBetween; + } ymid = y+note*this.staffWidth/2; xmid = x - 8; this.drawNote(xmid, ymid, duration, up, args, util); } this.penUp(args, util); + + } + + findCrescDecresc() { + //CHANGE TO MP AND P ETC + up = []; + down = []; + upstart = 0; + downstart = 0; + for (var i in this.noteList) { + log.log(this.noteList[i][3]); + + } + } drawNote(xmid, ymid, duration, up, args, util) { @@ -348,7 +460,6 @@ class VizHelpers { dur = this.noteList[i][1]*4 ; signal.push([staff, dur]); } - this.noteList = []; return signal; } @@ -360,14 +471,14 @@ class VizHelpers { } } - penDown (args, util) { + penDown (args, util, penSkinId) { const penState = this._getPenState(util.target); if (!penState.penDown) { penState.penDown = true; util.target.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); } - const penSkinId = this._getPenLayerID(); + penSkinId = this._getPenLayerID(); if (penSkinId >= 0) { this.runtime.renderer.penPoint(penSkinId, penState.penAttributes, util.target.x, util.target.y); this.runtime.requestRedraw(); @@ -378,7 +489,7 @@ class VizHelpers { * The pen "clear" block clears the pen layer's contents. */ clear () { - const penSkinId = this._getPenLayerID(); + penSkinId = this._getPenLayerID(); if (penSkinId >= 0) { this.runtime.renderer.penClear(penSkinId); this.runtime.requestRedraw(); From d6b2bd3d45622464548cb75ea69b0b071014c83c Mon Sep 17 00:00:00 2001 From: nada Date: Mon, 15 Mar 2021 01:07:07 -0400 Subject: [PATCH 020/149] added spectrogram code, dynamic markings, color coded waveform viz --- .../scratch3_musiccreation/index.js | 14 +- .../scratch3_musiccreation/symbols.js | 5 +- .../scratch3_musiccreation/vizhelpers.js | 177 ++++++++++++++++-- 3 files changed, 179 insertions(+), 17 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index fdd6edcdf..3b1eb8b9d 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -305,7 +305,15 @@ class Scratch3MusicCreation { }), blockType: BlockType.COMMAND }, - + { + opcode: 'testSpectViz', + text: formatMessage({ + id: 'musiccreation.testSpectViz', + default: 'display frequencies over time', + description: 'test frequency over time viz' + }), + blockType: BlockType.COMMAND + }, { opcode: 'playMystery', blockType: BlockType.COMMAND, @@ -407,6 +415,10 @@ class Scratch3MusicCreation { this.vizHelper.testFreqViz(this.noteList, args, util); } + testSpectViz (args, util) { + this.vizHelper.testSpectViz(this.noteList, args, util); + } + /** * Select an instrument for playing notes. * @param {object} args - the block arguments. diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js index 9235dd618..0555f5dad 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js @@ -1,3 +1,6 @@ module.exports = { - 'treble': [[61.70984455958549, 316.77720207253884], [63.76683937823834, 321.919689119171], [67.88082901554404, 328.09067357512953], [76.10880829015544, 332.2046632124352], [83.30829015544042, 334.2616580310881], [93.59326424870466, 334.2616580310881], [102.84974093264249, 331.1761658031088], [111.07772020725389, 326.03367875647666], [113.13471502590673, 315.74870466321244], [116.220207253886, 304.43523316062175], [116.220207253886, 299.2927461139896], [116.220207253886, 291.06476683937825], [75.08031088082902, 69.93782383419689], [75.08031088082902, 65.82383419689118], [75.08031088082902, 56.567357512953365], [75.08031088082902, 47.310880829015545], [78.16580310880829, 39.082901554404145], [82.27979274611398, 31.88341968911917], [86.39378238341969, 25.712435233160623], [90.50777202072538, 18.512953367875646], [98.73575129533678, 15.427461139896373], [103.87823834196891, 19.541450777202073], [111.07772020725389, 26.740932642487046], [113.13471502590673, 37.02590673575129], [114.16321243523316, 48.339378238341965], [114.16321243523316, 59.65284974093264], [111.07772020725389, 69.93782383419689], [106.96373056994818, 81.25129533678756], [99.76424870466322, 89.47927461139896], [92.56476683937824, 99.76424870466322], [49.36787564766839, 143.9896373056995], [40.11139896373057, 154.2746113989637], [34.968911917098445, 168.67357512953367], [30.854922279792746, 187.1865284974093], [30.854922279792746, 199.52849740932643], [31.88341968911917, 211.87046632124353], [37.02590673575129, 222.15544041450778], [43.196891191709845, 231.4119170984456], [47.310880829015545, 237.58290155440415], [57.59585492227979, 244.78238341968913], [69.93782383419689, 253.0103626943005], [84.33678756476684, 255.06735751295335], [95.65025906735751, 256.0958549222798], [110.04922279792746, 254.03886010362694], [120.33419689119171, 245.81088082901553], [129.59067357512953, 235.52590673575128], [133.70466321243524, 219.0699481865285], [132.6761658031088, 208.78497409326425], [130.61917098445596, 201.58549222797927], [123.41968911917098, 193.35751295336786], [116.220207253886, 187.1865284974093], [102.84974093264249, 185.12953367875647], [91.53626943005182, 185.12953367875647], [80.22279792746114, 191.30051813471502], [75.08031088082902, 203.6424870466321], [74.05181347150258, 213.92746113989637], [77.13730569948186, 228.32642487046633], [85.36528497409326, 235.52590673575128]] + 'treble': [[0.0, 0.0], [2.0569948186528464, 5.142487046632141], [6.170984455958546, 11.313471502590687], [14.398963730569946, 15.427461139896366], [21.598445595854926, 17.484455958549233], [31.883419689119165, 17.484455958549233], [41.139896373057, 14.39896373056996], [49.3678756476684, 9.25647668393782], [51.42487046632124, -1.0284974093264054], [54.51036269430051, -12.341968911917093], [54.51036269430051, -17.484455958549233], [54.51036269430051, -25.71243523316059], [13.370466321243526, -246.83937823834196], [13.370466321243526, -250.95336787564764], [13.370466321243526, -260.20984455958546], [13.370466321243526, -269.4663212435233], [16.4559585492228, -277.6943005181347], [20.569948186528492, -284.89378238341965], [24.6839378238342, -291.0647668393782], [28.797927461139892, -298.2642487046632], [37.02590673575129, -301.3497409326425], [42.16839378238342, -297.23575129533674], [49.3678756476684, -290.0362694300518], [51.42487046632124, -279.75129533678756], [52.45336787564767, -268.4378238341969], [52.45336787564767, -257.1243523316062], [49.3678756476684, -246.83937823834196], [45.25388601036269, -235.52590673575128], [38.054404145077726, -227.29792746113986], [30.854922279792746, -217.01295336787564], [-12.3419689119171, -172.78756476683935], [-21.59844559585492, -162.50259067357513], [-26.740932642487046, -148.10362694300517], [-30.854922279792746, -129.59067357512953], [-30.854922279792746, -117.24870466321241], [-29.826424870466322, -104.90673575129532], [-24.6839378238342, -94.62176165803106], [-18.512953367875646, -85.36528497409324], [-14.398963730569946, -79.1943005181347], [-4.1139896373057, -71.99481865284972], [8.2279792746114, -63.76683937823833], [22.626943005181346, -61.70984455958549], [33.94041450777202, -60.68134715025906], [48.339378238341965, -62.7383419689119], [58.62435233160622, -70.96632124352331], [67.88082901554404, -81.25129533678756], [71.99481865284974, -97.70725388601034], [70.96632124352331, -107.99222797927459], [68.90932642487047, -115.19170984455957], [61.70984455958549, -123.41968911917098], [54.51036269430051, -129.59067357512953], [41.139896373057, -131.64766839378237], [29.826424870466326, -131.64766839378237], [18.512953367875653, -125.47668393782382], [13.370466321243526, -113.13471502590673], [12.341968911917093, -102.84974093264248], [15.427461139896366, -88.45077720207252], [23.655440414507765, -81.25129533678756]], + 'piano': [[0.0, 0.0], [0.0, -1.8770388958594708], [2.8155583437892346, -4.6925972396487055], [6.569636135508176, -4.6925972396487055], [6.569636135508176, -2.815558343789178], [6.569636135508176, 0.9385194479297638], [4.6925972396487055, 5.631116687578412], [3.7540777917189416, 9.385194479297354], [1.8770388958594708, 14.077791718946003], [0.0, 16.893350062735237], [-0.9385194479297354, 20.64742785445418], [-2.815558343789206, 20.64742785445418], [-5.631116687578412, 20.64742785445418], [-4.692597239648677, 20.64742785445418], [-0.9385194479297354, 20.64742785445418], [4.6925972396487055, 20.64742785445418], [7.508155583437883, 21.585947302384], [3.7540777917189416, 20.64742785445418], [2.8155583437892346, 17.831869510664944], [3.7540777917189416, 13.139272271016296], [3.7540777917189416, 9.385194479297354], [5.631116687578412, 4.6925972396487055], [5.631116687578412, 0.9385194479297638], [7.508155583437883, -1.8770388958594708], [10.323713927227118, -2.815558343789178], [12.200752823086589, -5.631116687578412], [15.016311166875767, -5.631116687578412], [18.770388958594708, -4.6925972396487055], [18.770388958594708, -0.938519447929707], [18.770388958594708, 1.8770388958594708], [17.831869510665, 4.6925972396487055], [15.95483061480553, 7.50815558343794], [12.200752823086589, 9.385194479297354], [10.323713927227118, 9.385194479297354], [7.508155583437883, 8.446675031367647]], + 'forte': [[0.0, 0.0], [0.0, -2.815558343789206], [0.0, -4.692597239648677], [-1.8770388958594708, -4.692597239648677], [-2.8155583437892346, -4.692597239648677], [-5.631116687578469, -4.692597239648677], [-7.50815558343794, -2.815558343789206], [-10.323713927227118, 0.9385194479297354], [-11.262233375156882, 3.7540777917189416], [-12.200752823086589, 4.6925972396487055], [-14.07779171894606, 4.6925972396487055], [-15.016311166875823, 4.6925972396487055], [-16.893350062735294, 4.6925972396487055], [-17.831869510665, 4.6925972396487055], [-18.770388958594765, 4.6925972396487055], [-19.708908406524472, 5.631116687578441], [-3.7540777917189416, 5.631116687578441], [-12.200752823086589, 5.631116687578441], [-14.07779171894606, 9.385194479297382], [-14.07779171894606, 12.200752823086589], [-15.95483061480553, 15.95483061480553], [-16.893350062735294, 17.831869510665], [-17.831869510665, 21.58594730238397], [-18.770388958594765, 25.340025094102913], [-19.708908406524472, 27.217063989962384], [-20.647427854454236, 28.15558343789209], [-24.401505646173177, 28.15558343789209], [-26.278544542032648, 28.15558343789209], [-26.278544542032648, 28.15558343789209], [-28.15558343789212, 27.217063989962384], [-29.094102885821854, 24.40150564617315]], + 'mezzo': [[-20.0, 0.0], [-19.061480552070265, -1.8770388958594708], [-18.12296110414053, -4.692597239648649], [-15.307402760351295, -7.508155583437883], [-13.430363864491824, -7.508155583437883], [-11.553324968632353, -6.569636135508119], [-11.553324968632353, -3.7540777917189416], [-12.491844416562088, -0.938519447929707], [-14.36888331242156, 2.8155583437892346], [-14.36888331242156, 5.631116687578469], [-15.307402760351295, 6.569636135508176], [-12.491844416562088, -1.8770388958594708], [-11.553324968632353, -4.692597239648649], [-7.799247176913411, -6.569636135508119], [-4.983688833124205, -6.569636135508119], [-4.04516938519447, -3.7540777917189416], [-4.983688833124205, -0.938519447929707], [-5.9222082810539405, 1.8770388958594708], [-6.860727728983676, 5.631116687578469], [-7.799247176913411, 7.50815558343794], [-4.983688833124205, -1.8770388958594708], [-2.168130489334999, -4.692597239648649], [1.5859473023839428, -5.631116687578412], [5.340025094102884, -5.631116687578412], [4.401505646173177, -2.815558343789178], [3.4629861982434136, 0.0], [1.5859473023839428, 3.7540777917189416], [1.5859473023839428, 7.50815558343794], [2.5244667503137066, 9.385194479297411], [6.278544542032648, 8.446675031367647], [9.094102885821826, 3.7540777917189416]] } \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index d1073744e..2f2872222 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -1,5 +1,7 @@ const Clone = require('../../util/clone'); const log = require('../../util/log'); +const Cast = require('../../util/cast'); +const Color = require('../../util/color'); const RenderedTarget = require('../../sprites/rendered-target'); const StageLayering = require('../../engine/stage-layering'); @@ -23,6 +25,7 @@ class VizHelpers { * @private */ this._penDrawableId = -1; + this.black = '0x000000'; this.noteList = []; @@ -36,7 +39,7 @@ class VizHelpers { this.staffStartY = 130; this.staffWidth = 8; - this.spaceBetween = 60; + this.spaceBetween = 70; this.wavePen = -1; this.musicPen = 2; @@ -76,6 +79,15 @@ class VizHelpers { "Clarinet": [[1,1], [6, 0.5]], "Synth":[[1,1]] } + + this.symbols = { + 15: [symbols.piano, symbols.piano], + 30: [symbols.piano], + 45: [symbols.mezzo, symbols.piano], + 60: [symbols.mezzo, symbols.forte], + 85: [symbols.forte], + 100: [symbols.forte, symbols.forte] + } } /** @@ -170,6 +182,7 @@ class VizHelpers { } testWaveformViz (noteList, args, util) { + this.setPenColorToColor(this.black, util); this.noteList = noteList; this.clear(); this.drawAxes(args, util); @@ -177,6 +190,7 @@ class VizHelpers { } testSheetMusicViz (noteList, args, util) { + this.setPenColorToColor(this.black, util); this.noteList = noteList; this.clear(); this.drawStaff(args, util); @@ -184,6 +198,7 @@ class VizHelpers { } testFreqViz (noteList, args, util) { + this.setPenColorToColor(this.black, util); this.noteList = noteList; this.clear(); this.drawAxes(args, util); @@ -191,13 +206,62 @@ class VizHelpers { } + testSpectViz (noteList, args, util) { + this.setPenColorToColor(this.black, util); + this.noteList = noteList; + this.clear(); + this.drawAxes(args, util); + this.drawSpectrogram(args, util); + + } + + drawSpectrogram(args, util) { + freqs = []; + amps = []; + durs = []; + d = 0; + for (i in this.noteList) { + midi = this.noteList[i][0]; + inst = this.noteList[i][2]; + dur = this.noteList[i][1]; + harmonic = harmonics[inst]; + pitch = 2**((midi - 69)/12)*440; + for (i in harmonic) { + k = harmonic[i][0]; + coeff = harmonic[i][1]; + hPitch = pitch*k; + freqs.push(hPitch); + amps.push(coeff); + durs.push([d, d+dur]) + + } + d += dur; + } + maxDuration = d; + maxFreq = Math.max( ...freqs ); + for (i in freqs) { + f = freqs[i]/maxFreq; + d = durs[i]; + start = d[0]; + end = d[1]; + start = start/maxDuration; + end = end/maxDuration; + + this.penUp(args, util); + util.target.setXY(this.axisStartX + start*this.xAxisLength, this.axisStartY+this.yAxisLength/2+this.yAxisLength/2*f); + this.penDown(args, util); + util.target.setXY(this.axisStartX + end*this.xAxisLength, this.axisStartY+this.yAxisLength/2 + this.yAxisLength/2*f); + this.penUp(args, util); + + } + } + drawFFT(args, util) { freqs = []; amps = []; for (i in this.noteList) { midi = this.noteList[i][0]; inst = this.noteList[i][2]; - log.log(inst); harmonic = harmonics[inst]; pitch = 2**((midi - 69)/12)*440; for (i in harmonic) { @@ -220,18 +284,13 @@ class VizHelpers { } } - log.log(freqs); - log.log(amps); maxFreq = Math.max( ...freqs ); maxAmp = Math.max( ...amps ); for (i in freqs) { freq = freqs[i]; - log.log(freq); amp = amps[i]; - log.log(amp); ratio = freq/maxFreq; ratioAmp = amp/maxAmp; - log.log(ratioAmp); this.penUp(args, util); util.target.setXY(this.axisStartX + ratio*this.xAxisLength, this.axisStartY+this.yAxisLength/2); this.penDown(args, util); @@ -252,6 +311,7 @@ class VizHelpers { } drawSignal(args, util) { + colors = ['0xff0000', '0x0000ff'] x = this.axisStartX; y = this.axisStartY+this.yAxisLength/2; signal = this.noteList; @@ -266,8 +326,9 @@ class VizHelpers { st = 0; prevFreq = 0; for (var i in signal) { + c = colors[i%2]; + this.setPenColorToColor(c, util); note = signal[i]; - log.log("NOTE", note); midi = note[0]; dur = note[1]; inst = note[2]; @@ -282,7 +343,6 @@ class VizHelpers { harmonic = harmonics[inst][k]; coeff = harmonic[1]; newk = harmonic[0]; - log.log(harmonic); val = val + coeff*(Math.sin(Omega*newk*s)); } util.target.setXY(x, y + vol*val); @@ -311,9 +371,23 @@ class VizHelpers { this.drawTreble(args, util); } + drawSymbol(symbol, args, util, xStart, yStart) { + symbolX = 0; + symbolY = 0; + this.penUp(args, util); + for (var i in symbol) { + coord = symbol[i]; + symbolX = coord[0]/2 + xStart; + symbolY = -coord[1]/2 + yStart; + util.target.setXY(symbolX, symbolY); + this.penDown(args, util); + } + this.penUp(args, util); + } + drawTreble(args, util) { - xstart = this.staffStartX; - ystart = this.staffStartY+47; + xstart = this.staffStartX+10; + ystart = this.staffStartY-12; treble = symbols.treble; this.penUp(args, util); for (var i in treble) { @@ -340,10 +414,12 @@ class VizHelpers { y = this.staffStartY; xStep = 40; signal = this.convertSignalToMusicList(args, util); - volume = this.findCrescDecresc(); + pastVol = 0; + //volume = this.findCrescDecresc(); for (i in signal) { note = signal[i][0]; duration = signal[i][1]; + volume = signal[i][2]; if (note <= 4) { up = true; } else { @@ -357,7 +433,21 @@ class VizHelpers { ymid = y+note*this.staffWidth/2; xmid = x - 8; this.drawNote(xmid, ymid, duration, up, args, util); - + if ((volume!=pastVol)) { + newX = xmid; + newY = y-this.spaceBetween/4; + log.log("VOLUME", volume); + sym = this.symbols[volume]; + log.log(sym); + initial = 0; + for (i in sym) { + log.log(i); + s = sym[i]; + this.drawSymbol(s, args, util, newX+initial, newY); + initial += 10; + } + } + pastVol = volume; } this.penUp(args, util); @@ -457,8 +547,9 @@ class VizHelpers { for (var i in this.noteList) { freq = this.noteList[i][0]; staff = pitchToStaff[freq]; - dur = this.noteList[i][1]*4 ; - signal.push([staff, dur]); + dur = this.noteList[i][1]*4; + amp = this.noteList[i][3]; + signal.push([staff, dur, amp]); } return signal; } @@ -485,6 +576,62 @@ class VizHelpers { } } + /** + * The pen "set pen color to {color}" block sets the pen to a particular RGB color. + * The transparency is reset to 0. + * @param {object} args - the block arguments. + * @property {int} COLOR - the color to set, expressed as a 24-bit RGB value (0xRRGGBB). + * @param {object} util - utility object provided by the runtime. + */ + setPenColorToColor (newColor, util) { + const penState = this._getPenState(util.target); + const rgb = Cast.toRgbColorObject(newColor); + const hsv = Color.rgbToHsv(rgb); + penState.color = (hsv.h / 360) * 100; + penState.saturation = hsv.s * 100; + penState.brightness = hsv.v * 100; + if (rgb.hasOwnProperty('a')) { + penState.transparency = 100 * (1 - (rgb.a / 255.0)); + } else { + penState.transparency = 0; + } + + // Set the legacy "shade" value the same way scratch 2 did. + penState._shade = penState.brightness / 2; + + this._updatePenColor(penState); + } + + /** + * Update the cached color from the color, saturation, brightness and transparency values + * in the provided PenState object. + * @param {PenState} penState - the pen state to update. + * @private + */ + _updatePenColor (penState) { + const rgb = Color.hsvToRgb({ + h: penState.color * 360 / 100, + s: penState.saturation / 100, + v: penState.brightness / 100 + }); + penState.penAttributes.color4f[0] = rgb.r / 255.0; + penState.penAttributes.color4f[1] = rgb.g / 255.0; + penState.penAttributes.color4f[2] = rgb.b / 255.0; + penState.penAttributes.color4f[3] = this._transparencyToAlpha(penState.transparency); + } + + /** + * Convert a pen transparency value to an alpha value. + * Alpha ranges from 0 to 1, where 0 is transparent and 1 is opaque. + * Transparency ranges from 0 to 100, where 0 is opaque and 100 is transparent. + * @param {number} transparency - the input transparency value. + * @returns {number} the alpha value. + * @private + */ + _transparencyToAlpha (transparency) { + return 1.0 - (transparency / 100.0); + } + /** * The pen "clear" block clears the pen layer's contents. */ From 00ab9d912d2cc4ce48a7a1e0da1fa7250d9acc50 Mon Sep 17 00:00:00 2001 From: nada Date: Fri, 2 Apr 2021 13:59:41 -0400 Subject: [PATCH 021/149] split up viz --- .../extensions/scratch3_musiccreation/fft.js | 325 ++++++++++++ .../scratch3_musiccreation/sheetmusic.js | 484 ++++++++++++++++++ .../scratch3_musiccreation/spectrogram.js | 303 +++++++++++ .../scratch3_musiccreation/vizhelpers.js | 298 +---------- .../scratch3_musiccreation/waveform.js | 308 +++++++++++ 5 files changed, 1442 insertions(+), 276 deletions(-) create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js new file mode 100644 index 000000000..29ed83a14 --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js @@ -0,0 +1,325 @@ +const Clone = require('../../util/clone'); +const log = require('../../util/log'); +const Cast = require('../../util/cast'); +const Color = require('../../util/color'); +const RenderedTarget = require('../../sprites/rendered-target'); +const StageLayering = require('../../engine/stage-layering'); + +const symbols = require('./symbols'); +const { updateVariableIdentifiers } = require('../../util/variable-util'); + +class FFT { + constructor (runtime) { + this.runtime = runtime; + + /** + * The ID of the renderer Skin corresponding to the pen layer. + * @type {int} + * @private + */ + this._penSkinId = -1; + + /** + * The ID of the renderer Drawable corresponding to the pen layer. + * @type {int} + * @private + */ + this._penDrawableId = -1; + this.black = '0x000000'; + + this.noteList = []; + + this.axisStartX = -200; + this.axisStartY = -150; + this.xAxisLength = 400; + this.yAxisLength = 300; + + this._onTargetCreated = this._onTargetCreated.bind(this); + this.runtime.on('targetWasCreated', this._onTargetCreated); + + this._onTargetMoved = this._onTargetMoved.bind(this); + + harmonics = { + "Piano": [[1,1], [2, 0.5]], + "Guitar": [[1,1], [2, 0.25]], + "Bass": [[1,1], [3, 0.5]], + "Cello": [[1,1], [4, 0.5]], + "Saxophone": [[1,1], [5, 0.5]], + "Clarinet": [[1,1], [6, 0.5]], + "Synth":[[1,1]] + } + } + + /** + * The key to load & store a target's music-related state. + * @type {string} + */ + static get VIZ_STATE_KEY () { + return 'Scratch.musicviz'; + } + + static get DEFAULT_PEN_STATE () { + return { + penDown: false, + color: 66.66, + saturation: 100, + brightness: 100, + transparency: 0, + _shade: 50, // Used only for legacy `change shade by` blocks + penAttributes: { + color4f: [0, 0, 1, 1], + diameter: 1 + } + }; + } + + /** + * The minimum and maximum allowed pen size. + * The maximum is twice the diagonal of the stage, so that even an + * off-stage sprite can fill it. + * @type {{min: number, max: number}} + */ + static get PEN_SIZE_RANGE () { + return {min: 1, max: 1200}; + } + + /** + * When a music-playing Target is cloned, clone the music state. + * @param {Target} newTarget - the newly created target. + * @param {Target} [sourceTarget] - the target used as a source for the new clone, if any. + * @listens Runtime#event:targetWasCreated + * @private + */ + _onTargetCreated (newTarget, sourceTarget) { + if (sourceTarget) { + const penState = sourceTarget.getCustomState(FFT.VIZ_STATE_KEY); + if (penState) { + newTarget.setCustomState(FFT.VIZ_STATE_KEY, Clone.simple(penState)); + if (penState.penDown) { + newTarget.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + } + } + } + + _onTargetMoved (target, oldX, oldY, isForce) { + // Only move the pen if the movement isn't forced (ie. dragged). + if (!isForce) { + const penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + const penState = this._getPenState(target); + this.runtime.renderer.penLine(penSkinId, penState.penAttributes, oldX, oldY, target.x, target.y); + this.runtime.requestRedraw(); + } + } + } + + _getPenLayerID () { + if (this._penSkinId < 0 && this.runtime.renderer) { + this._penSkinId = this.runtime.renderer.createPenSkin(); + this._penDrawableId = this.runtime.renderer.createDrawable(StageLayering.PEN_LAYER); + this.runtime.renderer.updateDrawableProperties(this._penDrawableId, {skinId: this._penSkinId}); + } + return this._penSkinId; + } + + _getWavePenLayerID () { + if (this.wavePen < 0 && this.runtime.renderer) { + this.wavePen = this.runtime.renderer.createPenSkin(); + this.wavePenDrawableId = this.runtime.renderer.createDrawable(StageLayering.PEN_LAYER); + this.runtime.renderer.updateDrawableProperties(this.wavePenDrawableId, {skinId: this.wavePen}); + } + return this.wavePen; + } + + _getPenState (target) { + let penState = target.getCustomState(FFT.VIZ_STATE_KEY); + if (!penState) { + penState = Clone.simple(FFT.DEFAULT_PEN_STATE); + target.setCustomState(FFT.VIZ_STATE_KEY, penState); + } + return penState; + } + + testFreqViz (noteList, args, util) { + this.setPenColorToColor(this.black, util); + this.noteList = noteList; + this.clear(); + this.drawAxes(args, util); + this.drawFFT(args, util); + + } + + drawFFT(args, util) { + colors = ['0xff0000', '0x0000ff', '0x00ff00', '0xffa500']; + this.setPenColorToColor(colors[1], util); + freqs = []; + amps = []; + for (i in this.noteList) { + midi = this.noteList[i][0]; + inst = this.noteList[i][2]; + harmonic = harmonics[inst]; + pitch = 2**((midi - 69)/12)*440; + for (i in harmonic) { + k = harmonic[i][0]; + coeff = harmonic[i][1]; + hPitch = pitch*k; + exists = false; + for (f in freqs) { + fr = freqs[f]; + if (Math.abs(hPitch-fr) < 10**-9) { + amps[f] += coeff; + exists = true; + } + } + if (!exists) { + amp = coeff; + freqs.push(hPitch); + amps.push(amp); + } + + } + } + maxFreq = Math.max( ...freqs ); + maxAmp = Math.max( ...amps ); + for (i in freqs) { + freq = freqs[i]; + amp = amps[i]; + ratio = freq/maxFreq; + ratioAmp = amp/maxAmp; + this.penUp(args, util); + util.target.setXY(this.axisStartX + ratio*this.xAxisLength, this.axisStartY); + this.penDown(args, util); + util.target.setXY(this.axisStartX + ratio*this.xAxisLength, this.axisStartY+this.yAxisLength*ratio); + this.penUp(args, util); + } + } + + drawAxes(args, util) { + util.target.setXY(this.axisStartX, this.axisStartY + this.yAxisLength); + this.penDown(args, util); + util.target.setXY(this.axisStartX, this.axisStartY); + this.penUp(args, util); + util.target.setXY(this.axisStartX, this.axisStartY); + this.penDown(args, util); + util.target.setXY(this.axisStartX+this.xAxisLength, this.axisStartY); + this.penUp(args, util); + } + + findCrescDecresc() { + //CHANGE TO MP AND P ETC + up = []; + down = []; + upstart = 0; + downstart = 0; + for (var i in this.noteList) { + log.log(this.noteList[i][3]); + + } + + } + + convertSignalToMusicList (args, util) { + signal = []; + for (var i in this.noteList) { + freq = this.noteList[i][0]; + staff = pitchToStaff[freq]; + dur = this.noteList[i][1]*4; + amp = this.noteList[i][3]; + signal.push([staff, dur, amp]); + } + return signal; + } + + penUp (args, util) { + const penState = this._getPenState(util.target); + if (penState.penDown) { + penState.penDown = false; + util.target.removeListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + } + + penDown (args, util, penSkinId) { + const penState = this._getPenState(util.target); + if (!penState.penDown) { + penState.penDown = true; + util.target.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + + penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + this.runtime.renderer.penPoint(penSkinId, penState.penAttributes, util.target.x, util.target.y); + this.runtime.requestRedraw(); + } + } + + /** + * The pen "set pen color to {color}" block sets the pen to a particular RGB color. + * The transparency is reset to 0. + * @param {object} args - the block arguments. + * @property {int} COLOR - the color to set, expressed as a 24-bit RGB value (0xRRGGBB). + * @param {object} util - utility object provided by the runtime. + */ + setPenColorToColor (newColor, util) { + const penState = this._getPenState(util.target); + const rgb = Cast.toRgbColorObject(newColor); + const hsv = Color.rgbToHsv(rgb); + penState.color = (hsv.h / 360) * 100; + penState.saturation = hsv.s * 100; + penState.brightness = hsv.v * 100; + if (rgb.hasOwnProperty('a')) { + penState.transparency = 100 * (1 - (rgb.a / 255.0)); + } else { + penState.transparency = 0; + } + + // Set the legacy "shade" value the same way scratch 2 did. + penState._shade = penState.brightness / 2; + + this._updatePenColor(penState); + } + + /** + * Update the cached color from the color, saturation, brightness and transparency values + * in the provided PenState object. + * @param {PenState} penState - the pen state to update. + * @private + */ + _updatePenColor (penState) { + const rgb = Color.hsvToRgb({ + h: penState.color * 360 / 100, + s: penState.saturation / 100, + v: penState.brightness / 100 + }); + penState.penAttributes.color4f[0] = rgb.r / 255.0; + penState.penAttributes.color4f[1] = rgb.g / 255.0; + penState.penAttributes.color4f[2] = rgb.b / 255.0; + penState.penAttributes.color4f[3] = this._transparencyToAlpha(penState.transparency); + } + + /** + * Convert a pen transparency value to an alpha value. + * Alpha ranges from 0 to 1, where 0 is transparent and 1 is opaque. + * Transparency ranges from 0 to 100, where 0 is opaque and 100 is transparent. + * @param {number} transparency - the input transparency value. + * @returns {number} the alpha value. + * @private + */ + _transparencyToAlpha (transparency) { + return 1.0 - (transparency / 100.0); + } + + /** + * The pen "clear" block clears the pen layer's contents. + */ + clear () { + penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + this.runtime.renderer.penClear(penSkinId); + this.runtime.requestRedraw(); + } + } + +} + +module.exports = FFT; \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js new file mode 100644 index 000000000..58619e085 --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -0,0 +1,484 @@ +const Clone = require('../../util/clone'); +const log = require('../../util/log'); +const Cast = require('../../util/cast'); +const Color = require('../../util/color'); +const RenderedTarget = require('../../sprites/rendered-target'); +const StageLayering = require('../../engine/stage-layering'); + +const symbols = require('./symbols'); +const { updateVariableIdentifiers } = require('../../util/variable-util'); + +class SheetMusic { + constructor (runtime) { + this.runtime = runtime; + + /** + * The ID of the renderer Skin corresponding to the pen layer. + * @type {int} + * @private + */ + this._penSkinId = -1; + + /** + * The ID of the renderer Drawable corresponding to the pen layer. + * @type {int} + * @private + */ + this._penDrawableId = -1; + this.black = '0x000000'; + + this.noteList = []; + + this.axisStartX = -200; + this.axisStartY = -150; + this.xAxisLength = 400; + this.yAxisLength = 300; + + this.staffLength = 400; + this.staffStartX = -200; + this.staffStartY = 130; + this.staffWidth = 8; + + this.spaceBetween = 70; + + this.wavePen = -1; + this.musicPen = 2; + this.FFTPen = 3; + this.spectPen = 4; + + this._onTargetCreated = this._onTargetCreated.bind(this); + this.runtime.on('targetWasCreated', this._onTargetCreated); + + this._onTargetMoved = this._onTargetMoved.bind(this); + + pitchToStaff = { + 60: -2, + 61: -2, + 62: -1, + 63: 0, + 64: 0, + 65: 2, + 66: 2, + 67: 3, + 68: 3, + 69: 4, + 70: 5, + 71: 5, + 72: 6, + 73: 6, + 75: 7, + 76: 8 + } + + harmonics = { + "Piano": [[1,1], [2, 0.5]], + "Guitar": [[1,1], [2, 0.25]], + "Bass": [[1,1], [3, 0.5]], + "Cello": [[1,1], [4, 0.5]], + "Saxophone": [[1,1], [5, 0.5]], + "Clarinet": [[1,1], [6, 0.5]], + "Synth":[[1,1]] + } + + this.symbols = { + 15: [symbols.piano, symbols.piano], + 30: [symbols.piano], + 45: [symbols.mezzo, symbols.piano], + 60: [symbols.mezzo, symbols.forte], + 85: [symbols.forte], + 100: [symbols.forte, symbols.forte] + } + + this.spacing = { + 15: [10, 0], + 30: [10, 0], + 45: [5, 0], + 60: [10, 0], + 85: [10, 0], + 100: [10, 0] + } + } + + /** + * The key to load & store a target's music-related state. + * @type {string} + */ + static get VIZ_STATE_KEY () { + return 'Scratch.musicviz'; + } + + static get DEFAULT_PEN_STATE () { + return { + penDown: false, + color: 66.66, + saturation: 100, + brightness: 100, + transparency: 0, + _shade: 50, // Used only for legacy `change shade by` blocks + penAttributes: { + color4f: [0, 0, 1, 1], + diameter: 1 + } + }; + } + + /** + * The minimum and maximum allowed pen size. + * The maximum is twice the diagonal of the stage, so that even an + * off-stage sprite can fill it. + * @type {{min: number, max: number}} + */ + static get PEN_SIZE_RANGE () { + return {min: 1, max: 1200}; + } + + /** + * When a music-playing Target is cloned, clone the music state. + * @param {Target} newTarget - the newly created target. + * @param {Target} [sourceTarget] - the target used as a source for the new clone, if any. + * @listens Runtime#event:targetWasCreated + * @private + */ + _onTargetCreated (newTarget, sourceTarget) { + if (sourceTarget) { + const penState = sourceTarget.getCustomState(SheetMusic.VIZ_STATE_KEY); + if (penState) { + newTarget.setCustomState(SheetMusic.VIZ_STATE_KEY, Clone.simple(penState)); + if (penState.penDown) { + newTarget.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + } + } + } + + _onTargetMoved (target, oldX, oldY, isForce) { + // Only move the pen if the movement isn't forced (ie. dragged). + if (!isForce) { + const penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + const penState = this._getPenState(target); + this.runtime.renderer.penLine(penSkinId, penState.penAttributes, oldX, oldY, target.x, target.y); + this.runtime.requestRedraw(); + } + } + } + + _getPenLayerID () { + if (this._penSkinId < 0 && this.runtime.renderer) { + this._penSkinId = this.runtime.renderer.createPenSkin(); + this._penDrawableId = this.runtime.renderer.createDrawable(StageLayering.PEN_LAYER); + this.runtime.renderer.updateDrawableProperties(this._penDrawableId, {skinId: this._penSkinId}); + } + return this._penSkinId; + } + + _getPenState (target) { + let penState = target.getCustomState(SheetMusic.VIZ_STATE_KEY); + if (!penState) { + penState = Clone.simple(SheetMusic.DEFAULT_PEN_STATE); + target.setCustomState(SheetMusic.VIZ_STATE_KEY, penState); + } + return penState; + } + + testSheetMusicViz (noteList, args, util) { + this.setPenColorToColor(this.black, util); + this.noteList = noteList; + this.clear(); + this.drawStaff(args, util); + this.drawMusic(args, util); + } + + drawStaff(args, util) { + startX = this.staffStartX; + endX = this.staffStartX+this.staffLength; + y = this.staffStartY; + yStep = this.staffWidth; + for (var j = 0; j < 6; j++) { + for (var i = 0; i < 5; i++) { + this.penUp(args, util); + util.target.setXY(startX, y); + this.penDown(args, util); + util.target.setXY(endX, y); + y = y+yStep; + } + y = y - this.spaceBetween - yStep*5; + } + this.drawTreble(args, util); + } + + drawSymbol(symbol, args, util, xStart, yStart) { + symbolX = 0; + symbolY = 0; + this.penUp(args, util); + for (var i in symbol) { + coord = symbol[i]; + symbolX = coord[0]/2 + xStart; + symbolY = -coord[1]/2 + yStart; + util.target.setXY(symbolX, symbolY); + this.penDown(args, util); + } + this.penUp(args, util); + } + + drawTreble(args, util) { + xstart = this.staffStartX+10; + ystart = this.staffStartY-12; + treble = symbols.treble; + this.penUp(args, util); + for (var i in treble) { + coord = treble[i]; + x = coord[0]/5 + xstart; + y = -coord[1]/5 + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + for (var i in treble) { + coord = treble[i]; + x = coord[0]/5 + xstart+1; + y = -coord[1]/5 + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + } + + drawMusic(args, util) { + xinit = this.staffStartX+20; + x = xinit; + y = this.staffStartY; + xStep = 40; + signal = this.convertSignalToMusicList(args, util); + pastVol = 0; + //volume = this.findCrescDecresc(); + for (i in signal) { + note = signal[i][0]; + duration = signal[i][1]; + volume = signal[i][2]; + if (note <= 4) { + up = true; + } else { + up = false; + } + x = x+xStep; + if (x > this.staffStartX + this.staffLength) { + x = xinit; + y = y - this.spaceBetween; + } + ymid = y+note*this.staffWidth/2; + xmid = x - 8; + this.drawNote(xmid, ymid, duration, up, args, util); + if ((volume!=pastVol)) { + newX = xmid; + newY = y-this.spaceBetween/4; + log.log("VOLUME", volume); + sym = this.symbols[volume]; + log.log(sym); + initial = 0; + for (i in sym) { + log.log(i); + s = sym[i]; + this.drawSymbol(s, args, util, newX+initial, newY); + initial += this.spacing[volume][i]; + } + } + pastVol = volume; + } + this.penUp(args, util); + + } + + findCrescDecresc() { + //CHANGE TO MP AND P ETC + up = []; + down = []; + upstart = 0; + downstart = 0; + for (var i in this.noteList) { + log.log(this.noteList[i][3]); + + } + + } + + drawNote(xmid, ymid, duration, up, args, util) { + xrad = 8; + yrad = 4; + if (up) { + flip = 1; + } else { + flip = -1; + } + step = Math.PI/100; + if (duration <= 1){ //draw solid note for sixteenth, eighth, and quarter notes + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(xmid, ymid); + var x = xmid + xrad*Math.cos(theta); + var y = ymid - yrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + } else { //draw hollow note for half, dotted half, and whole notes + x = xmid + xrad; + y = ymid; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(x, y); + x = xmid + xrad*Math.cos(theta); + y = ymid - yrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + x = xmid + xrad - 1; + y = ymid; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(x, y); + x = xmid + (xrad-1)*Math.cos(theta); + y = ymid - (yrad-1)*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + } + if (duration == 3) { //add dot for dotted half note + dotrad = 2; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(xmid+12, ymid); + var x = xmid + 12 + dotrad*Math.cos(theta); + var y = ymid - dotrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + } + if (duration != 4) { //add stem for non-whole notes + this.penUp(args, util); + util.target.setXY(xmid+flip*xrad, ymid); + this.penDown(args, util); + util.target.setXY(xmid+flip*xrad, ymid+flip*30); + } + if (duration < 1) { //add tails for < quarter notes + offset = 0; + for (var i = 0; i < 1/(duration*2); i++) { + this.penUp(args, util); + util.target.setXY(xmid+flip*xrad, ymid+flip*(30+offset*6)); + this.penDown(args, util); + util.target.setXY(xmid+flip*xrad+2, ymid + flip*(30 + offset*6 - 8)); + util.target.setXY(xmid+flip*xrad+10, ymid + flip*(30 + offset*6 - 12)); + this.penUp(args, util); + util.target.setXY(xmid+flip*xrad, ymid+flip*(30+offset*6+2)); + this.penDown(args, util); + util.target.setXY(xmid+flip*xrad+2, ymid + flip*(30 + offset*6 - 8+1)); + util.target.setXY(xmid+flip*xrad+10, ymid + flip*(30 + offset*6 - 12+1)); + offset += 1; + this.penUp(args, util); + } + } + } + + convertSignalToMusicList (args, util) { + signal = []; + for (var i in this.noteList) { + freq = this.noteList[i][0]; + staff = pitchToStaff[freq]; + dur = this.noteList[i][1]*4; + amp = this.noteList[i][3]; + signal.push([staff, dur, amp]); + } + return signal; + } + + penUp (args, util) { + const penState = this._getPenState(util.target); + if (penState.penDown) { + penState.penDown = false; + util.target.removeListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + } + + penDown (args, util, penSkinId) { + const penState = this._getPenState(util.target); + if (!penState.penDown) { + penState.penDown = true; + util.target.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + + penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + this.runtime.renderer.penPoint(penSkinId, penState.penAttributes, util.target.x, util.target.y); + this.runtime.requestRedraw(); + } + } + + /** + * The pen "set pen color to {color}" block sets the pen to a particular RGB color. + * The transparency is reset to 0. + * @param {object} args - the block arguments. + * @property {int} COLOR - the color to set, expressed as a 24-bit RGB value (0xRRGGBB). + * @param {object} util - utility object provided by the runtime. + */ + setPenColorToColor (newColor, util) { + const penState = this._getPenState(util.target); + const rgb = Cast.toRgbColorObject(newColor); + const hsv = Color.rgbToHsv(rgb); + penState.color = (hsv.h / 360) * 100; + penState.saturation = hsv.s * 100; + penState.brightness = hsv.v * 100; + if (rgb.hasOwnProperty('a')) { + penState.transparency = 100 * (1 - (rgb.a / 255.0)); + } else { + penState.transparency = 0; + } + + // Set the legacy "shade" value the same way scratch 2 did. + penState._shade = penState.brightness / 2; + + this._updatePenColor(penState); + } + + /** + * Update the cached color from the color, saturation, brightness and transparency values + * in the provided PenState object. + * @param {PenState} penState - the pen state to update. + * @private + */ + _updatePenColor (penState) { + const rgb = Color.hsvToRgb({ + h: penState.color * 360 / 100, + s: penState.saturation / 100, + v: penState.brightness / 100 + }); + penState.penAttributes.color4f[0] = rgb.r / 255.0; + penState.penAttributes.color4f[1] = rgb.g / 255.0; + penState.penAttributes.color4f[2] = rgb.b / 255.0; + penState.penAttributes.color4f[3] = this._transparencyToAlpha(penState.transparency); + } + + /** + * Convert a pen transparency value to an alpha value. + * Alpha ranges from 0 to 1, where 0 is transparent and 1 is opaque. + * Transparency ranges from 0 to 100, where 0 is opaque and 100 is transparent. + * @param {number} transparency - the input transparency value. + * @returns {number} the alpha value. + * @private + */ + _transparencyToAlpha (transparency) { + return 1.0 - (transparency / 100.0); + } + + /** + * The pen "clear" block clears the pen layer's contents. + */ + clear () { + penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + this.runtime.renderer.penClear(penSkinId); + this.runtime.requestRedraw(); + } + } + +} + +module.exports = SheetMusic; \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js new file mode 100644 index 000000000..c43faeb0c --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js @@ -0,0 +1,303 @@ +const Clone = require('../../util/clone'); +const log = require('../../util/log'); +const Cast = require('../../util/cast'); +const Color = require('../../util/color'); +const RenderedTarget = require('../../sprites/rendered-target'); +const StageLayering = require('../../engine/stage-layering'); + +const symbols = require('./symbols'); +const { updateVariableIdentifiers } = require('../../util/variable-util'); + +class Spectrogram { + constructor (runtime) { + this.runtime = runtime; + + /** + * The ID of the renderer Skin corresponding to the pen layer. + * @type {int} + * @private + */ + this._penSkinId = -1; + + /** + * The ID of the renderer Drawable corresponding to the pen layer. + * @type {int} + * @private + */ + this._penDrawableId = -1; + this.black = '0x000000'; + this.blue = '0x00008B'; + this.yellow = '0xffff00'; + + this.noteList = []; + + this.axisStartX = -200; + this.axisStartY = -150; + this.xAxisLength = 400; + this.yAxisLength = 300; + + this._onTargetCreated = this._onTargetCreated.bind(this); + this.runtime.on('targetWasCreated', this._onTargetCreated); + + this._onTargetMoved = this._onTargetMoved.bind(this); + + harmonics = { + "Piano": [[1,1], [2, 0.5]], + "Guitar": [[1,1], [2, 0.25]], + "Bass": [[1,1], [3, 0.5]], + "Cello": [[1,1], [4, 0.5]], + "Saxophone": [[1,1], [5, 0.5]], + "Clarinet": [[1,1], [6, 0.5]], + "Synth":[[1,1]] + } + } + + /** + * The key to load & store a target's music-related state. + * @type {string} + */ + static get VIZ_STATE_KEY () { + return 'Scratch.musicviz'; + } + + static get DEFAULT_PEN_STATE () { + return { + penDown: false, + color: 66.66, + saturation: 100, + brightness: 100, + transparency: 0, + _shade: 50, // Used only for legacy `change shade by` blocks + penAttributes: { + color4f: [0, 0, 1, 1], + diameter: 1 + } + }; + } + + /** + * The minimum and maximum allowed pen size. + * The maximum is twice the diagonal of the stage, so that even an + * off-stage sprite can fill it. + * @type {{min: number, max: number}} + */ + static get PEN_SIZE_RANGE () { + return {min: 1, max: 1200}; + } + + /** + * When a music-playing Target is cloned, clone the music state. + * @param {Target} newTarget - the newly created target. + * @param {Target} [sourceTarget] - the target used as a source for the new clone, if any. + * @listens Runtime#event:targetWasCreated + * @private + */ + _onTargetCreated (newTarget, sourceTarget) { + if (sourceTarget) { + const penState = sourceTarget.getCustomState(Spectrogram.VIZ_STATE_KEY); + if (penState) { + newTarget.setCustomState(Spectrogram.VIZ_STATE_KEY, Clone.simple(penState)); + if (penState.penDown) { + newTarget.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + } + } + } + + _onTargetMoved (target, oldX, oldY, isForce) { + // Only move the pen if the movement isn't forced (ie. dragged). + if (!isForce) { + const penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + const penState = this._getPenState(target); + this.runtime.renderer.penLine(penSkinId, penState.penAttributes, oldX, oldY, target.x, target.y); + this.runtime.requestRedraw(); + } + } + } + + _getPenLayerID () { + if (this._penSkinId < 0 && this.runtime.renderer) { + this._penSkinId = this.runtime.renderer.createPenSkin(); + this._penDrawableId = this.runtime.renderer.createDrawable(StageLayering.PEN_LAYER); + this.runtime.renderer.updateDrawableProperties(this._penDrawableId, {skinId: this._penSkinId}); + } + return this._penSkinId; + } + + _getPenState (target) { + let penState = target.getCustomState(Spectrogram.VIZ_STATE_KEY); + if (!penState) { + penState = Clone.simple(Spectrogram.DEFAULT_PEN_STATE); + target.setCustomState(Spectrogram.VIZ_STATE_KEY, penState); + } + return penState; + } + + testSpectViz (noteList, args, util) { + this.setPenColorToColor(this.black, util); + this.noteList = noteList; + this.clear(); + this.drawAxes(args, util); + this.drawSpectrogram(args, util); + + } + + drawSpectrogram(args, util) { + freqs = []; + amps = []; + durs = []; + d = 0; + this.setPenColorToColor(this.yellow, util); + for (i in this.noteList) { + midi = this.noteList[i][0]; + inst = this.noteList[i][2]; + dur = this.noteList[i][1]; + harmonic = harmonics[inst]; + pitch = 2**((midi - 69)/12)*440; + for (i in harmonic) { + k = harmonic[i][0]; + coeff = harmonic[i][1]; + hPitch = pitch*k; + freqs.push(hPitch); + amps.push(coeff); + durs.push([d, d+dur]) + + } + d += dur; + } + maxDuration = d; + maxFreq = Math.max( ...freqs ); + for (i in freqs) { + f = freqs[i]/(maxFreq+5); + d = durs[i]; + start = d[0]; + end = d[1]; + start = start/maxDuration; + end = end/maxDuration; + + this.penUp(args, util); + util.target.setXY(this.axisStartX + start*this.xAxisLength, this.axisStartY+this.yAxisLength*f); + this.penDown(args, util); + util.target.setXY(this.axisStartX + end*this.xAxisLength, this.axisStartY+this.yAxisLength*f); + this.penUp(args, util); + + } + } + + fillInSpec(args, util){ + this.setPenColorToColor(this.blue, util); + for (var i = this.axisStartY+1; i = 0) { + this.runtime.renderer.penPoint(penSkinId, penState.penAttributes, util.target.x, util.target.y); + this.runtime.requestRedraw(); + } + } + + /** + * The pen "set pen color to {color}" block sets the pen to a particular RGB color. + * The transparency is reset to 0. + * @param {object} args - the block arguments. + * @property {int} COLOR - the color to set, expressed as a 24-bit RGB value (0xRRGGBB). + * @param {object} util - utility object provided by the runtime. + */ + setPenColorToColor (newColor, util) { + const penState = this._getPenState(util.target); + const rgb = Cast.toRgbColorObject(newColor); + const hsv = Color.rgbToHsv(rgb); + penState.color = (hsv.h / 360) * 100; + penState.saturation = hsv.s * 100; + penState.brightness = hsv.v * 100; + if (rgb.hasOwnProperty('a')) { + penState.transparency = 100 * (1 - (rgb.a / 255.0)); + } else { + penState.transparency = 0; + } + + // Set the legacy "shade" value the same way scratch 2 did. + penState._shade = penState.brightness / 2; + + this._updatePenColor(penState); + } + + /** + * Update the cached color from the color, saturation, brightness and transparency values + * in the provided PenState object. + * @param {PenState} penState - the pen state to update. + * @private + */ + _updatePenColor (penState) { + const rgb = Color.hsvToRgb({ + h: penState.color * 360 / 100, + s: penState.saturation / 100, + v: penState.brightness / 100 + }); + penState.penAttributes.color4f[0] = rgb.r / 255.0; + penState.penAttributes.color4f[1] = rgb.g / 255.0; + penState.penAttributes.color4f[2] = rgb.b / 255.0; + penState.penAttributes.color4f[3] = this._transparencyToAlpha(penState.transparency); + } + + /** + * Convert a pen transparency value to an alpha value. + * Alpha ranges from 0 to 1, where 0 is transparent and 1 is opaque. + * Transparency ranges from 0 to 100, where 0 is opaque and 100 is transparent. + * @param {number} transparency - the input transparency value. + * @returns {number} the alpha value. + * @private + */ + _transparencyToAlpha (transparency) { + return 1.0 - (transparency / 100.0); + } + + /** + * The pen "clear" block clears the pen layer's contents. + */ + clear () { + penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + this.runtime.renderer.penClear(penSkinId); + this.runtime.requestRedraw(); + } + } + +} + +module.exports = Spectrogram; \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 2f2872222..6ca800ee4 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -6,6 +6,10 @@ const RenderedTarget = require('../../sprites/rendered-target'); const StageLayering = require('../../engine/stage-layering'); const symbols = require('./symbols'); +const SheetMusicHelper = require('./sheetmusic'); +const WaveformHelper = require('./waveform'); +const SpectrogramHelper = require('./spectrogram'); +const FFTHelper = require('./fft'); const { updateVariableIdentifiers } = require('../../util/variable-util'); class VizHelpers { @@ -41,6 +45,11 @@ class VizHelpers { this.spaceBetween = 70; + this.sheetMusicViz = new SheetMusicHelper(runtime); + this.waveformViz = new WaveformHelper(runtime); + this.spectrogramViz = new SpectrogramHelper(runtime); + this.fftViz = new FFTHelper(runtime); + this.wavePen = -1; this.musicPen = 2; this.FFTPen = 3; @@ -88,6 +97,15 @@ class VizHelpers { 85: [symbols.forte], 100: [symbols.forte, symbols.forte] } + + this.spacing = { + 15: [10, 0], + 30: [10, 0], + 45: [5, 0], + 60: [10, 0], + 85: [10, 0], + 100: [10, 0] + } } /** @@ -182,78 +200,25 @@ class VizHelpers { } testWaveformViz (noteList, args, util) { - this.setPenColorToColor(this.black, util); - this.noteList = noteList; this.clear(); - this.drawAxes(args, util); - this.drawSignal(args, util); + this.waveformViz.testWaveformViz(noteList, args, util); } testSheetMusicViz (noteList, args, util) { - this.setPenColorToColor(this.black, util); - this.noteList = noteList; this.clear(); - this.drawStaff(args, util); - this.drawMusic(args, util); + this.sheetMusicViz.testSheetMusicViz(noteList, args, util); } testFreqViz (noteList, args, util) { - this.setPenColorToColor(this.black, util); - this.noteList = noteList; this.clear(); - this.drawAxes(args, util); - this.drawFFT(args, util); + this.fftViz.testFreqViz(noteList, args, util); } testSpectViz (noteList, args, util) { - this.setPenColorToColor(this.black, util); - this.noteList = noteList; this.clear(); - this.drawAxes(args, util); - this.drawSpectrogram(args, util); - - } - - drawSpectrogram(args, util) { - freqs = []; - amps = []; - durs = []; - d = 0; - for (i in this.noteList) { - midi = this.noteList[i][0]; - inst = this.noteList[i][2]; - dur = this.noteList[i][1]; - harmonic = harmonics[inst]; - pitch = 2**((midi - 69)/12)*440; - for (i in harmonic) { - k = harmonic[i][0]; - coeff = harmonic[i][1]; - hPitch = pitch*k; - freqs.push(hPitch); - amps.push(coeff); - durs.push([d, d+dur]) - - } - d += dur; - } - maxDuration = d; - maxFreq = Math.max( ...freqs ); - for (i in freqs) { - f = freqs[i]/maxFreq; - d = durs[i]; - start = d[0]; - end = d[1]; - start = start/maxDuration; - end = end/maxDuration; + this.spectrogramViz.testSpectViz(noteList, args, util); - this.penUp(args, util); - util.target.setXY(this.axisStartX + start*this.xAxisLength, this.axisStartY+this.yAxisLength/2+this.yAxisLength/2*f); - this.penDown(args, util); - util.target.setXY(this.axisStartX + end*this.xAxisLength, this.axisStartY+this.yAxisLength/2 + this.yAxisLength/2*f); - this.penUp(args, util); - - } } drawFFT(args, util) { @@ -310,149 +275,6 @@ class VizHelpers { this.penUp(args, util); } - drawSignal(args, util) { - colors = ['0xff0000', '0x0000ff'] - x = this.axisStartX; - y = this.axisStartY+this.yAxisLength/2; - signal = this.noteList; - fs = 500; - const totalSamples = fs*signal - .map( v => v[1] ) - .reduce( (sum, current) => sum + current, 0 ); - xStep = this.xAxisLength/totalSamples; - heightScaling = 100; - util.target.setXY(x, y); - this.penDown(args, util); - st = 0; - prevFreq = 0; - for (var i in signal) { - c = colors[i%2]; - this.setPenColorToColor(c, util); - note = signal[i]; - midi = note[0]; - dur = note[1]; - inst = note[2]; - vol = note[3]; - freq = 2**((midi - 69)/12)*440; - Omega = 2*Math.PI*freq/44140; - var st = st*prevFreq/Omega; - prevFreq = Omega; - for (s = st; s < st + dur*fs; s++) { - val = 0 - for (var k in harmonics[inst]) { - harmonic = harmonics[inst][k]; - coeff = harmonic[1]; - newk = harmonic[0]; - val = val + coeff*(Math.sin(Omega*newk*s)); - } - util.target.setXY(x, y + vol*val); - x = x+xStep; - } - st = st + dur*fs; - } - this.penUp(args,util); - } - - drawStaff(args, util) { - startX = this.staffStartX; - endX = this.staffStartX+this.staffLength; - y = this.staffStartY; - yStep = this.staffWidth; - for (var j = 0; j < 6; j++) { - for (var i = 0; i < 5; i++) { - this.penUp(args, util); - util.target.setXY(startX, y); - this.penDown(args, util); - util.target.setXY(endX, y); - y = y+yStep; - } - y = y - this.spaceBetween - yStep*5; - } - this.drawTreble(args, util); - } - - drawSymbol(symbol, args, util, xStart, yStart) { - symbolX = 0; - symbolY = 0; - this.penUp(args, util); - for (var i in symbol) { - coord = symbol[i]; - symbolX = coord[0]/2 + xStart; - symbolY = -coord[1]/2 + yStart; - util.target.setXY(symbolX, symbolY); - this.penDown(args, util); - } - this.penUp(args, util); - } - - drawTreble(args, util) { - xstart = this.staffStartX+10; - ystart = this.staffStartY-12; - treble = symbols.treble; - this.penUp(args, util); - for (var i in treble) { - coord = treble[i]; - x = coord[0]/5 + xstart; - y = -coord[1]/5 + ystart; - util.target.setXY(x, y); - this.penDown(args, util); - } - this.penUp(args, util); - for (var i in treble) { - coord = treble[i]; - x = coord[0]/5 + xstart+1; - y = -coord[1]/5 + ystart; - util.target.setXY(x, y); - this.penDown(args, util); - } - this.penUp(args, util); - } - - drawMusic(args, util) { - xinit = this.staffStartX+20; - x = xinit; - y = this.staffStartY; - xStep = 40; - signal = this.convertSignalToMusicList(args, util); - pastVol = 0; - //volume = this.findCrescDecresc(); - for (i in signal) { - note = signal[i][0]; - duration = signal[i][1]; - volume = signal[i][2]; - if (note <= 4) { - up = true; - } else { - up = false; - } - x = x+xStep; - if (x > this.staffStartX + this.staffLength) { - x = xinit; - y = y - this.spaceBetween; - } - ymid = y+note*this.staffWidth/2; - xmid = x - 8; - this.drawNote(xmid, ymid, duration, up, args, util); - if ((volume!=pastVol)) { - newX = xmid; - newY = y-this.spaceBetween/4; - log.log("VOLUME", volume); - sym = this.symbols[volume]; - log.log(sym); - initial = 0; - for (i in sym) { - log.log(i); - s = sym[i]; - this.drawSymbol(s, args, util, newX+initial, newY); - initial += 10; - } - } - pastVol = volume; - } - this.penUp(args, util); - - } - findCrescDecresc() { //CHANGE TO MP AND P ETC up = []; @@ -466,82 +288,6 @@ class VizHelpers { } - drawNote(xmid, ymid, duration, up, args, util) { - xrad = 8; - yrad = 4; - if (up) { - flip = 1; - } else { - flip = -1; - } - step = Math.PI/100; - if (duration <= 1){ //draw solid note for sixteenth, eighth, and quarter notes - for (var theta = 0; theta < 2*Math.PI; theta +=step) { - this.penUp(args, util); - util.target.setXY(xmid, ymid); - var x = xmid + xrad*Math.cos(theta); - var y = ymid - yrad*Math.sin(theta); - this.penDown(args, util); - util.target.setXY(x, y); - } - } else { //draw hollow note for half, dotted half, and whole notes - x = xmid + xrad; - y = ymid; - for (var theta = 0; theta < 2*Math.PI; theta +=step) { - this.penUp(args, util); - util.target.setXY(x, y); - x = xmid + xrad*Math.cos(theta); - y = ymid - yrad*Math.sin(theta); - this.penDown(args, util); - util.target.setXY(x, y); - } - x = xmid + xrad - 1; - y = ymid; - for (var theta = 0; theta < 2*Math.PI; theta +=step) { - this.penUp(args, util); - util.target.setXY(x, y); - x = xmid + (xrad-1)*Math.cos(theta); - y = ymid - (yrad-1)*Math.sin(theta); - this.penDown(args, util); - util.target.setXY(x, y); - } - } - if (duration == 3) { //add dot for dotted half note - dotrad = 2; - for (var theta = 0; theta < 2*Math.PI; theta +=step) { - this.penUp(args, util); - util.target.setXY(xmid+12, ymid); - var x = xmid + 12 + dotrad*Math.cos(theta); - var y = ymid - dotrad*Math.sin(theta); - this.penDown(args, util); - util.target.setXY(x, y); - } - } - if (duration != 4) { //add stem for non-whole notes - this.penUp(args, util); - util.target.setXY(xmid+flip*xrad, ymid); - this.penDown(args, util); - util.target.setXY(xmid+flip*xrad, ymid+flip*30); - } - if (duration < 1) { //add tails for < quarter notes - offset = 0; - for (var i = 0; i < 1/(duration*2); i++) { - this.penUp(args, util); - util.target.setXY(xmid+flip*xrad, ymid+flip*(30+offset*6)); - this.penDown(args, util); - util.target.setXY(xmid+flip*xrad+2, ymid + flip*(30 + offset*6 - 8)); - util.target.setXY(xmid+flip*xrad+10, ymid + flip*(30 + offset*6 - 12)); - this.penUp(args, util); - util.target.setXY(xmid+flip*xrad, ymid+flip*(30+offset*6+2)); - this.penDown(args, util); - util.target.setXY(xmid+flip*xrad+2, ymid + flip*(30 + offset*6 - 8+1)); - util.target.setXY(xmid+flip*xrad+10, ymid + flip*(30 + offset*6 - 12+1)); - offset += 1; - this.penUp(args, util); - } - } - } - convertSignalToMusicList (args, util) { signal = []; for (var i in this.noteList) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js new file mode 100644 index 000000000..8bde3d3eb --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js @@ -0,0 +1,308 @@ +const Clone = require('../../util/clone'); +const log = require('../../util/log'); +const Cast = require('../../util/cast'); +const Color = require('../../util/color'); +const RenderedTarget = require('../../sprites/rendered-target'); +const StageLayering = require('../../engine/stage-layering'); + +const symbols = require('./symbols'); +const { updateVariableIdentifiers } = require('../../util/variable-util'); + +class Waveform { + constructor (runtime) { + this.runtime = runtime; + + /** + * The ID of the renderer Skin corresponding to the pen layer. + * @type {int} + * @private + */ + this._penSkinId = -1; + + /** + * The ID of the renderer Drawable corresponding to the pen layer. + * @type {int} + * @private + */ + this._penDrawableId = -1; + this.black = '0x000000'; + + this.noteList = []; + + this.axisStartX = -200; + this.axisStartY = -150; + this.xAxisLength = 400; + this.yAxisLength = 300; + + this._onTargetCreated = this._onTargetCreated.bind(this); + this.runtime.on('targetWasCreated', this._onTargetCreated); + + this._onTargetMoved = this._onTargetMoved.bind(this); + + + harmonics = { + "Piano": [[1,1], [2, 0.5]], + "Guitar": [[1,1], [2, 0.25]], + "Bass": [[1,1], [3, 0.5]], + "Cello": [[1,1], [4, 0.5]], + "Saxophone": [[1,1], [5, 0.5]], + "Clarinet": [[1,1], [6, 0.5]], + "Synth":[[1,1]] + } + } + + /** + * The key to load & store a target's music-related state. + * @type {string} + */ + static get VIZ_STATE_KEY () { + return 'Scratch.musicviz'; + } + + static get DEFAULT_PEN_STATE () { + return { + penDown: false, + color: 66.66, + saturation: 100, + brightness: 100, + transparency: 0, + _shade: 50, // Used only for legacy `change shade by` blocks + penAttributes: { + color4f: [0, 0, 1, 1], + diameter: 1 + } + }; + } + + /** + * The minimum and maximum allowed pen size. + * The maximum is twice the diagonal of the stage, so that even an + * off-stage sprite can fill it. + * @type {{min: number, max: number}} + */ + static get PEN_SIZE_RANGE () { + return {min: 1, max: 1200}; + } + + /** + * When a music-playing Target is cloned, clone the music state. + * @param {Target} newTarget - the newly created target. + * @param {Target} [sourceTarget] - the target used as a source for the new clone, if any. + * @listens Runtime#event:targetWasCreated + * @private + */ + _onTargetCreated (newTarget, sourceTarget) { + if (sourceTarget) { + const penState = sourceTarget.getCustomState(Waveform.VIZ_STATE_KEY); + if (penState) { + newTarget.setCustomState(Waveform.VIZ_STATE_KEY, Clone.simple(penState)); + if (penState.penDown) { + newTarget.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + } + } + } + + _onTargetMoved (target, oldX, oldY, isForce) { + // Only move the pen if the movement isn't forced (ie. dragged). + if (!isForce) { + const penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + const penState = this._getPenState(target); + this.runtime.renderer.penLine(penSkinId, penState.penAttributes, oldX, oldY, target.x, target.y); + this.runtime.requestRedraw(); + } + } + } + + _getPenLayerID () { + if (this._penSkinId < 0 && this.runtime.renderer) { + this._penSkinId = this.runtime.renderer.createPenSkin(); + this._penDrawableId = this.runtime.renderer.createDrawable(StageLayering.PEN_LAYER); + this.runtime.renderer.updateDrawableProperties(this._penDrawableId, {skinId: this._penSkinId}); + } + return this._penSkinId; + } + + _getWavePenLayerID () { + if (this.wavePen < 0 && this.runtime.renderer) { + this.wavePen = this.runtime.renderer.createPenSkin(); + this.wavePenDrawableId = this.runtime.renderer.createDrawable(StageLayering.PEN_LAYER); + this.runtime.renderer.updateDrawableProperties(this.wavePenDrawableId, {skinId: this.wavePen}); + } + return this.wavePen; + } + + _getPenState (target) { + let penState = target.getCustomState(Waveform.VIZ_STATE_KEY); + if (!penState) { + penState = Clone.simple(Waveform.DEFAULT_PEN_STATE); + target.setCustomState(Waveform.VIZ_STATE_KEY, penState); + } + return penState; + } + + testWaveformViz (noteList, args, util) { + this.setPenColorToColor(this.black, util); + this.noteList = noteList; + this.clear(); + this.drawAxes(args, util); + this.drawSignal(args, util); + } + + drawAxes(args, util) { + util.target.setXY(this.axisStartX, this.axisStartY + this.yAxisLength); + this.penDown(args, util); + util.target.setXY(this.axisStartX, this.axisStartY); + this.penUp(args, util); + util.target.setXY(this.axisStartX, this.axisStartY+this.yAxisLength/2); + this.penDown(args, util); + util.target.setXY(this.axisStartX+this.xAxisLength, this.axisStartY+this.yAxisLength/2); + this.penUp(args, util); + } + + drawSignal(args, util) { + colors = ['0xff0000', '0x0000ff', '0x00ff00', '0xffa500'] + var freqToColor = {}; + x = this.axisStartX; + y = this.axisStartY+this.yAxisLength/2; + signal = this.noteList; + fs = 500; + const totalSamples = fs*signal + .map( v => v[1] ) + .reduce( (sum, current) => sum + current, 0 ); + xStep = this.xAxisLength/totalSamples; + heightScaling = 100; + util.target.setXY(x, y); + this.penDown(args, util); + st = 0; + prevFreq = 0; + for (var i in signal) { + note = signal[i]; + midi = note[0]; + dur = note[1]; + inst = note[2]; + vol = note[3]; + if (midi in freqToColor) { + log.log("HERE"); + c = freqToColor[midi]; + this.setPenColorToColor(c, util); + } else { + log.log("CATCH"); + c = colors[i%4]; + this.setPenColorToColor(c, util); + freqToColor[midi] = c; + } + freq = 2**((midi - 69)/12)*440; + Omega = 2*Math.PI*freq/44140; + var st = st*prevFreq/Omega; + prevFreq = Omega; + for (s = st; s < st + dur*fs; s++) { + val = 0 + for (var k in harmonics[inst]) { + harmonic = harmonics[inst][k]; + coeff = harmonic[1]; + newk = harmonic[0]; + val = val + coeff*(Math.sin(Omega*newk*s)); + } + util.target.setXY(x, y + vol*val); + x = x+xStep; + } + st = st + dur*fs; + } + this.penUp(args,util); + } + + + penUp (args, util) { + const penState = this._getPenState(util.target); + if (penState.penDown) { + penState.penDown = false; + util.target.removeListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + } + + penDown (args, util, penSkinId) { + const penState = this._getPenState(util.target); + if (!penState.penDown) { + penState.penDown = true; + util.target.addListener(RenderedTarget.EVENT_TARGET_MOVED, this._onTargetMoved); + } + + penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + this.runtime.renderer.penPoint(penSkinId, penState.penAttributes, util.target.x, util.target.y); + this.runtime.requestRedraw(); + } + } + + /** + * The pen "set pen color to {color}" block sets the pen to a particular RGB color. + * The transparency is reset to 0. + * @param {object} args - the block arguments. + * @property {int} COLOR - the color to set, expressed as a 24-bit RGB value (0xRRGGBB). + * @param {object} util - utility object provided by the runtime. + */ + setPenColorToColor (newColor, util) { + const penState = this._getPenState(util.target); + const rgb = Cast.toRgbColorObject(newColor); + const hsv = Color.rgbToHsv(rgb); + penState.color = (hsv.h / 360) * 100; + penState.saturation = hsv.s * 100; + penState.brightness = hsv.v * 100; + if (rgb.hasOwnProperty('a')) { + penState.transparency = 100 * (1 - (rgb.a / 255.0)); + } else { + penState.transparency = 0; + } + + // Set the legacy "shade" value the same way scratch 2 did. + penState._shade = penState.brightness / 2; + + this._updatePenColor(penState); + } + + /** + * Update the cached color from the color, saturation, brightness and transparency values + * in the provided PenState object. + * @param {PenState} penState - the pen state to update. + * @private + */ + _updatePenColor (penState) { + const rgb = Color.hsvToRgb({ + h: penState.color * 360 / 100, + s: penState.saturation / 100, + v: penState.brightness / 100 + }); + penState.penAttributes.color4f[0] = rgb.r / 255.0; + penState.penAttributes.color4f[1] = rgb.g / 255.0; + penState.penAttributes.color4f[2] = rgb.b / 255.0; + penState.penAttributes.color4f[3] = this._transparencyToAlpha(penState.transparency); + } + + /** + * Convert a pen transparency value to an alpha value. + * Alpha ranges from 0 to 1, where 0 is transparent and 1 is opaque. + * Transparency ranges from 0 to 100, where 0 is opaque and 100 is transparent. + * @param {number} transparency - the input transparency value. + * @returns {number} the alpha value. + * @private + */ + _transparencyToAlpha (transparency) { + return 1.0 - (transparency / 100.0); + } + + /** + * The pen "clear" block clears the pen layer's contents. + */ + clear () { + penSkinId = this._getPenLayerID(); + if (penSkinId >= 0) { + this.runtime.renderer.penClear(penSkinId); + this.runtime.requestRedraw(); + } + } + +} + +module.exports = Waveform; \ No newline at end of file From 3d8888547911dcfe2234a5d17e1d3fc7dabab38e Mon Sep 17 00:00:00 2001 From: nada Date: Tue, 6 Apr 2021 14:49:49 -0400 Subject: [PATCH 022/149] pushing legend + viz refactor fixes --- .../scratch3_musiccreation/vizhelpers.js | 19 ++++- .../scratch3_musiccreation/waveform.js | 70 ++++++++++++++++++- 2 files changed, 85 insertions(+), 4 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 6ca800ee4..858c78324 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -200,23 +200,36 @@ class VizHelpers { } testWaveformViz (noteList, args, util) { - this.clear(); + this.fftViz.clear(); + this.sheetMusicViz.clear(); + this.spectrogramViz.clear(); + this.waveformViz.clear(); this.waveformViz.testWaveformViz(noteList, args, util); } testSheetMusicViz (noteList, args, util) { this.clear(); + this.fftViz.clear(); + this.sheetMusicViz.clear(); + this.spectrogramViz.clear(); + this.waveformViz.clear(); this.sheetMusicViz.testSheetMusicViz(noteList, args, util); } testFreqViz (noteList, args, util) { - this.clear(); + this.fftViz.clear(); + this.sheetMusicViz.clear(); + this.spectrogramViz.clear(); + this.waveformViz.clear(); this.fftViz.testFreqViz(noteList, args, util); } testSpectViz (noteList, args, util) { - this.clear(); + this.fftViz.clear(); + this.sheetMusicViz.clear(); + this.spectrogramViz.clear(); + this.waveformViz.clear(); this.spectrogramViz.testSpectViz(noteList, args, util); } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js index 8bde3d3eb..dcb1dc823 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js @@ -6,6 +6,7 @@ const RenderedTarget = require('../../sprites/rendered-target'); const StageLayering = require('../../engine/stage-layering'); const symbols = require('./symbols'); +const textRender = require('./textrender'); const { updateVariableIdentifiers } = require('../../util/variable-util'); class Waveform { @@ -34,9 +35,18 @@ class Waveform { this.xAxisLength = 400; this.yAxisLength = 300; + this.legendStartX = 150; + this.legendStartY = 80; + this.legendLengthX = 75; + this.legendLengthY = 80; + + this.textRenderer = new textRender(runtime); + this._onTargetCreated = this._onTargetCreated.bind(this); this.runtime.on('targetWasCreated', this._onTargetCreated); + + this._onTargetMoved = this._onTargetMoved.bind(this); @@ -49,6 +59,8 @@ class Waveform { "Clarinet": [[1,1], [6, 0.5]], "Synth":[[1,1]] } + + freqToColor = {}; } /** @@ -148,6 +160,55 @@ class Waveform { this.clear(); this.drawAxes(args, util); this.drawSignal(args, util); + this.drawLegend(args, util); + } + + drawLegend (args, util) { + log.log("HERE"); + //draw Box + this.penUp(args, util); + util.target.setXY(this.legendStartX, this.legendStartY); + this.penDown(args, util); + util.target.setXY(this.legendStartX+this.legendLengthX, this.legendStartY); + this.penDown(args, util); + util.target.setXY(this.legendStartX+this.legendLengthX, this.legendStartY+this.legendLengthY); + this.penDown(args, util); + util.target.setXY(this.legendStartX, this.legendStartY+this.legendLengthY); + this.penDown(args, util); + util.target.setXY(this.legendStartX, this.legendStartY); + this.penUp(args, util); + + //draw Title + colorX = this.legendStartX + 5 ; + colorY = this.legendStartY + this.legendLengthY - 20; + this.setPenColorToColor(this.black, util); + this.penUp(args, util); + util.target.setXY(colorX, this.legendStartY + this.legendLengthY - 15); + this.penDown(args, util); + util.target.setXY(colorX+65, this.legendStartY + this.legendLengthY - 15); + + //draw Color mappings + for (var i in freqToColor) { + log.log(freqToColor[i]); + log.log(i); + this.setPenColorToColor(freqToColor[i], util); + for (var c = 0; c <= 10; c++) { + log.log(c); + this.penUp(args, util); + util.target.setXY(colorX, colorY-c); + this.penDown(args, util); + util.target.setXY(colorX+15, colorY-c); + } + this.setPenColorToColor(this.black, util); + this.penUp(args, util); + util.target.setXY(colorX+25, colorY-10); + this.penDown(args, util); + util.target.setXY(colorX+60, colorY-10); + colorY -= 15; + } + this.setPenColorToColor(this.black, util); + this.penUp(args, util); + } drawAxes(args, util) { @@ -159,11 +220,17 @@ class Waveform { this.penDown(args, util); util.target.setXY(this.axisStartX+this.xAxisLength, this.axisStartY+this.yAxisLength/2); this.penUp(args, util); + //this.drawLabels(args, util); + } + + drawLabels(args, util) { + log.log(util); + //this.textRenderer.setText("here", args, util); } drawSignal(args, util) { colors = ['0xff0000', '0x0000ff', '0x00ff00', '0xffa500'] - var freqToColor = {}; + freqToColor = {}; x = this.axisStartX; y = this.axisStartY+this.yAxisLength/2; signal = this.noteList; @@ -211,6 +278,7 @@ class Waveform { st = st + dur*fs; } this.penUp(args,util); + this.setPenColorToColor(this.black, util); } From 7f5d40bc62421083f01729ce62f2d71e228bdf84 Mon Sep 17 00:00:00 2001 From: nada Date: Wed, 7 Apr 2021 16:52:32 -0400 Subject: [PATCH 023/149] fixed error --- .../scratch3_musiccreation/textrender.js | 356 ++++++++++++++++++ 1 file changed, 356 insertions(+) create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/textrender.js diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/textrender.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/textrender.js new file mode 100644 index 000000000..32f4e4c05 --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/textrender.js @@ -0,0 +1,356 @@ +const Clone = require('../../util/clone'); +const log = require('../../util/log'); +const Cast = require('../../util/cast'); +const Color = require('../../util/color'); +const RenderedTarget = require('../../sprites/rendered-target'); + +class TextRender{ + constructor (runtime){ + /** + * The runtime instantiating this block package. + * @type {Runtime} + */ + this.runtime = runtime; + this._onTargetWillExit = this._onTargetWillExit.bind(this); + this.runtime.on('targetWasRemoved', this._onTargetWillExit); + this._onTargetCreated = this._onTargetCreated.bind(this); + this.runtime.on('targetWasCreated', this._onTargetCreated); + this.runtime.on('PROJECT_STOP_ALL', this.stopAll.bind(this)); + } + static get STATE_KEY (){ + return 'Scratch.musicviz'; + } + static get DEFAULT_TEXT_STATE (){ + return ({skinId: null, text: 'Welcome to my project!', font: 'Handwriting', color: 'hsla(225, 15%, 40%, 1', size: 24, maxWidth: 480, align: 'center', strokeWidth: 0, strokeColor: 'black', rainbow: false, visible: false, targetSize: null, fullText: null}); + } + + _getTextState (target) { + let textState = target.getCustomState(TextRender.STATE_KEY); + + if (!textState) { + textState = Clone.simple(TextRender.DEFAULT_TEXT_STATE); + target.setCustomState(TextRender.STATE_KEY, textState); + } + + return textState; + } + + setText (text, args, util) { + const textState = this._getTextState(util.target); + + textState.text = this._formatText(text); + textState.visible = true; + textState.animating = false; + + this._renderText(util.target); // Yield until the next tick. + + + return Promise.resolve(); + } + clearText (args, util) { + const target = util.target; + + const textState = this._getTextState(target); + + textState.visible = false; // Set state so that clones can know not to render text + + textState.animating = false; + const costume = target.getCostumes()[target.currentCostume]; + this.runtime.renderer.updateDrawableSkinId(target.drawableID, costume.skinId); // Yield until the next tick. + + return Promise.resolve(); + } + stopAll () { + + this.runtime.targets.forEach(target => { + this.clearText({}, { + target: target + }); + }); + } + addText (args, util) { + const textState = this._getTextState(util.target); + + textState.text += this._formatText(args.TEXT); + textState.visible = true; + textState.animating = false; + + this._renderText(util.target); // Yield until the next tick. + + + return Promise.resolve(); + } + addLine (args, util) { + const textState = this._getTextState(util.target); + + textState.text += '\n'.concat(this._formatText(args.TEXT)); + textState.visible = true; + textState.animating = false; + + this._renderText(util.target); // Yield until the next tick. + + + return Promise.resolve(); + } + setFont (args, util) { + const textState = this._getTextState(util.target); + + if (args.FONT === RANDOM_ID) { + textState.font = this._randomFontOtherThan(textState.font); + } else { + textState.font = args.FONT; + } + + this._renderText(util.target); + } + _randomFontOtherThan (currentFont) { + const otherFonts = this.FONT_IDS.filter(id => id !== currentFont); + return otherFonts[Math.floor(Math.random() * otherFonts.length)]; + } + setColor (args, util) { + const textState = this._getTextState(util.target); + + textState.color = args.COLOR; + + this._renderText(util.target); + } + setWidth (args, util) { + const textState = this._getTextState(util.target); + + textState.maxWidth = Cast.toNumber(args.WIDTH); + textState.align = args.ALIGN; + + this._renderText(util.target); + } + setSize (args, util) { + const textState = this._getTextState(util.target); + + textState.size = Cast.toNumber(args.SIZE); + + this._renderText(util.target); + } + setAlign (args, util) { + const textState = this._getTextState(util.target); + + textState.maxWidth = Cast.toNumber(args.WIDTH); + textState.align = args.ALIGN; + + this._renderText(util.target); + } + setOutlineWidth (args, util) { + const textState = this._getTextState(util.target); + + textState.strokeWidth = Cast.toNumber(args.WIDTH); + + this._renderText(util.target); + } + setOutlineColor (args, util) { + const textState = this._getTextState(util.target); + + textState.strokeColor = args.COLOR; + textState.visible = true; + + this._renderText(util.target); + } + _animateText (args, util) { + + const target = util.target; + + const textState = this._getTextState(target); + + if (textState.fullText !== null) return; // Let the running animation finish, do nothing + // On "first tick", set the text and force animation flags on and render + + textState.fullText = this._formatText(args.TEXT); + textState.text = textState.fullText[0]; // Start with first char visible + + textState.visible = true; + textState.animating = true; + + this._renderText(target); + + this.runtime.requestRedraw(); + return new Promise(resolve => { + var interval = setInterval(() => { + if (textState.animating && textState.visible && textState.text !== textState.fullText) { + textState.text = textState.fullText.substring(0, textState.text.length + 1); + } else { + // NB there is no need to update the .text state here, since it is at the end of the + // animation (when text == fullText), is being cancelled by force setting text, + // or is being cancelled by hitting the stop button which hides the text anyway. + textState.fullText = null; + clearInterval(interval); + resolve(); + } + + this._renderText(target); + + this.runtime.requestRedraw(); + }, 60 + /* ms, about 1 char every 2 frames */ + ); + }); + } + _zoomText (args, util) { + + const target = util.target; + + const textState = this._getTextState(target); + + if (textState.targetSize !== null) return; // Let the running animation finish, do nothing + + const timer = new Timer(); + const durationMs = Cast.toNumber(args.SECS || 0.5) * 1000; // On "first tick", set the text and force animation flags on and render + + textState.text = this._formatText(args.TEXT); + textState.visible = true; + textState.animating = true; + textState.targetSize = target.size; + target.setSize(0); + + this._renderText(target); + + this.runtime.requestRedraw(); + timer.start(); + return new Promise(resolve => { + var interval = setInterval(() => { + const timeElapsed = timer.timeElapsed(); + + if (textState.animating && textState.visible && timeElapsed < durationMs) { + target.setSize(textState.targetSize * timeElapsed / durationMs); + } else { + target.setSize(textState.targetSize); + textState.targetSize = null; + clearInterval(interval); + resolve(); + } + + this._renderText(target); + + this.runtime.requestRedraw(); + }, this.runtime.currentStepTime); + }); + } + animateText (args, util) { + switch (args.ANIMATE) { + case 'rainbow': + return this.rainbow(args, util); + + case 'type': + return this._animateText(args, util); + + case 'zoom': + return this._zoomText(args, util); + } + } + rainbow (args, util) { + const target = util.target; + + const textState = this._getTextState(target); + + if (textState.rainbow) return; // Let the running animation finish, do nothing + + const timer = new Timer(); + const durationMs = Cast.toNumber(args.SECS || 2) * 1000; // On "first tick", set the text and force animation flags on and render + + textState.text = this._formatText(args.TEXT); + textState.visible = true; + textState.animating = true; + textState.rainbow = true; + + this._renderText(target); + + timer.start(); + return new Promise(resolve => { + var interval = setInterval(() => { + const timeElapsed = timer.timeElapsed(); + + if (textState.animating && textState.visible && timeElapsed < durationMs) { + textState.rainbow = true; + target.setEffect('color', timeElapsed / -5); + } else { + textState.rainbow = false; + target.setEffect('color', 0); + clearInterval(interval); + resolve(); + } + + this._renderText(target); + }, this.runtime.currentStepTime); + }); + } + + _formatText (text) { + if (text === '') return text; // Non-integers should be rounded to 2 decimal places (no more, no less), unless they're small enough that + // rounding would display them as 0.00. This matches 2.0's behavior: + // https://github.com/LLK/scratch-flash/blob/2e4a402ceb205a0428…7f54b26eebe1c2e6da6c0/src/scratch/ScratchSprite.as#L579-L585 + + if (typeof text === 'number' && Math.abs(text) >= 0.01 && text % 1 !== 0) { + text = text.toFixed(2); + } + + text = Cast.toString(text); + return text; + } + _renderText (target) { + if (!this.runtime.renderer) return; + + const textState = this._getTextState(target); + log.log(textState); + + if (!textState.visible) return; // Resetting to costume is done in clear block, early return here is for clones + + textState.skinId = this.runtime.renderer.updateTextCostumeSkin(textState); + this.runtime.renderer.updateDrawableSkinId(target.drawableID, textState.skinId); + } + _onTargetCreated (newTarget, sourceTarget) { + log.log("JERE"); + + if (sourceTarget) { + const sourceTextState = sourceTarget.getCustomState(TextRender.STATE_KEY); + + if (sourceTextState) { + newTarget.setCustomState(TextRender.STATE_KEY, Clone.simple(sourceTextState)); + const newTargetState = newTarget.getCustomState(TextRender.STATE_KEY); // Note here that clones do not share skins with their original target. This is a subtle but important + // departure from the rest of Scratch, where clones always stay in sync with the originals costume. + // The "rule" is anything that can be done with the blocks is clone-specific, since that is where you make clones, + // but anything outside of the blocks (costume/sounds) are shared. + // For example, graphic effects are clone-specific, but changing the costume in the paint editor is shared. + // Since you can change the text on the skin from the blocks, each clone needs its own skin. + + newTargetState.skinId = null; // Unset all of the animation flags + + newTargetState.rainbow = false; + newTargetState.targetSize = null; + newTargetState.fullText = null; + newTargetState.animating = false; // Must wait until the drawable has been initialized, but before render. We can + // wait for the first EVENT_TARGET_VISUAL_CHANGE for this. + + var onDrawableReady = () => { + this._renderText(newTarget); + + newTarget.off('EVENT_TARGET_VISUAL_CHANGE', onDrawableReady); + }; + + newTarget.on('EVENT_TARGET_VISUAL_CHANGE', onDrawableReady); + } + } + } + _onTargetWillExit (target) { + const textState = this._getTextState(target); + + if (textState.skinId) { + // The drawable will get cleaned up by RenderedTarget#dispose, but that doesn't + // automatically destroy attached skins (because they are usually shared between clones). + // For text skins, however, all clones get their own, so we need to manually destroy them. + this.runtime.renderer.destroySkin(textState.skinId); + textState.skinId = null; + } + } + get FONT_IDS (){ + return ['Sans Serif', 'Serif', 'Handwriting', 'Marker', 'Curly', 'Pixel']; + } + + +} +module.exports = TextRender; \ No newline at end of file From ee5c7ce057b85928da95188b15aa54b02e0077dd Mon Sep 17 00:00:00 2001 From: nada Date: Thu, 8 Apr 2021 15:57:17 -0400 Subject: [PATCH 024/149] added text box functionality --- packages/scratch-render/src/RenderWebGL.js | 36 ++ packages/scratch-render/src/TextBoxSkin.js | 284 ++++++++++ .../scratch3_musiccreation/index.js | 22 + .../scratch3_musiccreation/textrender.js | 536 ++++++++---------- .../scratch3_musiccreation/waveform.js | 4 +- 5 files changed, 573 insertions(+), 309 deletions(-) create mode 100644 packages/scratch-render/src/TextBoxSkin.js diff --git a/packages/scratch-render/src/RenderWebGL.js b/packages/scratch-render/src/RenderWebGL.js index 4821ee49d..f63d6ce5e 100644 --- a/packages/scratch-render/src/RenderWebGL.js +++ b/packages/scratch-render/src/RenderWebGL.js @@ -11,6 +11,7 @@ const RenderConstants = require('./RenderConstants'); const ShaderManager = require('./ShaderManager'); const SVGSkin = require('./SVGSkin'); const TextBubbleSkin = require('./TextBubbleSkin'); +const TextBoxSkin = require('./TextBoxSkin'); const EffectTransform = require('./EffectTransform'); const log = require('./util/log'); @@ -344,11 +345,28 @@ class RenderWebGL extends EventEmitter { createTextSkin (type, text, pointsLeft) { const skinId = this._nextSkinId++; const newSkin = new TextBubbleSkin(skinId, this); + log.log("TO BUBBLE", text); newSkin.setTextBubble(type, text, pointsLeft); this._allSkins[skinId] = newSkin; return skinId; } + /** + * Create a new SVG skin using the text bubble svg creator. The rotation center + * is always placed at the top left. + * @param {!string} type - either "say" or "think". + * @param {!string} text - the text for the bubble. + * @param {!boolean} pointsLeft - which side the bubble is pointing. + * @returns {!int} the ID for the new skin. + */ + createTextBoxSkin (type, text, pointsLeft) { + const skinId = this._nextSkinId++; + const newSkin = new TextBoxSkin(skinId, this); + newSkin.setTextBox(type, text, pointsLeft); + this._allSkins[skinId] = newSkin; + return skinId; + } + /** * Update an existing SVG skin, or create an SVG skin if the previous skin was not SVG. * @param {!int} skinId the ID for the skin to change. @@ -417,6 +435,24 @@ class RenderWebGL extends EventEmitter { this._reskin(skinId, newSkin); } + /** + * Update a skin using the text bubble svg creator. + * @param {!int} skinId the ID for the skin to change. + * @param {!string} type - either "say" or "think". + * @param {!string} text - the text for the bubble. + * @param {!boolean} pointsLeft - which side the bubble is pointing. + */ + updateTextBoxSkin (skinId, type, text, pointsLeft) { + if (this._allSkins[skinId] instanceof TextBoxSkin) { + this._allSkins[skinId].setTextBox(type, text, pointsLeft); + return; + } + + const newSkin = new TextBoxSkin(skinId, this); + newSkin.setTextBox(type, text, pointsLeft); + this._reskin(skinId, newSkin); + } + /** * Destroy an existing skin. Do not use the skin or its ID after calling this. diff --git a/packages/scratch-render/src/TextBoxSkin.js b/packages/scratch-render/src/TextBoxSkin.js new file mode 100644 index 000000000..030491771 --- /dev/null +++ b/packages/scratch-render/src/TextBoxSkin.js @@ -0,0 +1,284 @@ +const twgl = require('twgl.js'); + +const TextWrapper = require('./util/text-wrapper'); +const CanvasMeasurementProvider = require('./util/canvas-measurement-provider'); +const Skin = require('./Skin'); + +const TextBoxStyle = { + MAX_LINE_WIDTH: 170, // Maximum width, in Scratch pixels, of a single line of text + + MIN_WIDTH: 50, // Minimum width, in Scratch pixels, of a text bubble + STROKE_WIDTH: 0, // Thickness of the stroke around the bubble. Only half's visible because it's drawn under the fill + PADDING: 10, // Padding around the text area + CORNER_RADIUS: 0, // Radius of the rounded corners + TAIL_HEIGHT: 0, // Height of the speech bubble's "tail". Probably should be a constant. + + FONT: 'Helvetica', // Font to render the text with + FONT_SIZE: 14, // Font size, in Scratch pixels + FONT_HEIGHT_RATIO: 0.9, // Height, in Scratch pixels, of the text, as a proportion of the font's size + LINE_HEIGHT: 16, // Spacing between each line of text + + COLORS: { + BUBBLE_FILL: 'white', + BUBBLE_STROKE: 'rgba(0, 0, 0, 0.15)', + TEXT_FILL: '#575E75' + } +}; + +class TextBoxSkin extends Skin { + /** + * Create a new text bubble skin. + * @param {!int} id - The ID for this Skin. + * @param {!RenderWebGL} renderer - The renderer which will use this skin. + * @constructor + * @extends Skin + */ + constructor (id, renderer) { + super(id); + + /** @type {RenderWebGL} */ + this._renderer = renderer; + + /** @type {HTMLCanvasElement} */ + this._canvas = document.createElement('canvas'); + + /** @type {WebGLTexture} */ + this._texture = null; + + /** @type {Array} */ + this._size = [0, 0]; + + /** @type {number} */ + this._renderedScale = 0; + + /** @type {Array} */ + this._lines = []; + + /** @type {object} */ + this._textAreaSize = {width: 0, height: 0}; + + /** @type {string} */ + this._textBoxType = ''; + + /** @type {boolean} */ + this._pointsLeft = false; + + /** @type {boolean} */ + this._textDirty = true; + + /** @type {boolean} */ + this._textureDirty = true; + + this.measurementProvider = new CanvasMeasurementProvider(this._canvas.getContext('2d')); + this.textWrapper = new TextWrapper(this.measurementProvider); + + this._restyleCanvas(); + } + + /** + * Dispose of this object. Do not use it after calling this method. + */ + dispose () { + if (this._texture) { + this._renderer.gl.deleteTexture(this._texture); + this._texture = null; + } + this._canvas = null; + super.dispose(); + } + + /** + * @return {Array} the dimensions, in Scratch units, of this skin. + */ + get size () { + if (this._textDirty) { + this._reflowLines(); + } + return this._size; + } + + /** + * Set parameters for this text bubble. + * @param {!string} type - either "say" or "think". + * @param {!string} text - the text for the bubble. + * @param {!boolean} pointsLeft - which side the bubble is pointing. + */ + setTextBox (type, text, pointsLeft) { + this._text = text; + this._textBoxType = type; + this._pointsLeft = pointsLeft; + + this._textDirty = true; + this._textureDirty = true; + this.emit(Skin.Events.WasAltered); + } + + /** + * Re-style the canvas after resizing it. This is necessary to ensure proper text measurement. + */ + _restyleCanvas () { + this._canvas.getContext('2d').font = `${TextBoxStyle.FONT_SIZE}px ${TextBoxStyle.FONT}, sans-serif`; + } + + /** + * Update the array of wrapped lines and the text dimensions. + */ + _reflowLines () { + this._lines = this.textWrapper.wrapText(TextBoxStyle.MAX_LINE_WIDTH, this._text); + + // Measure width of longest line to avoid extra-wide bubbles + let longestLineWidth = 0; + for (const line of this._lines) { + longestLineWidth = Math.max(longestLineWidth, this.measurementProvider.measureText(line)); + } + + // Calculate the canvas-space sizes of the padded text area and full text bubble + const paddedWidth = Math.max(longestLineWidth, TextBoxStyle.MIN_WIDTH) + (TextBoxStyle.PADDING * 2); + const paddedHeight = (TextBoxStyle.LINE_HEIGHT * this._lines.length) + (TextBoxStyle.PADDING * 2); + + this._textAreaSize.width = paddedWidth; + this._textAreaSize.height = paddedHeight; + + this._size[0] = paddedWidth + TextBoxStyle.STROKE_WIDTH; + this._size[1] = paddedHeight + TextBoxStyle.STROKE_WIDTH + TextBoxStyle.TAIL_HEIGHT; + + this._textDirty = false; + } + + /** + * Render this text bubble at a certain scale, using the current parameters, to the canvas. + * @param {number} scale The scale to render the bubble at + */ + _renderTextBox (scale) { + const ctx = this._canvas.getContext('2d'); + + if (this._textDirty) { + this._reflowLines(); + } + + // Calculate the canvas-space sizes of the padded text area and full text bubble + const paddedWidth = this._textAreaSize.width; + const paddedHeight = this._textAreaSize.height; + + // Resize the canvas to the correct screen-space size + this._canvas.width = Math.ceil(this._size[0] * scale); + this._canvas.height = Math.ceil(this._size[1] * scale); + this._restyleCanvas(); + + // Reset the transform before clearing to ensure 100% clearage + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.clearRect(0, 0, this._canvas.width, this._canvas.height); + + ctx.scale(scale, scale); + ctx.translate(TextBoxStyle.STROKE_WIDTH * 0.5, TextBoxStyle.STROKE_WIDTH * 0.5); + + // If the text bubble points leftward, flip the canvas + ctx.save(); + if (this._pointsLeft) { + ctx.scale(-1, 1); + ctx.translate(-paddedWidth, 0); + } + + // Draw the bubble's rounded borders + ctx.beginPath(); + ctx.moveTo(TextBoxStyle.CORNER_RADIUS, paddedHeight); + ctx.arcTo(0, paddedHeight, 0, paddedHeight - TextBoxStyle.CORNER_RADIUS, TextBoxStyle.CORNER_RADIUS); + ctx.arcTo(0, 0, paddedWidth, 0, TextBoxStyle.CORNER_RADIUS); + ctx.arcTo(paddedWidth, 0, paddedWidth, paddedHeight, TextBoxStyle.CORNER_RADIUS); + ctx.arcTo(paddedWidth, paddedHeight, paddedWidth - TextBoxStyle.CORNER_RADIUS, paddedHeight, + TextBoxStyle.CORNER_RADIUS); + + // Translate the canvas so we don't have to do a bunch of width/height arithmetic + ctx.save(); + ctx.translate(paddedWidth - TextBoxStyle.CORNER_RADIUS, paddedHeight); + + // Draw the bubble's "tail" + if (this._textBoxType === 'say') { + // For a speech bubble, draw one swoopy thing + ctx.bezierCurveTo(0, 4, 4, 8, 4, 10); + ctx.arcTo(4, 12, 2, 12, 2); + ctx.bezierCurveTo(-1, 12, -11, 8, -16, 0); + + ctx.closePath(); + } else { + // For a thinking bubble, draw a partial circle attached to the bubble... + ctx.arc(-16, 0, 4, 0, Math.PI); + + ctx.closePath(); + + // and two circles detached from it + ctx.moveTo(-7, 7.25); + ctx.arc(-9.25, 7.25, 2.25, 0, Math.PI * 2); + + ctx.moveTo(0, 9.5); + ctx.arc(-1.5, 9.5, 1.5, 0, Math.PI * 2); + } + + // Un-translate the canvas and fill + stroke the text bubble + ctx.restore(); + + ctx.fillStyle = TextBoxStyle.COLORS.BUBBLE_FILL; + ctx.strokeStyle = TextBoxStyle.COLORS.BUBBLE_STROKE; + ctx.lineWidth = TextBoxStyle.STROKE_WIDTH; + + ctx.stroke(); + ctx.fill(); + + // Un-flip the canvas if it was flipped + ctx.restore(); + + // Draw each line of text + ctx.fillStyle = TextBoxStyle.COLORS.TEXT_FILL; + ctx.font = `${TextBoxStyle.FONT_SIZE}px ${TextBoxStyle.FONT}, sans-serif`; + const lines = this._lines; + for (let lineNumber = 0; lineNumber < lines.length; lineNumber++) { + const line = lines[lineNumber]; + ctx.fillText( + line, + TextBoxStyle.PADDING, + TextBoxStyle.PADDING + (TextBoxStyle.LINE_HEIGHT * lineNumber) + + (TextBoxStyle.FONT_HEIGHT_RATIO * TextBoxStyle.FONT_SIZE) + ); + } + + this._renderedScale = scale; + } + + /** + * @param {Array} scale - The scaling factors to be used, each in the [0,100] range. + * @return {WebGLTexture} The GL texture representation of this skin when drawing at the given scale. + */ + getTexture (scale) { + // The texture only ever gets uniform scale. Take the larger of the two axes. + const scaleMax = scale ? Math.max(Math.abs(scale[0]), Math.abs(scale[1])) : 100; + const requestedScale = scaleMax / 100; + + // If we already rendered the text bubble at this scale, we can skip re-rendering it. + if (this._textureDirty || this._renderedScale !== requestedScale) { + this._renderTextBox(requestedScale); + this._textureDirty = false; + + const context = this._canvas.getContext('2d'); + const textureData = context.getImageData(0, 0, this._canvas.width, this._canvas.height); + + const gl = this._renderer.gl; + + if (this._texture === null) { + const textureOptions = { + auto: false, + wrap: gl.CLAMP_TO_EDGE + }; + + this._texture = twgl.createTexture(gl, textureOptions); + } + + gl.bindTexture(gl.TEXTURE_2D, this._texture); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, textureData); + this._silhouette.update(textureData); + } + + return this._texture; + } +} + +module.exports = TextBoxSkin; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 3b1eb8b9d..2ab405bb8 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -10,6 +10,7 @@ const MusicCreationHelpers = require('./musiccreationhelpers'); const MusicAccompanimentHelpers = require('./musicaccompanimenthelpers'); const AnalysisHelpers = require('./analysishelpers'); const MusicPlayers = require('./musicplayer') +const textRender = require('./textrender'); @@ -41,6 +42,7 @@ class Scratch3MusicCreation { {text: "mystery 5", value: 5}, {text: "mystery 6", value: 6}]; + this.textRenderer = new textRender(runtime); this._playNoteForPicker = this._playNoteForPicker.bind(this); this.runtime.on('PLAY_NOTE', this._playNoteForPicker); @@ -378,6 +380,21 @@ class Scratch3MusicCreation { description: 'get the current instrument 2' }), blockType: BlockType.REPORTER + }, + { + opcode: 'setText', + text: formatMessage({ + id: 'musiccreation.setText', + default: 'show text [TEXT]', + description: '' + }), + blockType: BlockType.COMMAND, + arguments: { + TEXT: { + type: ArgumentType.STRING, + defaultValue: "DEFAULT" + } + } } ], @@ -398,6 +415,11 @@ class Scratch3MusicCreation { }; } + setText (args, util) { + log.log("SET TEXT"); + this.textRenderer.say(args.TEXT, args, util); + } + resetMusic (args, util) { this.noteList = []; this.wavenoteList = []; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/textrender.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/textrender.js index 32f4e4c05..52ae29a11 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/textrender.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/textrender.js @@ -1,356 +1,278 @@ -const Clone = require('../../util/clone'); -const log = require('../../util/log'); const Cast = require('../../util/cast'); -const Color = require('../../util/color'); +const Clone = require('../../util/clone'); const RenderedTarget = require('../../sprites/rendered-target'); +const uid = require('../../util/uid'); +const StageLayering = require('../../engine/stage-layering'); +const MathUtil = require('../../util/math-util'); +const log = require('../../util/log'); -class TextRender{ - constructor (runtime){ +/** + * @typedef {object} TextBoxState - the bubble state associated with a particular target. + * @property {Boolean} onSpriteRight - tracks whether the bubble is right or left of the sprite. + * @property {?int} drawableId - the ID of the associated bubble Drawable, null if none. + * @property {string} text - the text of the bubble. + * @property {string} type - the type of the bubble, "say" or "think" + * @property {?string} usageId - ID indicating the most recent usage of the say/think bubble. + * Used for comparison when determining whether to clear a say/think bubble. + */ + +class TextRender { + constructor (runtime) { /** - * The runtime instantiating this block package. - * @type {Runtime} - */ + * The runtime instantiating this block package. + * @type {Runtime} + */ this.runtime = runtime; - this._onTargetWillExit = this._onTargetWillExit.bind(this); - this.runtime.on('targetWasRemoved', this._onTargetWillExit); - this._onTargetCreated = this._onTargetCreated.bind(this); - this.runtime.on('targetWasCreated', this._onTargetCreated); - this.runtime.on('PROJECT_STOP_ALL', this.stopAll.bind(this)); - } - static get STATE_KEY (){ - return 'Scratch.musicviz'; - } - static get DEFAULT_TEXT_STATE (){ - return ({skinId: null, text: 'Welcome to my project!', font: 'Handwriting', color: 'hsla(225, 15%, 40%, 1', size: 24, maxWidth: 480, align: 'center', strokeWidth: 0, strokeColor: 'black', rainbow: false, visible: false, targetSize: null, fullText: null}); - } - _getTextState (target) { - let textState = target.getCustomState(TextRender.STATE_KEY); + this._onTargetChanged = this._onTargetChanged.bind(this); + this._onResetTextBoxes = this._onResetTextBoxes.bind(this); + this._onTargetWillExit = this._onTargetWillExit.bind(this); + this._updateTextBox = this._updateTextBox.bind(this); - if (!textState) { - textState = Clone.simple(TextRender.DEFAULT_TEXT_STATE); - target.setCustomState(TextRender.STATE_KEY, textState); - } + // Reset all bubbles on start/stop + this.runtime.on('PROJECT_STOP_ALL', this._onResetTextBoxes); + this.runtime.on('targetWasRemoved', this._onTargetWillExit); - return textState; + // Enable other blocks to use bubbles like ask/answer + this.runtime.on('TEXT', this._updateTextBox); } - - setText (text, args, util) { - const textState = this._getTextState(util.target); - - textState.text = this._formatText(text); - textState.visible = true; - textState.animating = false; - this._renderText(util.target); // Yield until the next tick. - - - return Promise.resolve(); + /** + * The default bubble state, to be used when a target has no existing bubble state. + * @type {TextBoxState} + */ + static get DEFAULT_TEXT_BOX_STATE () { + return { + drawableId: null, + onSpriteRight: true, + skinId: null, + text: '', + type: 'say', + usageId: null + }; } - clearText (args, util) { - const target = util.target; - - const textState = this._getTextState(target); - textState.visible = false; // Set state so that clones can know not to render text - - textState.animating = false; - const costume = target.getCostumes()[target.currentCostume]; - this.runtime.renderer.updateDrawableSkinId(target.drawableID, costume.skinId); // Yield until the next tick. - - return Promise.resolve(); + /** + * The key to load & store a target's bubble-related state. + * @type {string} + */ + static get STATE_KEY () { + return 'Scratch.text'; } - stopAll () { - this.runtime.targets.forEach(target => { - this.clearText({}, { - target: target - }); - }); + /** + * Limit for say bubble string. + * @const {string} + */ + static get SAY_TEXT_BOX_LIMIT () { + return 330; } - addText (args, util) { - const textState = this._getTextState(util.target); - - textState.text += this._formatText(args.TEXT); - textState.visible = true; - textState.animating = false; - this._renderText(util.target); // Yield until the next tick. - - - return Promise.resolve(); + /** + * Limit for ghost effect + * @const {object} + */ + static get EFFECT_GHOST_LIMIT (){ + return {min: 0, max: 100}; } - addLine (args, util) { - const textState = this._getTextState(util.target); - textState.text += '\n'.concat(this._formatText(args.TEXT)); - textState.visible = true; - textState.animating = false; - - this._renderText(util.target); // Yield until the next tick. - - - return Promise.resolve(); + /** + * Limit for brightness effect + * @const {object} + */ + static get EFFECT_BRIGHTNESS_LIMIT (){ + return {min: -100, max: 100}; } - setFont (args, util) { - const textState = this._getTextState(util.target); - if (args.FONT === RANDOM_ID) { - textState.font = this._randomFontOtherThan(textState.font); - } else { - textState.font = args.FONT; + /** + * @param {Target} target - collect bubble state for this target. Probably, but not necessarily, a RenderedTarget. + * @returns {TextBoxState} the mutable bubble state associated with that target. This will be created if necessary. + * @private + */ + _getTextBoxState (target) { + let textBoxState = target.getCustomState(TextRender.STATE_KEY); + if (!textBoxState) { + textBoxState = Clone.simple(TextRender.DEFAULT_TEXT_BOX_STATE); + target.setCustomState(TextRender.STATE_KEY, textBoxState); } - - this._renderText(util.target); + return textBoxState; } - _randomFontOtherThan (currentFont) { - const otherFonts = this.FONT_IDS.filter(id => id !== currentFont); - return otherFonts[Math.floor(Math.random() * otherFonts.length)]; - } - setColor (args, util) { - const textState = this._getTextState(util.target); - - textState.color = args.COLOR; - - this._renderText(util.target); - } - setWidth (args, util) { - const textState = this._getTextState(util.target); - textState.maxWidth = Cast.toNumber(args.WIDTH); - textState.align = args.ALIGN; - - this._renderText(util.target); - } - setSize (args, util) { - const textState = this._getTextState(util.target); - - textState.size = Cast.toNumber(args.SIZE); - - this._renderText(util.target); - } - setAlign (args, util) { - const textState = this._getTextState(util.target); - - textState.maxWidth = Cast.toNumber(args.WIDTH); - textState.align = args.ALIGN; - - this._renderText(util.target); - } - setOutlineWidth (args, util) { - const textState = this._getTextState(util.target); - - textState.strokeWidth = Cast.toNumber(args.WIDTH); - - this._renderText(util.target); - } - setOutlineColor (args, util) { - const textState = this._getTextState(util.target); - - textState.strokeColor = args.COLOR; - textState.visible = true; - - this._renderText(util.target); + /** + * Handle a target which has moved. + * @param {RenderedTarget} target - the target which has moved. + * @private + */ + _onTargetChanged (target) { + const textBoxState = this._getTextBoxState(target); + if (textBoxState.drawableId) { + this._positionTextBox(target); + } } - _animateText (args, util) { - const target = util.target; - - const textState = this._getTextState(target); - - if (textState.fullText !== null) return; // Let the running animation finish, do nothing - // On "first tick", set the text and force animation flags on and render - - textState.fullText = this._formatText(args.TEXT); - textState.text = textState.fullText[0]; // Start with first char visible - - textState.visible = true; - textState.animating = true; - - this._renderText(target); - - this.runtime.requestRedraw(); - return new Promise(resolve => { - var interval = setInterval(() => { - if (textState.animating && textState.visible && textState.text !== textState.fullText) { - textState.text = textState.fullText.substring(0, textState.text.length + 1); - } else { - // NB there is no need to update the .text state here, since it is at the end of the - // animation (when text == fullText), is being cancelled by force setting text, - // or is being cancelled by hitting the stop button which hides the text anyway. - textState.fullText = null; - clearInterval(interval); - resolve(); - } - - this._renderText(target); - - this.runtime.requestRedraw(); - }, 60 - /* ms, about 1 char every 2 frames */ - ); - }); + /** + * Handle a target which is exiting. + * @param {RenderedTarget} target - the target. + * @private + */ + _onTargetWillExit (target) { + const textBoxState = this._getTextBoxState(target); + if (textBoxState.drawableId && textBoxState.skinId) { + this.runtime.renderer.destroyDrawable(textBoxState.drawableId, StageLayering.SPRITE_LAYER); + this.runtime.renderer.destroySkin(textBoxState.skinId); + textBoxState.drawableId = null; + textBoxState.skinId = null; + this.runtime.requestRedraw(); + } + target.removeListener(RenderedTarget.EVENT_TARGET_VISUAL_CHANGE, this._onTargetChanged); } - _zoomText (args, util) { - - const target = util.target; - - const textState = this._getTextState(target); - - if (textState.targetSize !== null) return; // Let the running animation finish, do nothing - const timer = new Timer(); - const durationMs = Cast.toNumber(args.SECS || 0.5) * 1000; // On "first tick", set the text and force animation flags on and render - - textState.text = this._formatText(args.TEXT); - textState.visible = true; - textState.animating = true; - textState.targetSize = target.size; - target.setSize(0); - - this._renderText(target); - - this.runtime.requestRedraw(); - timer.start(); - return new Promise(resolve => { - var interval = setInterval(() => { - const timeElapsed = timer.timeElapsed(); - - if (textState.animating && textState.visible && timeElapsed < durationMs) { - target.setSize(textState.targetSize * timeElapsed / durationMs); - } else { - target.setSize(textState.targetSize); - textState.targetSize = null; - clearInterval(interval); - resolve(); - } - - this._renderText(target); - - this.runtime.requestRedraw(); - }, this.runtime.currentStepTime); - }); + /** + * Handle project start/stop by clearing all visible bubbles. + * @private + */ + _onResetTextBoxes () { + for (let n = 0; n < this.runtime.targets.length; n++) { + const textBoxState = this._getTextBoxState(this.runtime.targets[n]); + textBoxState.text = ''; + this._onTargetWillExit(this.runtime.targets[n]); + } + clearTimeout(this._textBoxTimeout); } - animateText (args, util) { - switch (args.ANIMATE) { - case 'rainbow': - return this.rainbow(args, util); - - case 'type': - return this._animateText(args, util); - case 'zoom': - return this._zoomText(args, util); + /** + * Position the bubble of a target. If it doesn't fit on the specified side, flip and rerender. + * @param {!Target} target Target whose bubble needs positioning. + * @private + */ + _positionTextBox (target) { + log.log("POSITION"); + if (!target.visible) return; + const textBoxState = this._getTextBoxState(target); + const [textBoxWidth, textBoxHeight] = this.runtime.renderer.getCurrentSkinSize(textBoxState.drawableId); + let targetBounds; + try { + targetBounds = target.getBoundsForTextBox(); + } catch (error_) { + // Bounds calculation could fail (e.g. on empty costumes), in that case + // use the x/y position of the target. + targetBounds = { + left: target.x, + right: target.x, + top: target.y, + bottom: target.y + }; + } + const stageSize = this.runtime.renderer.getNativeSize(); + const stageBounds = { + left: -stageSize[0] / 2, + right: stageSize[0] / 2, + top: stageSize[1] / 2, + bottom: -stageSize[1] / 2 + }; + if (textBoxState.onSpriteRight && textBoxWidth + targetBounds.right > stageBounds.right && + (targetBounds.left - textBoxWidth > stageBounds.left)) { // Only flip if it would fit + textBoxState.onSpriteRight = false; + this._renderTextBox(target); + } else if (!textBoxState.onSpriteRight && targetBounds.left - textBoxWidth < stageBounds.left && + (textBoxWidth + targetBounds.right < stageBounds.right)) { // Only flip if it would fit + textBoxState.onSpriteRight = true; + this._renderTextBox(target); + } else { + this.runtime.renderer.updateDrawableProperties(textBoxState.drawableId, { + position: [ + textBoxState.onSpriteRight ? ( + Math.max( + stageBounds.left, // Bubble should not extend past left edge of stage + Math.min(stageBounds.right - textBoxWidth, targetBounds.right) + ) + ) : ( + Math.min( + stageBounds.right - textBoxWidth, // Bubble should not extend past right edge of stage + Math.max(stageBounds.left, targetBounds.left - bubbleWidth) + ) + ), + // Bubble should not extend past the top of the stage + Math.min(stageBounds.top, targetBounds.bottom + textBoxHeight) + ] + }); + this.runtime.requestRedraw(); } } - rainbow (args, util) { - const target = util.target; - const textState = this._getTextState(target); - - if (textState.rainbow) return; // Let the running animation finish, do nothing - - const timer = new Timer(); - const durationMs = Cast.toNumber(args.SECS || 2) * 1000; // On "first tick", set the text and force animation flags on and render - - textState.text = this._formatText(args.TEXT); - textState.visible = true; - textState.animating = true; - textState.rainbow = true; + /** + * Create a visible bubble for a target. If a bubble exists for the target, + * just set it to visible and update the type/text. Otherwise create a new + * bubble and update the relevant custom state. + * @param {!Target} target Target who needs a bubble. + * @return {undefined} Early return if text is empty string. + * @private + */ + _renderTextBox (target) { + if (!this.runtime.renderer) return; - this._renderText(target); + const textBoxState = this._getTextBoxState(target); + const {type, text, onSpriteRight} = textBoxState; - timer.start(); - return new Promise(resolve => { - var interval = setInterval(() => { - const timeElapsed = timer.timeElapsed(); + // Remove the bubble if target is not visible, or text is being set to blank. + if (!target.visible || text === '') { + this._onTargetWillExit(target); + return; + } - if (textState.animating && textState.visible && timeElapsed < durationMs) { - textState.rainbow = true; - target.setEffect('color', timeElapsed / -5); - } else { - textState.rainbow = false; - target.setEffect('color', 0); - clearInterval(interval); - resolve(); - } + if (textBoxState.skinId) { + this.runtime.renderer.updateTextBoxSkin(textBoxState.skinId, type, text, onSpriteRight, [0, 0]); + } else { + target.addListener(RenderedTarget.EVENT_TARGET_VISUAL_CHANGE, this._onTargetChanged); + textBoxState.drawableId = this.runtime.renderer.createDrawable(StageLayering.SPRITE_LAYER); + textBoxState.skinId = this.runtime.renderer.createTextBoxSkin(type, text, textBoxState.onSpriteRight, [0, 0]); + this.runtime.renderer.updateDrawableProperties(textBoxState.drawableId, { + skinId: textBoxState.skinId + }); + } - this._renderText(target); - }, this.runtime.currentStepTime); - }); + this._positionTextBox(target); } - _formatText (text) { - if (text === '') return text; // Non-integers should be rounded to 2 decimal places (no more, no less), unless they're small enough that - // rounding would display them as 0.00. This matches 2.0's behavior: - // https://github.com/LLK/scratch-flash/blob/2e4a402ceb205a0428…7f54b26eebe1c2e6da6c0/src/scratch/ScratchSprite.as#L579-L585 + /** + * The entry point for say/think blocks. Clears existing bubble if the text is empty. + * Set the bubble custom state and then call _renderBubble. + * @param {!Target} target Target that say/think blocks are being called on. + * @param {!string} type Either "say" or "think" + * @param {!string} text The text for the bubble, empty string clears the bubble. + * @private + */ + _updateTextBox (target, type, text) { + const textBoxState = this._getTextBoxState(target); + textBoxState.type = type; + textBoxState.text = text; + textBoxState.usageId = uid(); + this._renderTextBox(target); + } - if (typeof text === 'number' && Math.abs(text) >= 0.01 && text % 1 !== 0) { - text = text.toFixed(2); + say (text, args, util) { + // @TODO in 2.0 calling say/think resets the right/left bias of the bubble + let message = text; + if (typeof message === 'number') { + message = parseFloat(message.toFixed(2)); } - - text = Cast.toString(text); - return text; + message = String(message).substr(0, TextRender.SAY_TEXT_BOX_LIMIT); + this.runtime.emit('TEXT', util.target, 'say', message); } - _renderText (target) { - if (!this.runtime.renderer) return; - - const textState = this._getTextState(target); - log.log(textState); - if (!textState.visible) return; // Resetting to costume is done in clear block, early return here is for clones - - textState.skinId = this.runtime.renderer.updateTextCostumeSkin(textState); - this.runtime.renderer.updateDrawableSkinId(target.drawableID, textState.skinId); + changeSize (args, util) { + const change = Cast.toNumber(args.CHANGE); + util.target.setSize(util.target.size + change); } - _onTargetCreated (newTarget, sourceTarget) { - log.log("JERE"); - - if (sourceTarget) { - const sourceTextState = sourceTarget.getCustomState(TextRender.STATE_KEY); - - if (sourceTextState) { - newTarget.setCustomState(TextRender.STATE_KEY, Clone.simple(sourceTextState)); - const newTargetState = newTarget.getCustomState(TextRender.STATE_KEY); // Note here that clones do not share skins with their original target. This is a subtle but important - // departure from the rest of Scratch, where clones always stay in sync with the originals costume. - // The "rule" is anything that can be done with the blocks is clone-specific, since that is where you make clones, - // but anything outside of the blocks (costume/sounds) are shared. - // For example, graphic effects are clone-specific, but changing the costume in the paint editor is shared. - // Since you can change the text on the skin from the blocks, each clone needs its own skin. - - newTargetState.skinId = null; // Unset all of the animation flags - - newTargetState.rainbow = false; - newTargetState.targetSize = null; - newTargetState.fullText = null; - newTargetState.animating = false; // Must wait until the drawable has been initialized, but before render. We can - // wait for the first EVENT_TARGET_VISUAL_CHANGE for this. - - var onDrawableReady = () => { - this._renderText(newTarget); - - newTarget.off('EVENT_TARGET_VISUAL_CHANGE', onDrawableReady); - }; - newTarget.on('EVENT_TARGET_VISUAL_CHANGE', onDrawableReady); - } - } + setSize (args, util) { + const size = Cast.toNumber(args.SIZE); + util.target.setSize(size); } - _onTargetWillExit (target) { - const textState = this._getTextState(target); - if (textState.skinId) { - // The drawable will get cleaned up by RenderedTarget#dispose, but that doesn't - // automatically destroy attached skins (because they are usually shared between clones). - // For text skins, however, all clones get their own, so we need to manually destroy them. - this.runtime.renderer.destroySkin(textState.skinId); - textState.skinId = null; - } - } - get FONT_IDS (){ - return ['Sans Serif', 'Serif', 'Handwriting', 'Marker', 'Curly', 'Pixel']; + getSize (args, util) { + return Math.round(util.target.size); } - - } + module.exports = TextRender; \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js index dcb1dc823..d9d9c17b1 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js @@ -220,12 +220,12 @@ class Waveform { this.penDown(args, util); util.target.setXY(this.axisStartX+this.xAxisLength, this.axisStartY+this.yAxisLength/2); this.penUp(args, util); - //this.drawLabels(args, util); + this.drawLabels(args, util); } drawLabels(args, util) { log.log(util); - //this.textRenderer.setText("here", args, util); + //this.textRenderer.say('here', args, util); } drawSignal(args, util) { From 78cf641a0cbefcb4fe0b0e18e76aebc16fbe03f2 Mon Sep 17 00:00:00 2001 From: nada Date: Sat, 10 Apr 2021 23:00:28 -0400 Subject: [PATCH 025/149] added text and axis labels to all viz --- .../scratch3_musiccreation/analysishelpers.js | 2 - .../extensions/scratch3_musiccreation/fft.js | 108 ++++++ .../scratch3_musiccreation/index.js | 1 + .../scratch3_musiccreation/letters.js | 28 ++ .../musicaccompanimenthelpers.js | 2 + .../scratch3_musiccreation/spectrogram.js | 112 ++++++ .../scratch3_musiccreation/textrender.js | 326 +++++------------- .../scratch3_musiccreation/waveform.js | 134 ++++++- 8 files changed, 454 insertions(+), 259 deletions(-) create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/letters.js diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js index 5ef8094fb..4c535e121 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/analysishelpers.js @@ -45,8 +45,6 @@ class AnalysisHelpers { compareFiles (args, util) { note1 = this.filenameToNote[Cast.toNumber(args.FILE1)]; note2 = this.filenameToNote[Cast.toNumber(args.FILE2)]; - this.play(note1, util); - this.play(note2, util); this.inst1 = note1.instrument; this.inst2 = note2.instrument; this.louder = (this.compareVolumes[note1.volume] == this.compareVolumes[note2.volume]) ? "equal" : ((this.compareVolumes[note1.volume] > this.compareVolumes[note2.volume]) ? args.FILE1 : args.FILE2); diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js index 29ed83a14..dc3924376 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js @@ -5,6 +5,7 @@ const Color = require('../../util/color'); const RenderedTarget = require('../../sprites/rendered-target'); const StageLayering = require('../../engine/stage-layering'); +const letters = require('./letters'); const symbols = require('./symbols'); const { updateVariableIdentifiers } = require('../../util/variable-util'); @@ -48,6 +49,67 @@ class FFT { "Clarinet": [[1,1], [6, 0.5]], "Synth":[[1,1]] } + + this.letters = { + 'a': letters.a, + 'b': letters.b, + 'c': letters.c, + 'd': letters.d, + 'e': letters.e, + 'f': letters.f, + 'g': letters.g, + 'h': letters.h, + 'i': letters.i, + 'j': letters.j, + 'h': letters.h, + 'i': letters.i, + 'j': letters.j, + 'k': letters.k, + 'l': letters.l, + 'm': letters.m, + 'n': letters.n, + 'o': letters.o, + 'p': letters.p, + 'q': letters.q, + 'r': letters.r, + 's': letters.s, + 't': letters.t, + 'u': letters.u, + 'v': letters.v, + 'w': letters.w, + 'x': letters.x, + 'y': letters.y, + 'z': letters.z + } + + this.spacing = { + 'a': 59.03383897316219, + 'b': 35.666277712952166, + 'c': 55.59820426487096, + 'd': 51.65460910151694, + 'e': 33.821470245040814, + 'f': 35.05134189031503, + 'g': 62.10851808634772, + 'h': 51.65460910151691, + 'i': 0.0, + 'j': 27.057176196032685, + 'k': 44.275379229871646, + 'l': 33.20653442240376, + 'm': 76.86697782963824, + 'n': 57.803967327887975, + 'o': 62.108518086347715, + 'p': 35.05134189031503, + 'q': 62.72345390898482, + 'r': 34.305274971941685, + 's': 39.62850729517402, + 't': 51.03967327887982, + 'u': 50.42473745624271, + 'v': 52.88448074679113, + 'w': 88.55075845974329, + 'x': 45.50525087514586, + 'y': 47.350058343057185, + 'z': 55.959159859976694 + } } /** @@ -150,6 +212,51 @@ class FFT { } + + labelAxes (args, util) { + this.setPenColorToColor(this.black, util); + this.drawString('frequency', this.axisStartX + this.xAxisLength-70, this.axisStartY-5, 0.8, args, util); + this.drawString('intensity', this.axisStartX-30, this.axisStartY+this.yAxisLength + 20, 0.8, args, util); + + this.drawString('frequencies', this.axisStartX + this.xAxisLength/2 -70, this.axisStartY+this.yAxisLength + 20, 1, args, util); + } + + + drawString (str, xstart, ystart, size, args, util) { + log.log(str); + for (var i in str) { + log.log(i); + log.log(str[i]); + xstart += 5*size; + if (i >= 1) { + xstart += this.spacing[str[i-1]]/5*size; + } + this.drawLetter(str[i], xstart, ystart, size, args, util); + } + + } + + drawLetter(letter, xstart, ystart, size, args, util) { + letter = letters[letter]; + this.penUp(args, util); + for (var i in letter) { + coord = letter[i]; + x = coord[0]/5*size + xstart; + y = -coord[1]/5*size + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + for (var i in letter) { + coord = letter[i]; + x = coord[0]/5*size + xstart+1; + y = -coord[1]/5*size + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + } + drawFFT(args, util) { colors = ['0xff0000', '0x0000ff', '0x00ff00', '0xffa500']; this.setPenColorToColor(colors[1], util); @@ -204,6 +311,7 @@ class FFT { this.penDown(args, util); util.target.setXY(this.axisStartX+this.xAxisLength, this.axisStartY); this.penUp(args, util); + this.labelAxes(args, util); } findCrescDecresc() { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 2ab405bb8..5bcbe5081 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -426,6 +426,7 @@ class Scratch3MusicCreation { } testWaveformViz (args, util) { + log.log("WAVE"); this.vizHelper.testWaveformViz(this.wavenoteList, args, util); } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/letters.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/letters.js new file mode 100644 index 000000000..ccec85310 --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/letters.js @@ -0,0 +1,28 @@ +module.exports = { + 'a': [[0.0, 69.40170940170941], [27.672112018669765, 0.0], [59.03383897316219, 70.0], [51.654609101516925, 47.863247863247864], [6.149358226371049, 47.26495726495726]], + 'b': [[0.6149358226371078, 70.0], [0.0, 0.0], [3.6896149358226467, 0.0], [11.068844807467912, 0.0], [22.75262543757293, 0.0], [27.672112018669793, 1.9090909090909138], [32.59159859976663, 5.090909090909103], [34.43640606767795, 10.81818181818183], [34.43640606767795, 15.90909090909092], [33.82147024504084, 22.909090909090917], [28.90198366394401, 26.0909090909091], [23.982497082847146, 28.63636363636364], [18.448074679113176, 30.545454545454554], [11.68378063010502, 31.818181818181824], [4.919486581096862, 31.818181818181824], [1.8448074679113233, 31.818181818181824], [0.6149358226371078, 31.818181818181824], [12.913652275379235, 32.45454545454546], [22.137689614935823, 35.63636363636364], [28.90198366394401, 38.18181818181819], [33.206534422403735, 41.36363636363637], [35.666277712952166, 44.545454545454554], [35.666277712952166, 50.90909090909092], [35.05134189031506, 56.000000000000014], [33.82147024504084, 62.363636363636374], [28.2870478413069, 67.45454545454547], [23.982497082847146, 68.09090909090911], [13.528588098016343, 69.36363636363636], [7.994165694282373, 70.0], [0.0, 70.0]], + 'c': [[13.603815937149307, 65.0], [22.475869809203175, 68.75], [33.713804713804734, 70.0], [44.3602693602694, 68.125], [55.006734006734064, 63.75000000000001], [44.3602693602694, 68.125], [33.713804713804734, 70.0], [23.06734006734007, 68.75], [14.1952861952862, 65.0], [7.097643097643129, 56.875], [1.1829405162739022, 45.625], [0.0, 33.75], [1.7744107744107964, 21.250000000000007], [8.872053872053925, 10.625000000000007], [19.518518518518533, 1.8750000000000007], [31.347923681257043, 0.0], [43.76879910213245, 1.2500000000000029], [55.59820426487096, 6.25]], + 'd': [[1.8448074679113233, 68.03738317757009], [0.0, 1.3084112149532667], [14.143523920653479, 0.0], [25.212368728121362, 1.3084112149532667], [36.89614935822641, 5.887850467289719], [44.890315052508754, 12.429906542056068], [51.03967327887983, 21.588785046728965], [51.65460910151694, 32.05607476635514], [49.809801633605616, 45.794392523364486], [45.50525087514586, 56.915887850467286], [38.126021003500625, 62.80373831775701], [31.976662777129548, 66.72897196261681], [18.140606767794623, 69.34579439252336], [2.459743290548431, 70.0]], + 'e': [[1.2298716452742156, 68.71559633027523], [0.6149358226371078, 1.926605504587154], [33.206534422403706, 0.0], [1.2298716452742156, 1.284403669724774], [0.0, 34.03669724770643], [33.206534422403706, 34.67889908256881], [0.0, 34.03669724770643], [1.8448074679113233, 70.0], [33.821470245040814, 70.0]], + 'f': [[0.0, 70.0], [0.0, 0.0], [35.05134189031503, 0.0], [0.0, 0.0], [0.0, 31.875000000000007], [35.05134189031503, 31.875000000000007]], + 'g': [[16.603267211201867, 66.72897196261681], [26.44224037339557, 70.0], [38.12602100350059, 68.69158878504673], [50.4247374562427, 62.14953271028035], [59.0338389731622, 51.028037383177555], [60.878646441073506, 37.94392523364484], [36.896149358226374, 37.94392523364484], [62.10851808634772, 37.2897196261682], [59.0338389731622, 52.33644859813082], [50.4247374562427, 63.45794392523363], [38.12602100350059, 70.0], [27.057176196032678, 70.0], [17.218203033838975, 67.38317757009345], [4.919486581096848, 54.29906542056074], [0.0, 38.598130841121474], [0.6149358226371078, 25.51401869158879], [6.764294049008171, 12.429906542056075], [18.44807467911319, 2.6168224299065184], [32.591598599766634, 0.0], [46.73512252042007, 1.9626168224299116], [57.189031505250874, 8.504672897196254]], + 'h': [[0.0, 68.22033898305085], [0.0, 0.0], [0.0, 33.813559322033896], [51.65460910151691, 34.40677966101695], [51.65460910151691, 1.1864406779661043], [51.65460910151691, 70.0]], + 'i': [[0.0, 70.0], [0.0, 0.0]], + 'j': [[7.994165694282401, 69.41176470588238], [0.0, 60.58823529411765], [8.609101516919509, 70.0], [20.907817969661608, 68.23529411764709], [25.82730455075847, 58.82352941176473], [27.057176196032685, 0.0]], + 'k': [[0.0, 69.42622950819673], [1.2298716452742156, 0.0], [0.0, 37.295081967213136], [43.04550758459743, 0.5737704918032802], [1.2298716452742156, 37.86885245901641], [44.275379229871646, 70.0]], + 'l': [[0.0, 69.39655172413792], [0.0, 0.0], [0.6149358226371078, 70.0], [33.20653442240376, 69.39655172413792]], + 'm': [[0.0, 69.42622950819673], [0.0, 0.0], [38.12602100350057, 68.85245901639347], [76.86697782963824, 0.5737704918032802], [76.86697782963824, 70.0]], + 'n': [[0.0, 68.86178861788618], [0.0, 0.0], [57.803967327887975, 70.0], [57.803967327887975, 0.5691056910569123]], + 'o': [[12.298716452742127, 65.33333333333339], [4.304550758459754, 55.33333333333336], [0.0, 42.00000000000005], [0.6149358226371078, 28.666666666666682], [5.53442240373397, 14.666666666666705], [18.448074679113176, 2.6666666666666736], [38.740956826137705, 0.0], [52.88448074679113, 6.000000000000016], [61.493582263710636, 20.000000000000053], [62.108518086347715, 36.6666666666667], [57.18903150525088, 53.33333333333336], [46.12018669778297, 64.00000000000004], [33.206534422403735, 70.0], [20.907817969661608, 68.66666666666666], [11.68378063010502, 64.66666666666671]], + 'p': [[0.6149358226371078, 70.0], [0.0, 0.0], [19.063010501750284, 0.0], [30.746791131855332, 7.583333333333303], [35.05134189031503, 16.916666666666664], [34.43640606767798, 27.416666666666643], [28.90198366394401, 35.58333333333333], [19.677946324387392, 37.33333333333334], [0.6149358226371078, 37.33333333333334]], + 'q': [[15.988331388564745, 57.016129032258085], [6.7642940490081855, 46.29032258064516], [0.0, 33.87096774193551], [0.6149358226371078, 18.62903225806451], [10.453908984830832, 7.338709677419372], [26.442240373395578, 0.0], [44.275379229871646, 2.2580645161290374], [56.574095682613745, 9.03225806451615], [62.72345390898482, 22.58064516129032], [62.72345390898482, 36.693548387096804], [57.18903150525085, 46.854838709677416], [47.350058343057185, 52.500000000000014], [38.12602100350057, 42.338709677419345], [61.49358226371061, 70.0], [47.96499416569429, 53.06451612903227], [37.51108518086346, 58.70967741935481], [27.057176196032685, 59.274193548387075], [15.988331388564745, 57.016129032258085]], + 'r': [[0.0, 70.0], [0.0, 0.0], [13.012345679012356, 0.0], [24.25028058361397, 2.393162393162442], [28.3905723905724, 9.572649572649595], [29.57351290684619, 17.350427350427374], [27.2076318742985, 24.529914529914524], [17.744107744107737, 29.31623931623935], [5.323232323232332, 29.91452991452992], [0.0, 34.97218573119902], [34.305274971941685, 70.0]], + 's': [[0.0, 61.44104803493453], [8.280583613916974, 67.5545851528385], [20.109988776655428, 70.0], [30.756453423120092, 68.1659388646288], [38.14983164983164, 60.82969432314406], [39.62850729517402, 49.82532751091703], [33.12233445566778, 41.572052401746724], [21.292929292929216, 33.62445414847156], [8.872053872053925, 24.14847161572052], [4.731762065095381, 14.366812227074217], [8.280583613916974, 5.196506550218391], [15.378226711560046, 0.9170305676856295], [23.65881032547702, 0.0], [32.235129068462356, 2.4454148471615023], [38.741301907968705, 7.641921397379893]], + 't': [[24.597432905484244, 70.0], [24.597432905484244, 0.0], [0.0, 0.0], [51.03967327887982, 0.0]], + 'u': [[6.1493582263710636, 66.37931034482763], [1.2298716452742156, 56.12068965517243], [0.6149358226371078, 48.27586206896556], [0.0, 0.603448275862071], [1.2298716452742156, 47.67241379310349], [1.2298716452742156, 56.12068965517243], [6.764294049008171, 66.9827586206897], [17.218203033838975, 69.39655172413799], [31.361726954492426, 70.0], [44.27537922987163, 64.56896551724142], [50.42473745624271, 51.89655172413793], [49.8098016336056, 0.0]], + 'v': [[26.442240373395578, 70.0], [0.0, 0.0], [26.442240373395578, 70.0], [52.88448074679113, 0.0]], + 'w': [[20.2928821470245, 70.0], [0.0, 0.0], [20.2928821470245, 70.0], [44.275379229871646, 1.1290322580645196], [68.25787631271879, 70.0], [88.55075845974329, 0.5645161290322598]], + 'x': [[0.0, 68.87096774193547], [43.66044340723454, 0.0], [21.522753792298715, 32.74193548387096], [0.0, 0.0], [21.522753792298715, 32.74193548387096], [45.50525087514586, 70.0]], + 'y': [[23.982497082847203, 70.0], [23.367561260210095, 32.66666666666666], [0.0, 0.0], [23.367561260210095, 32.66666666666666], [47.350058343057185, 0.0]], + 'z': [[2.459743290548431, 70.0], [55.959159859976694, 70.0], [2.459743290548431, 70.0], [50.424737456242724, 0.0], [0.0, 1.250000000000004]] +} diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js index b1915d2aa..9f6e6def9 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js @@ -79,6 +79,7 @@ class MusicAccompanimentHelpers { player.stop(); return; } + log.log("player done"); notes = this.configure(noteList); music_rnn = new rnn.MusicRNN('https://storage.googleapis.com/magentadata/js/checkpoints/music_rnn/basic_rnn'); music_rnn.initialize(); @@ -89,6 +90,7 @@ class MusicAccompanimentHelpers { music_rnn .continueSequence(qns, rnn_steps, rnn_temperature) .then((sample) => player.start(sample)); + log.log(sample); log.log(TWINKLE_TWINKLE); } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js index c43faeb0c..8c6b5769f 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js @@ -5,6 +5,7 @@ const Color = require('../../util/color'); const RenderedTarget = require('../../sprites/rendered-target'); const StageLayering = require('../../engine/stage-layering'); +const letters = require('./letters'); const symbols = require('./symbols'); const { updateVariableIdentifiers } = require('../../util/variable-util'); @@ -50,6 +51,67 @@ class Spectrogram { "Clarinet": [[1,1], [6, 0.5]], "Synth":[[1,1]] } + + this.letters = { + 'a': letters.a, + 'b': letters.b, + 'c': letters.c, + 'd': letters.d, + 'e': letters.e, + 'f': letters.f, + 'g': letters.g, + 'h': letters.h, + 'i': letters.i, + 'j': letters.j, + 'h': letters.h, + 'i': letters.i, + 'j': letters.j, + 'k': letters.k, + 'l': letters.l, + 'm': letters.m, + 'n': letters.n, + 'o': letters.o, + 'p': letters.p, + 'q': letters.q, + 'r': letters.r, + 's': letters.s, + 't': letters.t, + 'u': letters.u, + 'v': letters.v, + 'w': letters.w, + 'x': letters.x, + 'y': letters.y, + 'z': letters.z + } + + this.spacing = { + 'a': 59.03383897316219, + 'b': 35.666277712952166, + 'c': 55.59820426487096, + 'd': 51.65460910151694, + 'e': 33.821470245040814, + 'f': 35.05134189031503, + 'g': 62.10851808634772, + 'h': 51.65460910151691, + 'i': 0.0, + 'j': 27.057176196032685, + 'k': 44.275379229871646, + 'l': 33.20653442240376, + 'm': 76.86697782963824, + 'n': 57.803967327887975, + 'o': 62.108518086347715, + 'p': 35.05134189031503, + 'q': 62.72345390898482, + 'r': 34.305274971941685, + 's': 39.62850729517402, + 't': 51.03967327887982, + 'u': 50.42473745624271, + 'v': 52.88448074679113, + 'w': 88.55075845974329, + 'x': 45.50525087514586, + 'y': 47.350058343057185, + 'z': 55.959159859976694 + } } /** @@ -143,6 +205,14 @@ class Spectrogram { } + labelAxes (args, util) { + this.setPenColorToColor(this.black, util); + this.drawString('time', this.axisStartX + this.xAxisLength-40, this.axisStartY-5, 0.8, args, util); + this.drawString('frequencies', this.axisStartX-30, this.axisStartY+this.yAxisLength + 20, 0.8, args, util); + + this.drawString('spectrogram', this.axisStartX + this.xAxisLength/2 -70, this.axisStartY+this.yAxisLength + 20, 1, args, util); + } + drawSpectrogram(args, util) { freqs = []; amps = []; @@ -182,9 +252,50 @@ class Spectrogram { util.target.setXY(this.axisStartX + end*this.xAxisLength, this.axisStartY+this.yAxisLength*f); this.penUp(args, util); + this.penUp(args, util); + util.target.setXY(this.axisStartX + start*this.xAxisLength, this.axisStartY+this.yAxisLength*f+1); + this.penDown(args, util); + util.target.setXY(this.axisStartX + end*this.xAxisLength, this.axisStartY+this.yAxisLength*f+1); + this.penUp(args, util); + } } + drawString (str, xstart, ystart, size, args, util) { + log.log(str); + for (var i in str) { + log.log(i); + log.log(str[i]); + xstart += 5*size; + if (i >= 1) { + xstart += this.spacing[str[i-1]]/5*size; + } + this.drawLetter(str[i], xstart, ystart, size, args, util); + } + + } + + drawLetter(letter, xstart, ystart, size, args, util) { + letter = letters[letter]; + this.penUp(args, util); + for (var i in letter) { + coord = letter[i]; + x = coord[0]/5*size + xstart; + y = -coord[1]/5*size + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + for (var i in letter) { + coord = letter[i]; + x = coord[0]/5*size + xstart+1; + y = -coord[1]/5*size + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + } + fillInSpec(args, util){ this.setPenColorToColor(this.blue, util); for (var i = this.axisStartY+1; i = 1) { + xstart += this.spacing[str[i-1]]/5; + } + this.drawLetter(str[i], xstart, ystart, args, util); } - clearTimeout(this._textBoxTimeout); - } - /** - * Position the bubble of a target. If it doesn't fit on the specified side, flip and rerender. - * @param {!Target} target Target whose bubble needs positioning. - * @private - */ - _positionTextBox (target) { - log.log("POSITION"); - if (!target.visible) return; - const textBoxState = this._getTextBoxState(target); - const [textBoxWidth, textBoxHeight] = this.runtime.renderer.getCurrentSkinSize(textBoxState.drawableId); - let targetBounds; - try { - targetBounds = target.getBoundsForTextBox(); - } catch (error_) { - // Bounds calculation could fail (e.g. on empty costumes), in that case - // use the x/y position of the target. - targetBounds = { - left: target.x, - right: target.x, - top: target.y, - bottom: target.y - }; - } - const stageSize = this.runtime.renderer.getNativeSize(); - const stageBounds = { - left: -stageSize[0] / 2, - right: stageSize[0] / 2, - top: stageSize[1] / 2, - bottom: -stageSize[1] / 2 - }; - if (textBoxState.onSpriteRight && textBoxWidth + targetBounds.right > stageBounds.right && - (targetBounds.left - textBoxWidth > stageBounds.left)) { // Only flip if it would fit - textBoxState.onSpriteRight = false; - this._renderTextBox(target); - } else if (!textBoxState.onSpriteRight && targetBounds.left - textBoxWidth < stageBounds.left && - (textBoxWidth + targetBounds.right < stageBounds.right)) { // Only flip if it would fit - textBoxState.onSpriteRight = true; - this._renderTextBox(target); - } else { - this.runtime.renderer.updateDrawableProperties(textBoxState.drawableId, { - position: [ - textBoxState.onSpriteRight ? ( - Math.max( - stageBounds.left, // Bubble should not extend past left edge of stage - Math.min(stageBounds.right - textBoxWidth, targetBounds.right) - ) - ) : ( - Math.min( - stageBounds.right - textBoxWidth, // Bubble should not extend past right edge of stage - Math.max(stageBounds.left, targetBounds.left - bubbleWidth) - ) - ), - // Bubble should not extend past the top of the stage - Math.min(stageBounds.top, targetBounds.bottom + textBoxHeight) - ] - }); - this.runtime.requestRedraw(); - } } - /** - * Create a visible bubble for a target. If a bubble exists for the target, - * just set it to visible and update the type/text. Otherwise create a new - * bubble and update the relevant custom state. - * @param {!Target} target Target who needs a bubble. - * @return {undefined} Early return if text is empty string. - * @private - */ - _renderTextBox (target) { - if (!this.runtime.renderer) return; - - const textBoxState = this._getTextBoxState(target); - const {type, text, onSpriteRight} = textBoxState; - - // Remove the bubble if target is not visible, or text is being set to blank. - if (!target.visible || text === '') { - this._onTargetWillExit(target); - return; + drawLetter(letter, xstart, ystart, args, util) { + letter = letters[letter]; + this.penUp(args, util); + for (var i in letter) { + coord = letter[i]; + x = coord[0]/5 + xstart; + y = -coord[1]/5 + ystart; + util.target.setXY(x, y); + this.penDown(args, util); } - - if (textBoxState.skinId) { - this.runtime.renderer.updateTextBoxSkin(textBoxState.skinId, type, text, onSpriteRight, [0, 0]); - } else { - target.addListener(RenderedTarget.EVENT_TARGET_VISUAL_CHANGE, this._onTargetChanged); - textBoxState.drawableId = this.runtime.renderer.createDrawable(StageLayering.SPRITE_LAYER); - textBoxState.skinId = this.runtime.renderer.createTextBoxSkin(type, text, textBoxState.onSpriteRight, [0, 0]); - this.runtime.renderer.updateDrawableProperties(textBoxState.drawableId, { - skinId: textBoxState.skinId - }); + this.penUp(args, util); + for (var i in letter) { + coord = letter[i]; + x = coord[0]/5 + xstart+1; + y = -coord[1]/5 + ystart; + util.target.setXY(x, y); + this.penDown(args, util); } - - this._positionTextBox(target); + this.penUp(args, util); } - /** - * The entry point for say/think blocks. Clears existing bubble if the text is empty. - * Set the bubble custom state and then call _renderBubble. - * @param {!Target} target Target that say/think blocks are being called on. - * @param {!string} type Either "say" or "think" - * @param {!string} text The text for the bubble, empty string clears the bubble. - * @private - */ - _updateTextBox (target, type, text) { - const textBoxState = this._getTextBoxState(target); - textBoxState.type = type; - textBoxState.text = text; - textBoxState.usageId = uid(); - this._renderTextBox(target); - } - say (text, args, util) { - // @TODO in 2.0 calling say/think resets the right/left bias of the bubble - let message = text; - if (typeof message === 'number') { - message = parseFloat(message.toFixed(2)); - } - message = String(message).substr(0, TextRender.SAY_TEXT_BOX_LIMIT); - this.runtime.emit('TEXT', util.target, 'say', message); - } - changeSize (args, util) { - const change = Cast.toNumber(args.CHANGE); - util.target.setSize(util.target.size + change); - } - setSize (args, util) { - const size = Cast.toNumber(args.SIZE); - util.target.setSize(size); - } - - getSize (args, util) { - return Math.round(util.target.size); - } } module.exports = TextRender; \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js index d9d9c17b1..62b33909e 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js @@ -5,7 +5,7 @@ const Color = require('../../util/color'); const RenderedTarget = require('../../sprites/rendered-target'); const StageLayering = require('../../engine/stage-layering'); -const symbols = require('./symbols'); +const letters = require('./letters'); const textRender = require('./textrender'); const { updateVariableIdentifiers } = require('../../util/variable-util'); @@ -27,6 +27,7 @@ class Waveform { */ this._penDrawableId = -1; this.black = '0x000000'; + this.white = '0xffffff'; this.noteList = []; @@ -45,10 +46,68 @@ class Waveform { this._onTargetCreated = this._onTargetCreated.bind(this); this.runtime.on('targetWasCreated', this._onTargetCreated); - - this._onTargetMoved = this._onTargetMoved.bind(this); + this.letters = { + 'a': letters.a, + 'b': letters.b, + 'c': letters.c, + 'd': letters.d, + 'e': letters.e, + 'f': letters.f, + 'g': letters.g, + 'h': letters.h, + 'i': letters.i, + 'j': letters.j, + 'h': letters.h, + 'i': letters.i, + 'j': letters.j, + 'k': letters.k, + 'l': letters.l, + 'm': letters.m, + 'n': letters.n, + 'o': letters.o, + 'p': letters.p, + 'q': letters.q, + 'r': letters.r, + 's': letters.s, + 't': letters.t, + 'u': letters.u, + 'v': letters.v, + 'w': letters.w, + 'x': letters.x, + 'y': letters.y, + 'z': letters.z + } + + this.spacing = { + 'a': 59.03383897316219, + 'b': 35.666277712952166, + 'c': 55.59820426487096, + 'd': 51.65460910151694, + 'e': 33.821470245040814, + 'f': 35.05134189031503, + 'g': 62.10851808634772, + 'h': 51.65460910151691, + 'i': 0.0, + 'j': 27.057176196032685, + 'k': 44.275379229871646, + 'l': 33.20653442240376, + 'm': 76.86697782963824, + 'n': 57.803967327887975, + 'o': 62.108518086347715, + 'p': 35.05134189031503, + 'q': 62.72345390898482, + 'r': 34.305274971941685, + 's': 39.62850729517402, + 't': 51.03967327887982, + 'u': 50.42473745624271, + 'v': 52.88448074679113, + 'w': 88.55075845974329, + 'x': 45.50525087514586, + 'y': 47.350058343057185, + 'z': 55.959159859976694 + } harmonics = { "Piano": [[1,1], [2, 0.5]], @@ -154,6 +213,7 @@ class Waveform { return penState; } + testWaveformViz (noteList, args, util) { this.setPenColorToColor(this.black, util); this.noteList = noteList; @@ -161,10 +221,53 @@ class Waveform { this.drawAxes(args, util); this.drawSignal(args, util); this.drawLegend(args, util); + this.labelAxes(args, util); + } + + labelAxes (args, util) { + this.drawString('time', this.axisStartX + this.xAxisLength-40, this.axisStartY+this.yAxisLength/2-5, 0.8, args, util); + this.drawString('signal', this.axisStartX-30, this.axisStartY+this.yAxisLength + 20, 0.8, args, util); + + this.drawString('waveform', this.axisStartX + this.xAxisLength/2 -70, this.axisStartY+this.yAxisLength + 20, 1, args, util); + } + + + drawString (str, xstart, ystart, size, args, util) { + log.log(str); + for (var i in str) { + log.log(i); + log.log(str[i]); + xstart += 5*size; + if (i >= 1) { + xstart += this.spacing[str[i-1]]/5*size; + } + this.drawLetter(str[i], xstart, ystart, size, args, util); + } + + } + + drawLetter(letter, xstart, ystart, size, args, util) { + letter = letters[letter]; + this.penUp(args, util); + for (var i in letter) { + coord = letter[i]; + x = coord[0]/5*size + xstart; + y = -coord[1]/5*size + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + for (var i in letter) { + coord = letter[i]; + x = coord[0]/5*size + xstart+1; + y = -coord[1]/5*size + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); } drawLegend (args, util) { - log.log("HERE"); //draw Box this.penUp(args, util); util.target.setXY(this.legendStartX, this.legendStartY); @@ -178,22 +281,24 @@ class Waveform { util.target.setXY(this.legendStartX, this.legendStartY); this.penUp(args, util); + for (var i = this.legendStartY+1; i < this.legendStartY+this.legendLengthY; i++) { + this.setPenColorToColor(this.white, util); + this.penUp(args, util); + util.target.setXY(this.legendStartX+1, i); + this.penDown(args, util); + util.target.setXY(this.legendStartX + this.legendLengthX-1, i); + } + //draw Title colorX = this.legendStartX + 5 ; colorY = this.legendStartY + this.legendLengthY - 20; this.setPenColorToColor(this.black, util); - this.penUp(args, util); - util.target.setXY(colorX, this.legendStartY + this.legendLengthY - 15); - this.penDown(args, util); - util.target.setXY(colorX+65, this.legendStartY + this.legendLengthY - 15); + this.drawString('legend',colorX, this.legendStartY + this.legendLengthY - 5, 0.7, args, util); //draw Color mappings for (var i in freqToColor) { - log.log(freqToColor[i]); - log.log(i); this.setPenColorToColor(freqToColor[i], util); for (var c = 0; c <= 10; c++) { - log.log(c); this.penUp(args, util); util.target.setXY(colorX, colorY-c); this.penDown(args, util); @@ -220,12 +325,11 @@ class Waveform { this.penDown(args, util); util.target.setXY(this.axisStartX+this.xAxisLength, this.axisStartY+this.yAxisLength/2); this.penUp(args, util); - this.drawLabels(args, util); + //this.drawLabels(args, util); } drawLabels(args, util) { - log.log(util); - //this.textRenderer.say('here', args, util); + this.textRenderer.say('here', args, util); } drawSignal(args, util) { @@ -251,11 +355,9 @@ class Waveform { inst = note[2]; vol = note[3]; if (midi in freqToColor) { - log.log("HERE"); c = freqToColor[midi]; this.setPenColorToColor(c, util); } else { - log.log("CATCH"); c = colors[i%4]; this.setPenColorToColor(c, util); freqToColor[midi] = c; From bb1a67495498d0028bd17e91c926e579e7b45469 Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 11 Apr 2021 14:58:18 -0400 Subject: [PATCH 026/149] sheet music has treble and bass, text exists, added note menu dropdown --- .../scratch3_musiccreation/index.js | 15 ++- .../scratch3_musiccreation/sheetmusic.js | 121 ++++++++++++------ .../scratch3_musiccreation/vizhelpers.js | 31 ----- 3 files changed, 95 insertions(+), 72 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 5bcbe5081..ab59c401f 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -34,6 +34,14 @@ class Scratch3MusicCreation { {text: "mezzo-forte", value: 60}, {text: "forte", value: 85}, {text: "fortissimo", value: 100}]; + + this.beats = [{text: "1/8", value: 0.03125}, + {text: "1/4", value: 0.0625}, + {text: "1/2", value: 0.125}, + {text: "1", value: 0.25}, + {text: "2", value: 0.5}, + {text: "3", value: 0.75}, + {text: "4", value: 1}]; this.files = [{text: "mystery 1", value: 1}, {text: "mystery 2", value: 2}, @@ -221,7 +229,8 @@ class Scratch3MusicCreation { }, SECS: { type: ArgumentType.NUMBER, - defaultValue: 0.25 + defaultValue: 0.25, + menu: "BEATS" } } }, @@ -410,6 +419,10 @@ class Scratch3MusicCreation { FILES: { acceptReporters: true, items: this.files + }, + BEATS: { + acceptReporters: true, + items: this.beats } } }; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 58619e085..89bae1ec7 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -40,6 +40,7 @@ class SheetMusic { this.staffWidth = 8; this.spaceBetween = 70; + this.spaceBetweenStaffs = 5*12; this.wavePen = -1; this.musicPen = 2; @@ -57,18 +58,44 @@ class SheetMusic { 62: -1, 63: 0, 64: 0, - 65: 2, - 66: 2, - 67: 3, - 68: 3, - 69: 4, - 70: 5, - 71: 5, - 72: 6, - 73: 6, + 65: 1, + 66: 1, + 67: 2, + 68: 2, + 69: 3, + 70: 4, + 71: 4, + 72: 5, + 73: 5, + 74: 6, 75: 7, - 76: 8 - } + 76: 7 + } + + + pitchToStaffBass = { + 39: -2, //F + 40: -2, //G + 41: -1, //A + 42: -1, //DONE + 43: 0, + 44: 0, + 45: 1, + 46: 2, + 47: 2, + 48: 3,//DONE + 49: 3, + 50: 4, + 51: 5, + 52: 5, + 53: 6, + 54: 6, + 55: 7, + 56: 7, + 57: 8, + 58: 9, + 59: 9, + } harmonics = { "Piano": [[1,1], [2, 0.5]], @@ -192,9 +219,9 @@ class SheetMusic { drawStaff(args, util) { startX = this.staffStartX; endX = this.staffStartX+this.staffLength; - y = this.staffStartY; + var y = this.staffStartY; yStep = this.staffWidth; - for (var j = 0; j < 6; j++) { + for (var j = 0; j < 2; j++) { for (var i = 0; i < 5; i++) { this.penUp(args, util); util.target.setXY(startX, y); @@ -203,8 +230,18 @@ class SheetMusic { y = y+yStep; } y = y - this.spaceBetween - yStep*5; + for (var i = 0; i < 5; i++) { + this.penUp(args, util); + util.target.setXY(startX, y); + this.penDown(args, util); + util.target.setXY(endX, y); + y = y+yStep; + } + y = y - this.spaceBetween - this.spaceBetweenStaffs; + this.drawTreble(this.staffStartX+10, this.staffStartY-12 -j*(this.spaceBetween+yStep*5+this.spaceBetweenStaffs-12), args, util); + } - this.drawTreble(args, util); + //this.drawBass(args, util); } drawSymbol(symbol, args, util, xStart, yStart) { @@ -221,15 +258,15 @@ class SheetMusic { this.penUp(args, util); } - drawTreble(args, util) { - xstart = this.staffStartX+10; - ystart = this.staffStartY-12; + drawTreble(xstart, ystart, args, util) { + //xstart = this.staffStartX+10; + //ystart = this.staffStartY-12; treble = symbols.treble; this.penUp(args, util); for (var i in treble) { coord = treble[i]; - x = coord[0]/5 + xstart; - y = -coord[1]/5 + ystart; + var x = coord[0]/5 + xstart; + var y = -coord[1]/5 + ystart; util.target.setXY(x, y); this.penDown(args, util); } @@ -263,11 +300,17 @@ class SheetMusic { } x = x+xStep; if (x > this.staffStartX + this.staffLength) { - x = xinit; - y = y - this.spaceBetween; + x = xinit+xStep; + y = y - this.spaceBetween-11*this.staffWidth; + } + if (signal[i][3] == 'treble') { + ymid = y+note*this.staffWidth/2; + xmid = x - 8; + } else { + xmid = x - 8; + ymid = y+note*this.staffWidth/2 - this.spaceBetween; } - ymid = y+note*this.staffWidth/2; - xmid = x - 8; + this.drawNote(xmid, ymid, duration, up, args, util); if ((volume!=pastVol)) { newX = xmid; @@ -289,19 +332,6 @@ class SheetMusic { } - findCrescDecresc() { - //CHANGE TO MP AND P ETC - up = []; - down = []; - upstart = 0; - downstart = 0; - for (var i in this.noteList) { - log.log(this.noteList[i][3]); - - } - - } - drawNote(xmid, ymid, duration, up, args, util) { xrad = 8; yrad = 4; @@ -382,10 +412,21 @@ class SheetMusic { signal = []; for (var i in this.noteList) { freq = this.noteList[i][0]; - staff = pitchToStaff[freq]; - dur = this.noteList[i][1]*4; - amp = this.noteList[i][3]; - signal.push([staff, dur, amp]); + log.log("FREQ", freq); + if (freq >= 60) { + staff = pitchToStaff[freq]; + log.log("STAFF", staff); + dur = this.noteList[i][1]*4; + amp = this.noteList[i][3]; + signal.push([staff, dur, amp, "treble"]); + } else { + staff = pitchToStaffBass[freq]; + log.log("STAFF", staff); + dur = this.noteList[i][1]*4; + amp = this.noteList[i][3]; + signal.push([staff, dur, amp, "bass"]); + } + } return signal; } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 858c78324..dac0bde73 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -60,25 +60,6 @@ class VizHelpers { this._onTargetMoved = this._onTargetMoved.bind(this); - pitchToStaff = { - 60: -2, - 61: -2, - 62: -1, - 63: 0, - 64: 0, - 65: 2, - 66: 2, - 67: 3, - 68: 3, - 69: 4, - 70: 5, - 71: 5, - 72: 6, - 73: 6, - 75: 7, - 76: 8 - } - harmonics = { "Piano": [[1,1], [2, 0.5]], "Guitar": [[1,1], [2, 0.25]], @@ -301,18 +282,6 @@ class VizHelpers { } - convertSignalToMusicList (args, util) { - signal = []; - for (var i in this.noteList) { - freq = this.noteList[i][0]; - staff = pitchToStaff[freq]; - dur = this.noteList[i][1]*4; - amp = this.noteList[i][3]; - signal.push([staff, dur, amp]); - } - return signal; - } - penUp (args, util) { const penState = this._getPenState(util.target); if (penState.penDown) { From d648624403164c16ebc155c86bf4d7c6333328ef Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 11 Apr 2021 16:17:43 -0400 Subject: [PATCH 027/149] added bass clef, staff line labels --- .../scratch3_musiccreation/sheetmusic.js | 113 ++++++++++++++++-- .../scratch3_musiccreation/symbols.js | 1 + 2 files changed, 107 insertions(+), 7 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 89bae1ec7..9ac8d1d6d 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -5,6 +5,7 @@ const Color = require('../../util/color'); const RenderedTarget = require('../../sprites/rendered-target'); const StageLayering = require('../../engine/stage-layering'); +const letters = require('./letters'); const symbols = require('./symbols'); const { updateVariableIdentifiers } = require('../../util/variable-util'); @@ -37,10 +38,10 @@ class SheetMusic { this.staffLength = 400; this.staffStartX = -200; this.staffStartY = 130; - this.staffWidth = 8; + this.staffWidth = 10; - this.spaceBetween = 70; - this.spaceBetweenStaffs = 5*12; + this.spaceBetween = 80; + this.spaceBetweenStaffs = 80; this.wavePen = -1; this.musicPen = 2; @@ -213,9 +214,68 @@ class SheetMusic { this.noteList = noteList; this.clear(); this.drawStaff(args, util); + this.labelStaff(args, util); this.drawMusic(args, util); } + labelStaff (args, util) { + startX = this.staffStartX; + endX = this.staffStartX+this.staffLength; + var y = this.staffStartY; + yStep = this.staffWidth; + //treble + this.drawString('e', this.staffStartX + this.staffLength +2, this.staffStartY+3, 0.5, args, util); + this.drawString('g', this.staffStartX + this.staffLength +2, this.staffStartY + yStep+3, 0.5, args, util); + this.drawString('b', this.staffStartX + this.staffLength +2, this.staffStartY+yStep*2+3, 0.5, args, util); + this.drawString('d', this.staffStartX + this.staffLength +2, this.staffStartY+yStep*3+3, 0.5, args, util); + this.drawString('f', this.staffStartX + this.staffLength +2, this.staffStartY+yStep*4+3, 0.5, args, util); + + //bass + this.drawString('g', this.staffStartX + this.staffLength +2, this.staffStartY-this.spaceBetween+3, 0.5, args, util); + this.drawString('b', this.staffStartX + this.staffLength +2, this.staffStartY-this.spaceBetween+yStep+3, 0.5, args, util); + this.drawString('d', this.staffStartX + this.staffLength +2, this.staffStartY-this.spaceBetween+yStep*2+3, 0.5, args, util); + this.drawString('f', this.staffStartX + this.staffLength +2, this.staffStartY-this.spaceBetween+yStep*3+3, 0.5, args, util); + this.drawString('a', this.staffStartX + this.staffLength +2, this.staffStartY-this.spaceBetween+yStep*4+3, 0.5, args, util); + + //this.drawString('sheet music', this.axisStartX + this.xAxisLength/2 -70, this.axisStartY+this.yAxisLength + 20, 1, args, util); + } + + + drawString (str, xstart, ystart, size, args, util) { + log.log(str); + for (var i in str) { + log.log(i); + log.log(str[i]); + xstart += 5*size; + if (i >= 1) { + xstart += this.spacing[str[i-1]]/5*size; + } + this.drawLetter(str[i], xstart, ystart, size, args, util); + } + + } + + drawLetter(letter, xstart, ystart, size, args, util) { + letter = letters[letter]; + this.penUp(args, util); + for (var i in letter) { + coord = letter[i]; + x = coord[0]/5*size + xstart; + y = -coord[1]/5*size + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + for (var i in letter) { + coord = letter[i]; + x = coord[0]/5*size + xstart+1; + y = -coord[1]/5*size + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + } + drawStaff(args, util) { startX = this.staffStartX; endX = this.staffStartX+this.staffLength; @@ -238,10 +298,10 @@ class SheetMusic { y = y+yStep; } y = y - this.spaceBetween - this.spaceBetweenStaffs; - this.drawTreble(this.staffStartX+10, this.staffStartY-12 -j*(this.spaceBetween+yStep*5+this.spaceBetweenStaffs-12), args, util); - + this.drawTreble(this.staffStartX+10, this.staffStartY-12 -j*(this.spaceBetween+yStep*5 -12 +this.spaceBetweenStaffs-8), args, util); + this.drawBass(this.staffStartX+8, this.staffStartY-12-yStep*7 -j*(this.spaceBetween+yStep*5 -12 +this.spaceBetweenStaffs-8), args, util); } - //this.drawBass(args, util); + } drawSymbol(symbol, args, util, xStart, yStart) { @@ -281,6 +341,45 @@ class SheetMusic { this.penUp(args, util); } + drawBass(xstart, ystart, args, util) { + //xstart = this.staffStartX+10; + //ystart = this.staffStartY-12; + bass = symbols.bass; + this.penUp(args, util); + for (var i in bass) { + coord = bass[i]; + var x = coord[0]/7 + xstart; + var y = -coord[1]/7 + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + for (var i in bass) { + coord = bass[i]; + x = coord[0]/7 + xstart+1; + y = -coord[1]/7 + ystart; + util.target.setXY(x, y); + this.penDown(args, util); + } + this.penUp(args, util); + for (var i = 0; i < 2; i++) { + var xmid = xstart + 30; + var ymid = ystart + 27 + i*10; + var step = Math.PI/100; + var rad = 2; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(xmid, ymid); + var x = xmid + rad*Math.cos(theta); + var y = ymid - rad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + } + } + + + } + drawMusic(args, util) { xinit = this.staffStartX+20; x = xinit; @@ -293,7 +392,7 @@ class SheetMusic { note = signal[i][0]; duration = signal[i][1]; volume = signal[i][2]; - if (note <= 4) { + if (note <= 3) { up = true; } else { up = false; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js index 0555f5dad..89f04da7d 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js @@ -1,5 +1,6 @@ module.exports = { 'treble': [[0.0, 0.0], [2.0569948186528464, 5.142487046632141], [6.170984455958546, 11.313471502590687], [14.398963730569946, 15.427461139896366], [21.598445595854926, 17.484455958549233], [31.883419689119165, 17.484455958549233], [41.139896373057, 14.39896373056996], [49.3678756476684, 9.25647668393782], [51.42487046632124, -1.0284974093264054], [54.51036269430051, -12.341968911917093], [54.51036269430051, -17.484455958549233], [54.51036269430051, -25.71243523316059], [13.370466321243526, -246.83937823834196], [13.370466321243526, -250.95336787564764], [13.370466321243526, -260.20984455958546], [13.370466321243526, -269.4663212435233], [16.4559585492228, -277.6943005181347], [20.569948186528492, -284.89378238341965], [24.6839378238342, -291.0647668393782], [28.797927461139892, -298.2642487046632], [37.02590673575129, -301.3497409326425], [42.16839378238342, -297.23575129533674], [49.3678756476684, -290.0362694300518], [51.42487046632124, -279.75129533678756], [52.45336787564767, -268.4378238341969], [52.45336787564767, -257.1243523316062], [49.3678756476684, -246.83937823834196], [45.25388601036269, -235.52590673575128], [38.054404145077726, -227.29792746113986], [30.854922279792746, -217.01295336787564], [-12.3419689119171, -172.78756476683935], [-21.59844559585492, -162.50259067357513], [-26.740932642487046, -148.10362694300517], [-30.854922279792746, -129.59067357512953], [-30.854922279792746, -117.24870466321241], [-29.826424870466322, -104.90673575129532], [-24.6839378238342, -94.62176165803106], [-18.512953367875646, -85.36528497409324], [-14.398963730569946, -79.1943005181347], [-4.1139896373057, -71.99481865284972], [8.2279792746114, -63.76683937823833], [22.626943005181346, -61.70984455958549], [33.94041450777202, -60.68134715025906], [48.339378238341965, -62.7383419689119], [58.62435233160622, -70.96632124352331], [67.88082901554404, -81.25129533678756], [71.99481865284974, -97.70725388601034], [70.96632124352331, -107.99222797927459], [68.90932642487047, -115.19170984455957], [61.70984455958549, -123.41968911917098], [54.51036269430051, -129.59067357512953], [41.139896373057, -131.64766839378237], [29.826424870466326, -131.64766839378237], [18.512953367875653, -125.47668393782382], [13.370466321243526, -113.13471502590673], [12.341968911917093, -102.84974093264248], [15.427461139896366, -88.45077720207252], [23.655440414507765, -81.25129533678756]], + 'bass' : [[0.0, 0.0], [82.92880258899677, -54.10598705501616], [120.85355987055016, -95.06472491909383], [137.03478964401293, -124.39320388349515], [147.6537216828479, -159.789644012945], [151.1933656957929, -202.7710355987055], [142.59708737864077, -237.1561488673139], [127.93284789644014, -266.9902912621359], [104.67233009708738, -290.7564724919094], [79.89482200647248, -302.89239482200645], [54.6116504854369, -305.42071197411], [33.879449838187696, -299.3527508090615], [21.743527508090622, -288.2281553398058], [16.18122977346279, -275.58656957928804], [12.641585760517799, -259.40533980582524], [12.641585760517799, -243.22411003236243], [16.6868932038835, -225.02022653721681]], 'piano': [[0.0, 0.0], [0.0, -1.8770388958594708], [2.8155583437892346, -4.6925972396487055], [6.569636135508176, -4.6925972396487055], [6.569636135508176, -2.815558343789178], [6.569636135508176, 0.9385194479297638], [4.6925972396487055, 5.631116687578412], [3.7540777917189416, 9.385194479297354], [1.8770388958594708, 14.077791718946003], [0.0, 16.893350062735237], [-0.9385194479297354, 20.64742785445418], [-2.815558343789206, 20.64742785445418], [-5.631116687578412, 20.64742785445418], [-4.692597239648677, 20.64742785445418], [-0.9385194479297354, 20.64742785445418], [4.6925972396487055, 20.64742785445418], [7.508155583437883, 21.585947302384], [3.7540777917189416, 20.64742785445418], [2.8155583437892346, 17.831869510664944], [3.7540777917189416, 13.139272271016296], [3.7540777917189416, 9.385194479297354], [5.631116687578412, 4.6925972396487055], [5.631116687578412, 0.9385194479297638], [7.508155583437883, -1.8770388958594708], [10.323713927227118, -2.815558343789178], [12.200752823086589, -5.631116687578412], [15.016311166875767, -5.631116687578412], [18.770388958594708, -4.6925972396487055], [18.770388958594708, -0.938519447929707], [18.770388958594708, 1.8770388958594708], [17.831869510665, 4.6925972396487055], [15.95483061480553, 7.50815558343794], [12.200752823086589, 9.385194479297354], [10.323713927227118, 9.385194479297354], [7.508155583437883, 8.446675031367647]], 'forte': [[0.0, 0.0], [0.0, -2.815558343789206], [0.0, -4.692597239648677], [-1.8770388958594708, -4.692597239648677], [-2.8155583437892346, -4.692597239648677], [-5.631116687578469, -4.692597239648677], [-7.50815558343794, -2.815558343789206], [-10.323713927227118, 0.9385194479297354], [-11.262233375156882, 3.7540777917189416], [-12.200752823086589, 4.6925972396487055], [-14.07779171894606, 4.6925972396487055], [-15.016311166875823, 4.6925972396487055], [-16.893350062735294, 4.6925972396487055], [-17.831869510665, 4.6925972396487055], [-18.770388958594765, 4.6925972396487055], [-19.708908406524472, 5.631116687578441], [-3.7540777917189416, 5.631116687578441], [-12.200752823086589, 5.631116687578441], [-14.07779171894606, 9.385194479297382], [-14.07779171894606, 12.200752823086589], [-15.95483061480553, 15.95483061480553], [-16.893350062735294, 17.831869510665], [-17.831869510665, 21.58594730238397], [-18.770388958594765, 25.340025094102913], [-19.708908406524472, 27.217063989962384], [-20.647427854454236, 28.15558343789209], [-24.401505646173177, 28.15558343789209], [-26.278544542032648, 28.15558343789209], [-26.278544542032648, 28.15558343789209], [-28.15558343789212, 27.217063989962384], [-29.094102885821854, 24.40150564617315]], 'mezzo': [[-20.0, 0.0], [-19.061480552070265, -1.8770388958594708], [-18.12296110414053, -4.692597239648649], [-15.307402760351295, -7.508155583437883], [-13.430363864491824, -7.508155583437883], [-11.553324968632353, -6.569636135508119], [-11.553324968632353, -3.7540777917189416], [-12.491844416562088, -0.938519447929707], [-14.36888331242156, 2.8155583437892346], [-14.36888331242156, 5.631116687578469], [-15.307402760351295, 6.569636135508176], [-12.491844416562088, -1.8770388958594708], [-11.553324968632353, -4.692597239648649], [-7.799247176913411, -6.569636135508119], [-4.983688833124205, -6.569636135508119], [-4.04516938519447, -3.7540777917189416], [-4.983688833124205, -0.938519447929707], [-5.9222082810539405, 1.8770388958594708], [-6.860727728983676, 5.631116687578469], [-7.799247176913411, 7.50815558343794], [-4.983688833124205, -1.8770388958594708], [-2.168130489334999, -4.692597239648649], [1.5859473023839428, -5.631116687578412], [5.340025094102884, -5.631116687578412], [4.401505646173177, -2.815558343789178], [3.4629861982434136, 0.0], [1.5859473023839428, 3.7540777917189416], [1.5859473023839428, 7.50815558343794], [2.5244667503137066, 9.385194479297411], [6.278544542032648, 8.446675031367647], [9.094102885821826, 3.7540777917189416]] From e30d532ca3c5371c3f7b972939fed99c5437e7b3 Mon Sep 17 00:00:00 2001 From: nada Date: Wed, 14 Apr 2021 19:21:17 -0400 Subject: [PATCH 028/149] fixed volume issue for saving sb3 --- .../src/extensions/scratch3_musiccreation/index.js | 6 +++--- .../scratch3_musiccreation/musiccreationhelpers.js | 12 ++++++++++-- .../extensions/scratch3_musiccreation/musicplayer.js | 9 +++------ 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index ab59c401f..7912b78ef 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -502,15 +502,15 @@ class Scratch3MusicCreation { this.musicCreationHelper._updateVolume(volume, util); } - getVolume () { - return this.musicCreationHelper.getVolume(); + getVolume (util) { + return this.musicCreationHelper.getVolume(util); } playNote (args, util) { toAdd = this.musicCreationHelper.playNote(args, util); if (toAdd.length == 3) { this.noteList.push(toAdd); - vol = (this.getVolume()); + vol = (this.getVolume(util)); for (var m in volumes) { if (volumes[m].text == vol) { toAdd.push(volumes[m].value); diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 800bf358f..2ade5b744 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -49,6 +49,8 @@ class MusicCreationHelpers { {text: "mezzo-forte", value: 60}, {text: "forte", value: 85}, {text: "fortissimo", value: 100}]; + + globalVolume = "mezzo-forte"; } /** @@ -335,18 +337,24 @@ class MusicCreationHelpers { volume = MathUtil.clamp(volume, 0, 100); util.target.volume = volume; const stage = this.runtime.getTargetForStage(); + globalVolume = this.findVolumeForNumber(volume); + /* if (stage) { stage.volume = this.findVolumeForNumber(volume); } + */ } - getVolume () { + getVolume (util) { + return globalVolume; const stage = this.runtime.getTargetForStage(); if (stage) { + /* if (stage.volume == 100) { stage.volume = "fortissimo"; } - return stage.volume; + */ + return this.findVolumeForNumber(util.target.volume); } return "mezzo-forte"; } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js index 59a7544ce..386d4f55f 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js @@ -343,19 +343,16 @@ class MusicPlayer { _updateVolume (volume, util) { volume = MathUtil.clamp(volume, 0, 100); util.target.volume = volume; - const stage = this.runtime.getTargetForStage(); - if (stage) { - stage.volume = this.findVolumeForNumber(volume); - } + log.log(util.target.volume); } getVolume () { const stage = this.runtime.getTargetForStage(); if (stage) { if (stage.volume == 100) { - stage.volume = "fortissimo"; + return "fortissimo"; } - return stage.volume; + return this.findVolumeForNumber(util.target.volume); } return "mezzo-forte"; } From d8ec5870ab5eb6821df98b971dab9ffbe0b9a31f Mon Sep 17 00:00:00 2001 From: nada Date: Thu, 15 Apr 2021 15:37:12 -0400 Subject: [PATCH 029/149] added ledger lines and bass clef dynamic markings --- .../musiccreationhelpers.js | 5 - .../scratch3_musiccreation/sheetmusic.js | 154 ++++++++++++++++-- 2 files changed, 141 insertions(+), 18 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 2ade5b744..763a99252 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -338,11 +338,6 @@ class MusicCreationHelpers { util.target.volume = volume; const stage = this.runtime.getTargetForStage(); globalVolume = this.findVolumeForNumber(volume); - /* - if (stage) { - stage.volume = this.findVolumeForNumber(volume); - } - */ } getVolume (util) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 9ac8d1d6d..522c37dd7 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -37,7 +37,7 @@ class SheetMusic { this.staffLength = 400; this.staffStartX = -200; - this.staffStartY = 130; + this.staffStartY = 115; this.staffWidth = 10; this.spaceBetween = 80; @@ -70,11 +70,29 @@ class SheetMusic { 73: 5, 74: 6, 75: 7, - 76: 7 + 76: 7, + 77: 8, + 78: 8, + 79: 9, + 80: 9, + 81: 10, + 82: 11, + 83: 11, + 84: 12, + 85: 12 + } + sharps = [37, 42, 44, 49, 54, 56, 61, 66, 68, 73, 78, 80, 85]; + flats = [39, 46, 51, 58, 63, 70, 75, 82]; + pitchToStaffBass = { + 34: -5, + 35: -5, + 36: -4, + 37: -4, + 38: -3, 39: -2, //F 40: -2, //G 41: -1, //A @@ -242,10 +260,7 @@ class SheetMusic { drawString (str, xstart, ystart, size, args, util) { - log.log(str); for (var i in str) { - log.log(i); - log.log(str[i]); xstart += 5*size; if (i >= 1) { xstart += this.spacing[str[i-1]]/5*size; @@ -390,6 +405,7 @@ class SheetMusic { //volume = this.findCrescDecresc(); for (i in signal) { note = signal[i][0]; + log.log(note); duration = signal[i][1]; volume = signal[i][2]; if (note <= 3) { @@ -409,17 +425,25 @@ class SheetMusic { xmid = x - 8; ymid = y+note*this.staffWidth/2 - this.spaceBetween; } + if (note > 9 || note < -1) { + this.addLedgers(xmid, ymid, note, args, util); + } + /* + if (signal[i][4]) { + this.addAccidental(xmid, ymid, note, signal[i][4], args, util); + } + */ this.drawNote(xmid, ymid, duration, up, args, util); if ((volume!=pastVol)) { newX = xmid; newY = y-this.spaceBetween/4; - log.log("VOLUME", volume); + if (signal[i][3] == 'bass') { + newY = newY - this.spaceBetween; + } sym = this.symbols[volume]; - log.log(sym); initial = 0; for (i in sym) { - log.log(i); s = sym[i]; this.drawSymbol(s, args, util, newX+initial, newY); initial += this.spacing[volume][i]; @@ -431,6 +455,103 @@ class SheetMusic { } + addAccidental (xmid, ymid, note, acc, args, util) { + xrad = 8; + yrad = 4; + if (acc == "sharp") { + this.penUp(args, util); + util.target.setXY(xmid-xrad*5/2, ymid+yrad*2+1); + this.penDown(args, util); + util.target.setXY(xmid-xrad*5/2, ymid-yrad*2-1); + + this.penUp(args, util); + util.target.setXY(xmid-xrad*3/2, ymid+yrad*2+1); + this.penDown(args, util); + util.target.setXY(xmid-xrad*3/2, ymid-yrad*2-1); + + this.penUp(args, util); + util.target.setXY(xmid-xrad, ymid+yrad-2); + this.penDown(args, util); + util.target.setXY(xmid-xrad, ymid+yrad-2); + + this.penUp(args, util); + util.target.setXY(xmid-xrad-2, ymid-yrad+2); + this.penDown(args, util); + util.target.setXY(xmid-xrad-2, ymid-yrad+2); + } + if (acc == "flat") { + log.log("flat"); + } + } + + addLedgers(xmid, ymid, note, args, util) { + xrad = 8; + yrad = 4; + if (note > 0) { //treble + if (note%2 == 0) { + this.penUp(args, util); + util.target.setXY(xmid-xrad-3, ymid); + this.penDown(args, util); + util.target.setXY(xmid+xrad+3, ymid); + } + else { + this.penUp(args, util); + util.target.setXY(xmid-xrad-3, ymid-yrad); + this.penDown(args, util); + util.target.setXY(xmid+xrad+3, ymid-yrad); + } + for (var i = 0; i < note-9; i+=2) { + log.log(i/2); + if (i/2 != 0){ + if (note%2 == 0) { + this.penUp(args, util); + util.target.setXY(xmid-xrad-3, ymid-yrad*i); + this.penDown(args, util); + util.target.setXY(xmid+xrad+3, ymid-yrad*i); + } + else { + this.penUp(args, util); + util.target.setXY(xmid-xrad-3, ymid-yrad-yrad*i); + this.penDown(args, util); + util.target.setXY(xmid+xrad+3, ymid-yrad-yrad*i); + } + } + } + } else { //bass + if (note%2 == 0) { + this.penUp(args, util); + util.target.setXY(xmid-xrad-3, ymid); + this.penDown(args, util); + util.target.setXY(xmid+xrad+3, ymid); + } + else { + this.penUp(args, util); + util.target.setXY(xmid-xrad-3, ymid+yrad); + this.penDown(args, util); + util.target.setXY(xmid+xrad+3, ymid+yrad); + } + + for (var i = 0; i < -note-1; i+=2) { + log.log(i/2); + if (i/2 != 0){ + if (note%2 == 0) { + this.penUp(args, util); + util.target.setXY(xmid-xrad-3, ymid+yrad*i); + this.penDown(args, util); + util.target.setXY(xmid+xrad+3, ymid+yrad*i); + } + else { + this.penUp(args, util); + util.target.setXY(xmid-xrad-3, ymid+yrad+yrad*i); + this.penDown(args, util); + util.target.setXY(xmid+xrad+3, ymid+yrad+yrad*i); + } + } + } + + } + } + drawNote(xmid, ymid, duration, up, args, util) { xrad = 8; yrad = 4; @@ -505,25 +626,32 @@ class SheetMusic { this.penUp(args, util); } } + } convertSignalToMusicList (args, util) { signal = []; for (var i in this.noteList) { freq = this.noteList[i][0]; - log.log("FREQ", freq); + var acc = ""; + if (sharps.includes(freq)) { + acc = "sharp"; + log.log("sharp"); + } + if (flats.includes(freq)) { + acc = "flat"; + log.log("flat"); + } if (freq >= 60) { staff = pitchToStaff[freq]; - log.log("STAFF", staff); dur = this.noteList[i][1]*4; amp = this.noteList[i][3]; - signal.push([staff, dur, amp, "treble"]); + signal.push([staff, dur, amp, "treble", acc]); } else { staff = pitchToStaffBass[freq]; - log.log("STAFF", staff); dur = this.noteList[i][1]*4; amp = this.noteList[i][3]; - signal.push([staff, dur, amp, "bass"]); + signal.push([staff, dur, amp, "bass", acc]); } } From 7d693b351a7cdbb3588edf2dbbe145e016d6ee66 Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 18 Apr 2021 14:28:36 -0400 Subject: [PATCH 030/149] reverting again --- .../src/extensions/scratch3_musiccreation/sheetmusic.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 522c37dd7..9c6116eca 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -396,6 +396,7 @@ class SheetMusic { } drawMusic(args, util) { + log.log("here"); xinit = this.staffStartX+20; x = xinit; y = this.staffStartY; From d48d094a21ef3508a6755e6d7b2a2b7b60e64631 Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 18 Apr 2021 19:34:33 -0400 Subject: [PATCH 031/149] waveform legend text --- .../scratch3_musiccreation/letters.js | 14 ++- .../scratch3_musiccreation/waveform.js | 88 +++++++++++++++++-- 2 files changed, 95 insertions(+), 7 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/letters.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/letters.js index ccec85310..668c2c5a0 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/letters.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/letters.js @@ -24,5 +24,17 @@ module.exports = { 'w': [[20.2928821470245, 70.0], [0.0, 0.0], [20.2928821470245, 70.0], [44.275379229871646, 1.1290322580645196], [68.25787631271879, 70.0], [88.55075845974329, 0.5645161290322598]], 'x': [[0.0, 68.87096774193547], [43.66044340723454, 0.0], [21.522753792298715, 32.74193548387096], [0.0, 0.0], [21.522753792298715, 32.74193548387096], [45.50525087514586, 70.0]], 'y': [[23.982497082847203, 70.0], [23.367561260210095, 32.66666666666666], [0.0, 0.0], [23.367561260210095, 32.66666666666666], [47.350058343057185, 0.0]], - 'z': [[2.459743290548431, 70.0], [55.959159859976694, 70.0], [2.459743290548431, 70.0], [50.424737456242724, 0.0], [0.0, 1.250000000000004]] + 'z': [[2.459743290548431, 70.0], [55.959159859976694, 70.0], [2.459743290548431, 70.0], [50.424737456242724, 0.0], [0.0, 1.250000000000004]], + 'one': [[28.186697782963847, 70.0], [29.467911318553092, 0.0], [0.0, 15.74999999999999]], + 'two': [[0.0, 70.0], [61.498249708284675, 69.07894736842107], [0.0, 70.0], [42.280046674445714, 37.76315789473684], [51.2485414235706, 26.710526315789476], [52.529754959159845, 11.973684210526297], [40.99883313885647, 1.8421052631578667], [23.061843640606753, 0.0], [8.96849474912483, 3.6842105263157334], [0.0, 9.210526315789416]], + 'three': [[0.0, 65.56962025316454], [23.061843640606867, 70.0], [46.12368728121362, 69.11392405063292], [58.935822637106185, 61.13924050632908], [60.21703617269554, 47.84810126582279], [49.967327887981355, 38.98734177215188], [19.218203033839018, 33.67088607594935], [47.404900816802865, 29.240506329113888], [56.373395565927694, 20.379746835442976], [53.810968494749204, 8.860759493670836], [34.59276546091019, 0.0], [15.374562427071282, 2.658227848101227], [3.843640606767849, 6.202531645569609]], + 'four': [[0.0, 50.74999999999999], [74.31038506417735, 50.74999999999999], [0.0, 50.74999999999999], [55.092182030338336, 0.0], [53.81096849474909, 70.0]], + 'five': [[0.0, 65.5128205128205], [19.218203033839018, 70.0], [42.28004667444577, 68.20512820512823], [53.81096849474909, 60.12820512820512], [58.935822637106185, 49.35897435897434], [52.529754959159845, 36.79487179487181], [33.31155192532094, 30.51282051282054], [10.249708284714188, 33.20512820512819], [12.812135355892678, 0.0], [57.65460910151694, 0.8974358974358841]], + 'six': [[6.406067677946339, 64.54545454545455], [23.061843640606867, 70.0], [44.842473745624375, 69.09090909090911], [55.09218203033845, 58.1818181818182], [55.09218203033845, 43.636363636363626], [48.68611435239211, 31.818181818181824], [32.030338389731696, 29.090909090909058], [15.374562427071282, 34.54545454545451], [2.562427071178604, 43.636363636363626], [6.406067677946339, 64.54545454545455], [0.0, 44.54545454545452], [1.2812135355893588, 25.454545454545475], [10.249708284714188, 10.00000000000001], [29.467911318553092, 0.9090909090908954], [55.09218203033845, 0.0]], + 'seven': [[19.218203033839018, 70.0], [65.34189031505252, 0.0], [0.0, 0.0]], + 'eight': [[1.2812135355892451, 64.61538461538461], [16.655775962660414, 70.0], [37.15519253208868, 69.10256410256412], [53.81096849474909, 61.92307692307696], [55.092182030338336, 48.46153846153846], [43.5612602100349, 39.48717948717946], [10.249708284714075, 27.820512820512807], [3.8436406067677353, 14.358974358974306], [12.812135355892565, 2.6923076923076525], [37.15519253208868, 0.0], [51.24854142357049, 8.076923076923038], [51.24854142357049, 22.435897435897424], [12.812135355892565, 38.58974358974358], [0.0, 47.564102564102576], [1.2812135355892451, 64.61538461538461]], + 'nine': [[3.843640606767849, 70.0], [23.061843640606867, 68.20512820512823], [40.998833138856526, 61.92307692307696], [51.248541423570714, 47.564102564102576], [57.654609101516826, 30.51282051282054], [53.810968494749204, 14.358974358974306], [46.123687281213506, 3.5897435897435366], [25.624270711785357, 0.0], [6.406067677946339, 7.179487179487153], [0.0, 18.846153846153808], [0.0, 32.30769230769231], [16.655775962660528, 40.384615384615344], [37.15519253208868, 39.48717948717946], [57.654609101516826, 30.51282051282054]], + 'zero': [[10.249708284714188, 63.79746835443039], [25.624270711785357, 70.0], [47.404900816802865, 64.68354430379748], [55.09218203033856, 49.62025316455695], [55.09218203033856, 23.924050632911356], [49.967327887981355, 7.974683544303759], [29.467911318553206, 0.0], [10.249708284714188, 5.316455696202532], [0.0, 16.835443037974674], [0.0, 45.189873417721564], [10.249708284714188, 63.79746835443039]], + 'flat': [[1.6569579288025125, 70.0], [0.0, 0.0], [3.3139158576052523, 45.08474576271185], [28.168284789644076, 41.12994350282486], [51.36569579288016, 41.52542372881354], [67.9352750809062, 45.48022598870056], [66.27831715210345, 50.621468926553675], [54.67961165048541, 55.367231638418076], [26.511326860841336, 62.09039548022598], [1.6569579288025125, 70.0]], + 'sharp': [[36.45307443365709, 70.0], [36.45307443365709, 4.605263157894746], [38.110032362459606, 26.249999999999993], [0.0, 28.55263157894738], [119.30097087378658, 21.644736842105274], [86.16181229773474, 23.48684210526315], [87.81877022653725, 0.0], [87.81877022653725, 66.31578947368422], [86.16181229773474, 44.210526315789465], [122.6148867313916, 42.36842105263159], [0.0, 50.19736842105263]] } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js index 62b33909e..303710811 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js @@ -77,7 +77,20 @@ class Waveform { 'w': letters.w, 'x': letters.x, 'y': letters.y, - 'z': letters.z + 'z': letters.z, + '1': letters.one, + '2': letters.two, + '3': letters.three, + '4': letters.four, + '5': letters.five, + '6': letters.six, + '7': letters.seven, + '8': letters.eight, + '9': letters.nine, + '0': letters.zero, + 'F': letters.flat, + 'S': letters.sharp + } this.spacing = { @@ -106,7 +119,19 @@ class Waveform { 'w': 88.55075845974329, 'x': 45.50525087514586, 'y': 47.350058343057185, - 'z': 55.959159859976694 + 'z': 55.959159859976694, + '1': 29.467911318553092, + '2': 61.498249708284675, + '3': 60.21703617269554, + '4': 74.31038506417735, + '5': 58.935822637106185, + '6': 55.09218203033845, + '7': 65.34189031505252, + '8': 55.092182030338336, + '9': 57.654609101516826, + '0': 55.09218203033856, + 'F': 67.9352750809062, + 'S': 122.6148867313916 } harmonics = { @@ -119,6 +144,59 @@ class Waveform { "Synth":[[1,1]] } + freqToName = { + 36: "c2", + 37: "cS2", + 38: "d2", + 39: "eF2", + 40: "e2", + 41: "f2", + 42: "fS2", + 43: "g2", + 44: "gS2", + 45: "a2", + 46: "bF2", + 47: "b2", + 48: "c3", + 49: "cS3", + 50: "d3", + 51: "eF3", + 52: "e3", + 53: "f3", + 54: "fS3", + 55: "g3", + 56: "gS3", + 57: "a3", + 58: "bF3", + 59: "b3", + 60: "c4", + 61: "cS4", + 62: "d4", + 63: "eF4", + 64: "e4", + 65: "f4", + 66: "fS4", + 67: "g4", + 68: "gS4", + 69: "a4", + 70: "bF4", + 71: "b4", + 72: "c5", + 73: "cS5", + 74: "d5", + 75: "eF5", + 76: "e5", + 77: "f5", + 78: "fS5", + 79: "g5", + 80: "gS5", + 81: "a5", + 82: "bF5", + 83: "b5", + 84: "c6", + 85: "cS6" + } + freqToColor = {}; } @@ -247,7 +325,7 @@ class Waveform { } drawLetter(letter, xstart, ystart, size, args, util) { - letter = letters[letter]; + letter = this.letters[letter]; this.penUp(args, util); for (var i in letter) { coord = letter[i]; @@ -306,9 +384,7 @@ class Waveform { } this.setPenColorToColor(this.black, util); this.penUp(args, util); - util.target.setXY(colorX+25, colorY-10); - this.penDown(args, util); - util.target.setXY(colorX+60, colorY-10); + this.drawString(freqToName[i], colorX+25, colorY, 0.6, args, util); colorY -= 15; } this.setPenColorToColor(this.black, util); From ed2423a495f75b551deb355c89afa45a255186e8 Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 18 Apr 2021 19:47:12 -0400 Subject: [PATCH 032/149] sheet music has time signature --- .../scratch3_musiccreation/sheetmusic.js | 132 +++++++++++++++--- 1 file changed, 115 insertions(+), 17 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 9c6116eca..037d0f882 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -143,6 +143,92 @@ class SheetMusic { 85: [10, 0], 100: [10, 0] } + + this.letters = { + 'a': letters.a, + 'b': letters.b, + 'c': letters.c, + 'd': letters.d, + 'e': letters.e, + 'f': letters.f, + 'g': letters.g, + 'h': letters.h, + 'i': letters.i, + 'j': letters.j, + 'h': letters.h, + 'i': letters.i, + 'j': letters.j, + 'k': letters.k, + 'l': letters.l, + 'm': letters.m, + 'n': letters.n, + 'o': letters.o, + 'p': letters.p, + 'q': letters.q, + 'r': letters.r, + 's': letters.s, + 't': letters.t, + 'u': letters.u, + 'v': letters.v, + 'w': letters.w, + 'x': letters.x, + 'y': letters.y, + 'z': letters.z, + '1': letters.one, + '2': letters.two, + '3': letters.three, + '4': letters.four, + '5': letters.five, + '6': letters.six, + '7': letters.seven, + '8': letters.eight, + '9': letters.nine, + '0': letters.zero, + 'F': letters.flat, + 'S': letters.sharp + + } + + this.spacingLetters = { + 'a': 59.03383897316219, + 'b': 35.666277712952166, + 'c': 55.59820426487096, + 'd': 51.65460910151694, + 'e': 33.821470245040814, + 'f': 35.05134189031503, + 'g': 62.10851808634772, + 'h': 51.65460910151691, + 'i': 0.0, + 'j': 27.057176196032685, + 'k': 44.275379229871646, + 'l': 33.20653442240376, + 'm': 76.86697782963824, + 'n': 57.803967327887975, + 'o': 62.108518086347715, + 'p': 35.05134189031503, + 'q': 62.72345390898482, + 'r': 34.305274971941685, + 's': 39.62850729517402, + 't': 51.03967327887982, + 'u': 50.42473745624271, + 'v': 52.88448074679113, + 'w': 88.55075845974329, + 'x': 45.50525087514586, + 'y': 47.350058343057185, + 'z': 55.959159859976694, + '1': 29.467911318553092, + '2': 61.498249708284675, + '3': 60.21703617269554, + '4': 74.31038506417735, + '5': 58.935822637106185, + '6': 55.09218203033845, + '7': 65.34189031505252, + '8': 55.092182030338336, + '9': 57.654609101516826, + '0': 55.09218203033856, + 'F': 67.9352750809062, //flat + 'S': 122.6148867313916 //sharp + } } /** @@ -263,7 +349,7 @@ class SheetMusic { for (var i in str) { xstart += 5*size; if (i >= 1) { - xstart += this.spacing[str[i-1]]/5*size; + xstart += this.spacingLetters[str[i-1]]/5*size; } this.drawLetter(str[i], xstart, ystart, size, args, util); } @@ -271,7 +357,7 @@ class SheetMusic { } drawLetter(letter, xstart, ystart, size, args, util) { - letter = letters[letter]; + letter = this.letters[letter]; this.penUp(args, util); for (var i in letter) { coord = letter[i]; @@ -314,9 +400,21 @@ class SheetMusic { } y = y - this.spaceBetween - this.spaceBetweenStaffs; this.drawTreble(this.staffStartX+10, this.staffStartY-12 -j*(this.spaceBetween+yStep*5 -12 +this.spaceBetweenStaffs-8), args, util); - this.drawBass(this.staffStartX+8, this.staffStartY-12-yStep*7 -j*(this.spaceBetween+yStep*5 -12 +this.spaceBetweenStaffs-8), args, util); + this.drawBass(this.staffStartX, this.staffStartY-12-yStep*7 -j*(this.spaceBetween+yStep*5 -12 +this.spaceBetweenStaffs-8), args, util); } + this.penUp(args, util); + this.drawTimeSignature(args, util); + + } + + drawTimeSignature (args, util) { + var startX = this.staffStartX; + var y = this.staffStartY; + this.drawString("4", startX+25, y+18, 1.2, args, util); + this.drawString("4", startX+25, y+38, 1.2, args, util); + this.drawString("4", startX+25, y+18-this.spaceBetween, 1.2, args, util); + this.drawString("4", startX+25, y+38-this.spaceBetween, 1.2, args, util); } drawSymbol(symbol, args, util, xStart, yStart) { @@ -378,7 +476,7 @@ class SheetMusic { } this.penUp(args, util); for (var i = 0; i < 2; i++) { - var xmid = xstart + 30; + var xmid = xstart + 27; var ymid = ystart + 27 + i*10; var step = Math.PI/100; var rad = 2; @@ -397,12 +495,12 @@ class SheetMusic { drawMusic(args, util) { log.log("here"); - xinit = this.staffStartX+20; - x = xinit; - y = this.staffStartY; - xStep = 40; - signal = this.convertSignalToMusicList(args, util); - pastVol = 0; + var xinit = this.staffStartX+40; + var x = xinit; + var y = this.staffStartY; + var xStep = 40; + var signal = this.convertSignalToMusicList(args, util); + var pastVol = 0; //volume = this.findCrescDecresc(); for (i in signal) { note = signal[i][0]; @@ -457,8 +555,8 @@ class SheetMusic { } addAccidental (xmid, ymid, note, acc, args, util) { - xrad = 8; - yrad = 4; + var xrad = 8; + var yrad = 4; if (acc == "sharp") { this.penUp(args, util); util.target.setXY(xmid-xrad*5/2, ymid+yrad*2+1); @@ -486,8 +584,8 @@ class SheetMusic { } addLedgers(xmid, ymid, note, args, util) { - xrad = 8; - yrad = 4; + var xrad = 8; + var yrad = 4; if (note > 0) { //treble if (note%2 == 0) { this.penUp(args, util); @@ -554,8 +652,8 @@ class SheetMusic { } drawNote(xmid, ymid, duration, up, args, util) { - xrad = 8; - yrad = 4; + var xrad = 8; + var yrad = 4; if (up) { flip = 1; } else { @@ -631,7 +729,7 @@ class SheetMusic { } convertSignalToMusicList (args, util) { - signal = []; + var signal = []; for (var i in this.noteList) { freq = this.noteList[i][0]; var acc = ""; From 12459e96fb7189566dc3e114a78dd4307532ffde Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 18 Apr 2021 19:54:16 -0400 Subject: [PATCH 033/149] sharps and flats in sheet music --- .../scratch3_musiccreation/sheetmusic.js | 38 ++++++------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 037d0f882..6ed988ba2 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -498,7 +498,7 @@ class SheetMusic { var xinit = this.staffStartX+40; var x = xinit; var y = this.staffStartY; - var xStep = 40; + var xStep = 45; var signal = this.convertSignalToMusicList(args, util); var pastVol = 0; //volume = this.findCrescDecresc(); @@ -507,6 +507,7 @@ class SheetMusic { log.log(note); duration = signal[i][1]; volume = signal[i][2]; + acc = signal[i][4]; if (note <= 3) { up = true; } else { @@ -527,11 +528,11 @@ class SheetMusic { if (note > 9 || note < -1) { this.addLedgers(xmid, ymid, note, args, util); } - /* - if (signal[i][4]) { - this.addAccidental(xmid, ymid, note, signal[i][4], args, util); + + if (acc) { + this.addAccidental(xmid, ymid, note, acc, args, util); } - */ + this.drawNote(xmid, ymid, duration, up, args, util); if ((volume!=pastVol)) { @@ -557,29 +558,14 @@ class SheetMusic { addAccidental (xmid, ymid, note, acc, args, util) { var xrad = 8; var yrad = 4; + var xmid = xmid; + var ymid = ymid; if (acc == "sharp") { - this.penUp(args, util); - util.target.setXY(xmid-xrad*5/2, ymid+yrad*2+1); - this.penDown(args, util); - util.target.setXY(xmid-xrad*5/2, ymid-yrad*2-1); - - this.penUp(args, util); - util.target.setXY(xmid-xrad*3/2, ymid+yrad*2+1); - this.penDown(args, util); - util.target.setXY(xmid-xrad*3/2, ymid-yrad*2-1); - - this.penUp(args, util); - util.target.setXY(xmid-xrad, ymid+yrad-2); - this.penDown(args, util); - util.target.setXY(xmid-xrad, ymid+yrad-2); - - this.penUp(args, util); - util.target.setXY(xmid-xrad-2, ymid-yrad+2); - this.penDown(args, util); - util.target.setXY(xmid-xrad-2, ymid-yrad+2); + this.drawString("S", xmid-xrad*4, ymid+yrad*1.5, 0.75, args, util) } if (acc == "flat") { - log.log("flat"); + this.drawString("F", xmid-xrad*3, ymid+yrad*1.5+2, 0.8, args, util); + } } @@ -735,11 +721,9 @@ class SheetMusic { var acc = ""; if (sharps.includes(freq)) { acc = "sharp"; - log.log("sharp"); } if (flats.includes(freq)) { acc = "flat"; - log.log("flat"); } if (freq >= 60) { staff = pitchToStaff[freq]; From 0decc23f4891430511c9334f89f3bd5543301182 Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 18 Apr 2021 20:06:43 -0400 Subject: [PATCH 034/149] measures on treble and bass --- .../scratch3_musiccreation/sheetmusic.js | 36 +++++++++++++++---- 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 6ed988ba2..7e0d9563f 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -35,7 +35,7 @@ class SheetMusic { this.xAxisLength = 400; this.yAxisLength = 300; - this.staffLength = 400; + this.staffLength = 411; this.staffStartX = -200; this.staffStartY = 115; this.staffWidth = 10; @@ -492,22 +492,44 @@ class SheetMusic { } + drawMeasure(x, y, args, util) { + this.penUp(args, util); + util.target.setXY(x+10, y); + this.penDown(args, util); + util.target.setXY(x+10, y+40); + this.penUp(args, util); + this.penUp(args, util); + util.target.setXY(x+11, y); + this.penDown(args, util); + util.target.setXY(x+11, y+40); + this.penUp(args, util); + + this.penUp(args, util); + util.target.setXY(x+10, y-this.spaceBetween); + this.penDown(args, util); + util.target.setXY(x+10, y+40-this.spaceBetween); + this.penUp(args, util); + this.penUp(args, util); + util.target.setXY(x+11, y-this.spaceBetween); + this.penDown(args, util); + util.target.setXY(x+11, y+40-this.spaceBetween); + this.penUp(args, util); + } drawMusic(args, util) { - log.log("here"); var xinit = this.staffStartX+40; var x = xinit; var y = this.staffStartY; var xStep = 45; var signal = this.convertSignalToMusicList(args, util); var pastVol = 0; - //volume = this.findCrescDecresc(); + var beats = 0; for (i in signal) { note = signal[i][0]; - log.log(note); duration = signal[i][1]; volume = signal[i][2]; acc = signal[i][4]; + beats += duration; if (note <= 3) { up = true; } else { @@ -518,6 +540,10 @@ class SheetMusic { x = xinit+xStep; y = y - this.spaceBetween-11*this.staffWidth; } + if (beats%4 == 0 && beats != 0) { + log.log(beats); + this.drawMeasure(x, y, args, util); + } if (signal[i][3] == 'treble') { ymid = y+note*this.staffWidth/2; xmid = x - 8; @@ -586,7 +612,6 @@ class SheetMusic { util.target.setXY(xmid+xrad+3, ymid-yrad); } for (var i = 0; i < note-9; i+=2) { - log.log(i/2); if (i/2 != 0){ if (note%2 == 0) { this.penUp(args, util); @@ -617,7 +642,6 @@ class SheetMusic { } for (var i = 0; i < -note-1; i+=2) { - log.log(i/2); if (i/2 != 0){ if (note%2 == 0) { this.penUp(args, util); From 782c7488fbe7696e79b01b6cf7441ccf7c86f673 Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 18 Apr 2021 22:13:37 -0400 Subject: [PATCH 035/149] added rests --- .../scratch3_musiccreation/sheetmusic.js | 61 ++++++++++++++++++- .../scratch3_musiccreation/symbols.js | 8 ++- 2 files changed, 65 insertions(+), 4 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 7e0d9563f..3641b4454 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -83,6 +83,33 @@ class SheetMusic { } + this.rests = { + 4: symbols.restfour, + 2: symbols.resttwo, + 1: symbols.restone, + 0.5: symbols.resthalf, + 0.25: symbols.restquarter, + 0.125: symbols.resteighth + } + + this.restOffset = { + 4: 29, + 2: 22, + 1: 35, + 0.5: 26, + 0.25: 26, + 0.125: 33 + } + + this.restScale = { + 4: 8, + 2: 8, + 1: 4, + 0.5: 4, + 0.25: 4, + 0.125: 4 + } + sharps = [37, 42, 44, 49, 54, 56, 61, 66, 68, 73, 78, 80, 85]; flats = [39, 46, 51, 58, 63, 70, 75, 82]; @@ -492,6 +519,7 @@ class SheetMusic { } + drawMeasure(x, y, args, util) { this.penUp(args, util); util.target.setXY(x+10, y); @@ -541,15 +569,19 @@ class SheetMusic { y = y - this.spaceBetween-11*this.staffWidth; } if (beats%4 == 0 && beats != 0) { - log.log(beats); this.drawMeasure(x, y, args, util); } + ymidTreble = y+note*this.staffWidth/2; + ymidBass = y+note*this.staffWidth/2 - this.spaceBetween; if (signal[i][3] == 'treble') { - ymid = y+note*this.staffWidth/2; + ymid = ymidTreble; xmid = x - 8; + this.addRest(xmid, ymidBass-note*this.staffWidth/2, duration, args, util); } else { xmid = x - 8; - ymid = y+note*this.staffWidth/2 - this.spaceBetween; + ymid = ymidBass; + this.addRest(xmid, ymidTreble-note*this.staffWidth/2, duration, args, util); + } if (note > 9 || note < -1) { this.addLedgers(xmid, ymid, note, args, util); @@ -581,6 +613,29 @@ class SheetMusic { } + addRest(xmid, ymid, dur, args, util) { + var restSymbol = this.rests[dur]; + var restX = xmid; + var restY = ymid; + var offset = this.restOffset[dur]; + if (dur > 1) { + var xOffset = 8; + } else { + var xOffset = 0; + } + var scale = this.restScale[dur]; + this.penUp(args, util); + for (var i in restSymbol) { + coord = restSymbol[i]; + restX = coord[0]/scale + xmid - xOffset; + restY = -coord[1]/scale + ymid+offset; + util.target.setXY(restX, restY); + this.penDown(args, util); + } + this.penUp(args, util); + + } + addAccidental (xmid, ymid, note, acc, args, util) { var xrad = 8; var yrad = 4; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js index 89f04da7d..a59a97a74 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/symbols.js @@ -3,5 +3,11 @@ module.exports = { 'bass' : [[0.0, 0.0], [82.92880258899677, -54.10598705501616], [120.85355987055016, -95.06472491909383], [137.03478964401293, -124.39320388349515], [147.6537216828479, -159.789644012945], [151.1933656957929, -202.7710355987055], [142.59708737864077, -237.1561488673139], [127.93284789644014, -266.9902912621359], [104.67233009708738, -290.7564724919094], [79.89482200647248, -302.89239482200645], [54.6116504854369, -305.42071197411], [33.879449838187696, -299.3527508090615], [21.743527508090622, -288.2281553398058], [16.18122977346279, -275.58656957928804], [12.641585760517799, -259.40533980582524], [12.641585760517799, -243.22411003236243], [16.6868932038835, -225.02022653721681]], 'piano': [[0.0, 0.0], [0.0, -1.8770388958594708], [2.8155583437892346, -4.6925972396487055], [6.569636135508176, -4.6925972396487055], [6.569636135508176, -2.815558343789178], [6.569636135508176, 0.9385194479297638], [4.6925972396487055, 5.631116687578412], [3.7540777917189416, 9.385194479297354], [1.8770388958594708, 14.077791718946003], [0.0, 16.893350062735237], [-0.9385194479297354, 20.64742785445418], [-2.815558343789206, 20.64742785445418], [-5.631116687578412, 20.64742785445418], [-4.692597239648677, 20.64742785445418], [-0.9385194479297354, 20.64742785445418], [4.6925972396487055, 20.64742785445418], [7.508155583437883, 21.585947302384], [3.7540777917189416, 20.64742785445418], [2.8155583437892346, 17.831869510664944], [3.7540777917189416, 13.139272271016296], [3.7540777917189416, 9.385194479297354], [5.631116687578412, 4.6925972396487055], [5.631116687578412, 0.9385194479297638], [7.508155583437883, -1.8770388958594708], [10.323713927227118, -2.815558343789178], [12.200752823086589, -5.631116687578412], [15.016311166875767, -5.631116687578412], [18.770388958594708, -4.6925972396487055], [18.770388958594708, -0.938519447929707], [18.770388958594708, 1.8770388958594708], [17.831869510665, 4.6925972396487055], [15.95483061480553, 7.50815558343794], [12.200752823086589, 9.385194479297354], [10.323713927227118, 9.385194479297354], [7.508155583437883, 8.446675031367647]], 'forte': [[0.0, 0.0], [0.0, -2.815558343789206], [0.0, -4.692597239648677], [-1.8770388958594708, -4.692597239648677], [-2.8155583437892346, -4.692597239648677], [-5.631116687578469, -4.692597239648677], [-7.50815558343794, -2.815558343789206], [-10.323713927227118, 0.9385194479297354], [-11.262233375156882, 3.7540777917189416], [-12.200752823086589, 4.6925972396487055], [-14.07779171894606, 4.6925972396487055], [-15.016311166875823, 4.6925972396487055], [-16.893350062735294, 4.6925972396487055], [-17.831869510665, 4.6925972396487055], [-18.770388958594765, 4.6925972396487055], [-19.708908406524472, 5.631116687578441], [-3.7540777917189416, 5.631116687578441], [-12.200752823086589, 5.631116687578441], [-14.07779171894606, 9.385194479297382], [-14.07779171894606, 12.200752823086589], [-15.95483061480553, 15.95483061480553], [-16.893350062735294, 17.831869510665], [-17.831869510665, 21.58594730238397], [-18.770388958594765, 25.340025094102913], [-19.708908406524472, 27.217063989962384], [-20.647427854454236, 28.15558343789209], [-24.401505646173177, 28.15558343789209], [-26.278544542032648, 28.15558343789209], [-26.278544542032648, 28.15558343789209], [-28.15558343789212, 27.217063989962384], [-29.094102885821854, 24.40150564617315]], - 'mezzo': [[-20.0, 0.0], [-19.061480552070265, -1.8770388958594708], [-18.12296110414053, -4.692597239648649], [-15.307402760351295, -7.508155583437883], [-13.430363864491824, -7.508155583437883], [-11.553324968632353, -6.569636135508119], [-11.553324968632353, -3.7540777917189416], [-12.491844416562088, -0.938519447929707], [-14.36888331242156, 2.8155583437892346], [-14.36888331242156, 5.631116687578469], [-15.307402760351295, 6.569636135508176], [-12.491844416562088, -1.8770388958594708], [-11.553324968632353, -4.692597239648649], [-7.799247176913411, -6.569636135508119], [-4.983688833124205, -6.569636135508119], [-4.04516938519447, -3.7540777917189416], [-4.983688833124205, -0.938519447929707], [-5.9222082810539405, 1.8770388958594708], [-6.860727728983676, 5.631116687578469], [-7.799247176913411, 7.50815558343794], [-4.983688833124205, -1.8770388958594708], [-2.168130489334999, -4.692597239648649], [1.5859473023839428, -5.631116687578412], [5.340025094102884, -5.631116687578412], [4.401505646173177, -2.815558343789178], [3.4629861982434136, 0.0], [1.5859473023839428, 3.7540777917189416], [1.5859473023839428, 7.50815558343794], [2.5244667503137066, 9.385194479297411], [6.278544542032648, 8.446675031367647], [9.094102885821826, 3.7540777917189416]] + 'mezzo': [[-20.0, 0.0], [-19.061480552070265, -1.8770388958594708], [-18.12296110414053, -4.692597239648649], [-15.307402760351295, -7.508155583437883], [-13.430363864491824, -7.508155583437883], [-11.553324968632353, -6.569636135508119], [-11.553324968632353, -3.7540777917189416], [-12.491844416562088, -0.938519447929707], [-14.36888331242156, 2.8155583437892346], [-14.36888331242156, 5.631116687578469], [-15.307402760351295, 6.569636135508176], [-12.491844416562088, -1.8770388958594708], [-11.553324968632353, -4.692597239648649], [-7.799247176913411, -6.569636135508119], [-4.983688833124205, -6.569636135508119], [-4.04516938519447, -3.7540777917189416], [-4.983688833124205, -0.938519447929707], [-5.9222082810539405, 1.8770388958594708], [-6.860727728983676, 5.631116687578469], [-7.799247176913411, 7.50815558343794], [-4.983688833124205, -1.8770388958594708], [-2.168130489334999, -4.692597239648649], [1.5859473023839428, -5.631116687578412], [5.340025094102884, -5.631116687578412], [4.401505646173177, -2.815558343789178], [3.4629861982434136, 0.0], [1.5859473023839428, 3.7540777917189416], [1.5859473023839428, 7.50815558343794], [2.5244667503137066, 9.385194479297411], [6.278544542032648, 8.446675031367647], [9.094102885821826, 3.7540777917189416]], + 'restfour': [[0.0, 0.0], [0.0, 3.0], [0.0, 6.0], [3.0, 0.0], [3.0, 3.0], [3.0, 6.0], [6.0, 0.0], [6.0, 3.0], [6.0, 6.0], [9.0, 0.0], [9.0, 3.0], [9.0, 6.0], [12.0, 0.0], [12.0, 3.0], [12.0, 6.0], [15.0, 0.0], [15.0, 3.0], [15.0, 6.0], [18.0, 0.0], [18.0, 3.0], [18.0, 6.0], [21.0, 0.0], [21.0, 3.0], [21.0, 6.0], [24.0, 0.0], [24.0, 3.0], [24.0, 6.0], [27.0, 0.0], [27.0, 3.0], [27.0, 6.0], [28.0, 9.0], [28.0, 12.0], [28.0, 15.0], [28.0, 18.0], [28.0, 21.0], [28.0, 24.0], [28.0, 27.0], [28.0, 30.0], [28.0, 33.0], [28.0, 36.0], [28.0, 39.0], [28.0, 41.5], [30.0, 0.0], [30.0, 3.0], [30.0, 6.0], [31.0, 9.0], [31.0, 12.0], [31.0, 15.0], [31.0, 18.0], [31.0, 21.0], [31.0, 24.0], [31.0, 27.0], [31.0, 30.0], [31.0, 33.0], [31.0, 36.0], [31.0, 39.0], [31.0, 41.5], [33.0, 0.0], [33.0, 3.0], [33.0, 6.0], [34.0, 9.0], [34.0, 12.0], [34.0, 15.0], [34.0, 18.0], [34.0, 21.0], [34.0, 24.0], [34.0, 27.0], [34.0, 30.0], [34.0, 33.0], [34.0, 36.0], [34.0, 39.0], [34.0, 41.5], [36.0, 0.0], [36.0, 3.0], [36.0, 6.0], [37.0, 9.0], [37.0, 12.0], [37.0, 15.0], [37.0, 18.0], [37.0, 21.0], [37.0, 24.0], [37.0, 27.0], [37.0, 30.0], [37.0, 33.0], [37.0, 36.0], [37.0, 39.0], [37.0, 41.5], [39.0, 0.0], [39.0, 3.0], [39.0, 6.0], [40.0, 9.0], [40.0, 12.0], [40.0, 15.0], [40.0, 18.0], [40.0, 21.0], [40.0, 24.0], [40.0, 27.0], [40.0, 30.0], [40.0, 33.0], [40.0, 36.0], [40.0, 39.0], [40.0, 41.5], [42.0, 0.0], [42.0, 3.0], [42.0, 6.0], [43.0, 9.0], [43.0, 12.0], [43.0, 15.0], [43.0, 18.0], [43.0, 21.0], [43.0, 24.0], [43.0, 27.0], [43.0, 30.0], [43.0, 33.0], [43.0, 36.0], [43.0, 39.0], [43.0, 41.5], [45.0, 0.0], [45.0, 3.0], [45.0, 6.0], [46.0, 9.0], [46.0, 12.0], [46.0, 15.0], [46.0, 18.0], [46.0, 21.0], [46.0, 24.0], [46.0, 27.0], [46.0, 30.0], [46.0, 33.0], [46.0, 36.0], [46.0, 39.0], [46.0, 41.5], [48.0, 0.0], [48.0, 3.0], [48.0, 6.0], [49.0, 9.0], [49.0, 12.0], [49.0, 15.0], [49.0, 18.0], [49.0, 21.0], [49.0, 24.0], [49.0, 27.0], [49.0, 30.0], [49.0, 33.0], [49.0, 36.0], [49.0, 39.0], [49.0, 41.5], [51.0, 0.0], [51.0, 3.0], [51.0, 6.0], [52.0, 9.0], [52.0, 12.0], [52.0, 15.0], [52.0, 18.0], [52.0, 21.0], [52.0, 24.0], [52.0, 27.0], [52.0, 30.0], [52.0, 33.0], [52.0, 36.0], [52.0, 39.0], [52.0, 41.5], [54.0, 0.0], [54.0, 3.0], [54.0, 6.0], [55.0, 9.0], [55.0, 12.0], [55.0, 15.0], [55.0, 18.0], [55.0, 21.0], [55.0, 24.0], [55.0, 27.0], [55.0, 30.0], [55.0, 33.0], [55.0, 36.0], [55.0, 39.0], [55.0, 41.5], [57.0, 0.0], [57.0, 3.0], [57.0, 6.0], [58.0, 9.0], [58.0, 12.0], [58.0, 15.0], [58.0, 18.0], [58.0, 21.0], [58.0, 24.0], [58.0, 27.0], [58.0, 30.0], [58.0, 33.0], [58.0, 36.0], [58.0, 39.0], [58.0, 41.5], [60.0, 0.0], [60.0, 3.0], [60.0, 6.0], [61.0, 9.0], [61.0, 12.0], [61.0, 15.0], [61.0, 18.0], [61.0, 21.0], [61.0, 24.0], [61.0, 27.0], [61.0, 30.0], [61.0, 33.0], [61.0, 36.0], [61.0, 39.0], [61.0, 41.5], [63.0, 0.0], [63.0, 3.0], [63.0, 6.0], [64.0, 9.0], [64.0, 12.0], [64.0, 15.0], [64.0, 18.0], [64.0, 21.0], [64.0, 24.0], [64.0, 27.0], [64.0, 30.0], [64.0, 33.0], [64.0, 36.0], [64.0, 39.0], [64.0, 41.5], [66.0, 0.0], [66.0, 3.0], [66.0, 6.0], [67.0, 9.0], [67.0, 12.0], [67.0, 15.0], [67.0, 18.0], [67.0, 21.0], [67.0, 24.0], [67.0, 27.0], [67.0, 30.0], [67.0, 33.0], [67.0, 36.0], [67.0, 39.0], [67.0, 41.5], [69.0, 0.0], [69.0, 3.0], [69.0, 6.0], [70.0, 9.0], [70.0, 12.0], [70.0, 15.0], [70.0, 18.0], [70.0, 21.0], [70.0, 24.0], [70.0, 27.0], [70.0, 30.0], [70.0, 33.0], [70.0, 36.0], [70.0, 39.0], [70.0, 41.5], [72.0, 0.0], [72.0, 3.0], [72.0, 6.0], [73.0, 9.0], [73.0, 12.0], [73.0, 15.0], [73.0, 18.0], [73.0, 21.0], [73.0, 24.0], [73.0, 27.0], [73.0, 30.0], [73.0, 33.0], [73.0, 36.0], [73.0, 39.0], [73.0, 41.5], [75.0, 0.0], [75.0, 3.0], [75.0, 6.0], [76.0, 9.0], [76.0, 12.0], [76.0, 15.0], [76.0, 18.0], [76.0, 21.0], [76.0, 24.0], [76.0, 27.0], [76.0, 30.0], [76.0, 33.0], [76.0, 36.0], [76.0, 39.0], [76.0, 41.5], [78.0, 0.0], [78.0, 3.0], [78.0, 6.0], [79.0, 9.0], [79.0, 12.0], [79.0, 15.0], [79.0, 18.0], [79.0, 21.0], [79.0, 24.0], [79.0, 27.0], [79.0, 30.0], [79.0, 33.0], [79.0, 36.0], [79.0, 39.0], [79.0, 41.5], [81.0, 0.0], [81.0, 3.0], [81.0, 6.0], [82.0, 9.0], [82.0, 12.0], [82.0, 15.0], [82.0, 18.0], [82.0, 21.0], [82.0, 24.0], [82.0, 27.0], [82.0, 30.0], [82.0, 33.0], [82.0, 36.0], [82.0, 39.0], [82.0, 41.5], [84.0, 0.0], [84.0, 3.0], [84.0, 6.0], [85.0, 9.0], [85.0, 12.0], [85.0, 15.0], [85.0, 18.0], [85.0, 21.0], [85.0, 24.0], [85.0, 27.0], [85.0, 30.0], [85.0, 33.0], [85.0, 36.0], [85.0, 39.0], [85.0, 41.5], [87.0, 0.0], [87.0, 3.0], [87.0, 6.0], [88.0, 9.0], [88.0, 12.0], [88.0, 15.0], [88.0, 18.0], [88.0, 21.0], [88.0, 24.0], [88.0, 27.0], [88.0, 30.0], [88.0, 33.0], [88.0, 36.0], [88.0, 39.0], [88.0, 41.5], [90.0, 0.0], [90.0, 3.0], [90.0, 6.0], [91.0, 9.0], [91.0, 12.0], [91.0, 15.0], [91.0, 18.0], [91.0, 21.0], [91.0, 24.0], [91.0, 27.0], [91.0, 30.0], [91.0, 33.0], [91.0, 36.0], [91.0, 39.0], [91.0, 41.5], [93.0, 0.0], [93.0, 3.0], [93.0, 6.0], [94.0, 9.0], [94.0, 12.0], [94.0, 15.0], [94.0, 18.0], [94.0, 21.0], [94.0, 24.0], [94.0, 27.0], [94.0, 30.0], [94.0, 33.0], [94.0, 36.0], [94.0, 39.0], [94.0, 41.5], [96.0, 0.0], [96.0, 3.0], [96.0, 6.0], [97.0, 9.0], [97.0, 12.0], [97.0, 15.0], [97.0, 18.0], [97.0, 21.0], [97.0, 24.0], [97.0, 27.0], [97.0, 30.0], [97.0, 33.0], [97.0, 36.0], [97.0, 39.0], [97.0, 41.5], [99.0, 0.0], [99.0, 3.0], [99.0, 6.0], [100.0, 9.0], [100.0, 12.0], [100.0, 15.0], [100.0, 18.0], [100.0, 21.0], [100.0, 24.0], [100.0, 27.0], [100.0, 30.0], [100.0, 33.0], [100.0, 36.0], [100.0, 39.0], [100.0, 41.5], [102.0, 0.0], [102.0, 3.0], [102.0, 6.0], [103.0, 9.0], [103.0, 12.0], [103.0, 15.0], [103.0, 18.0], [103.0, 21.0], [103.0, 24.0], [103.0, 27.0], [103.0, 30.0], [103.0, 33.0], [103.0, 36.0], [103.0, 39.0], [103.0, 41.5], [105.0, 0.0], [105.0, 3.0], [105.0, 6.0], [106.0, 9.0], [106.0, 12.0], [106.0, 15.0], [106.0, 18.0], [106.0, 21.0], [106.0, 24.0], [106.0, 27.0], [106.0, 30.0], [106.0, 33.0], [106.0, 36.0], [106.0, 39.0], [106.0, 41.5], [108.0, 0.0], [108.0, 3.0], [108.0, 6.0], [109.0, 9.0], [109.0, 12.0], [109.0, 15.0], [109.0, 18.0], [109.0, 21.0], [109.0, 24.0], [109.0, 27.0], [109.0, 30.0], [109.0, 33.0], [109.0, 36.0], [109.0, 39.0], [109.0, 41.5], [111.0, 0.0], [111.0, 3.0], [111.0, 6.0], [111.0, 9.0], [111.0, 12.0], [111.0, 15.0], [111.0, 18.0], [111.0, 21.0], [111.0, 24.0], [111.0, 27.0], [111.0, 30.0], [111.0, 33.0], [111.0, 36.0], [111.0, 39.0], [111.0, 41.5], [114.0, 0.0], [114.0, 3.0], [114.0, 6.0], [117.0, 0.0], [117.0, 3.0], [117.0, 6.0], [120.0, 0.0], [120.0, 3.0], [120.0, 6.0], [123.0, 0.0], [123.0, 3.0], [123.0, 6.0], [126.0, 0.0], [126.0, 3.0], [126.0, 6.0], [129.0, 0.0], [129.0, 3.0], [129.0, 6.0], [132.0, 0.0], [132.0, 3.0], [132.0, 6.0], [135.0, 0.0], [135.0, 3.0], [135.0, 6.0], [137.5, 0.0], [137.5, 3.0], [137.5, 6.0]], + 'resttwo': [[0.0, 0.0], [0.0, 12.0], [1.0, 2.8333333333333144], [1.0, 5.833333333333314], [1.0, 8.833333333333314], [3.0, -0.16666666666668561], [3.0, 11.833333333333314], [4.0, 2.8333333333333144], [4.0, 5.833333333333314], [4.0, 8.833333333333314], [6.0, -0.16666666666668561], [6.0, 11.833333333333314], [7.0, 2.8333333333333144], [7.0, 5.833333333333314], [7.0, 8.833333333333314], [9.0, -0.16666666666668561], [9.0, 11.833333333333314], [10.0, 2.8333333333333144], [10.0, 5.833333333333314], [10.0, 8.833333333333314], [12.0, -0.16666666666668561], [12.0, 11.833333333333314], [13.0, 2.8333333333333144], [13.0, 5.833333333333314], [13.0, 8.833333333333314], [15.0, -0.16666666666668561], [15.0, 11.833333333333314], [16.0, 2.8333333333333144], [16.0, 5.833333333333314], [16.0, 8.833333333333314], [18.0, -0.16666666666668561], [18.0, 11.833333333333314], [19.0, 2.8333333333333144], [19.0, 5.833333333333314], [19.0, 8.833333333333314], [21.0, -0.16666666666668561], [21.0, 11.833333333333314], [22.0, 2.8333333333333144], [22.0, 5.833333333333314], [22.0, 8.833333333333314], [24.0, -0.16666666666668561], [24.0, 11.833333333333314], [25.0, 2.8333333333333144], [25.0, 5.833333333333314], [25.0, 8.833333333333314], [27.0, -0.16666666666668561], [27.0, 11.833333333333314], [28.0, 2.8333333333333144], [28.0, 5.833333333333314], [28.0, 8.833333333333314], [30.200000000000045, 0.23333333333329165], [30.200000000000045, 11.833333333333314], [31.0, -31.166666666666686], [31.0, -28.166666666666686], [31.0, -25.166666666666686], [31.0, -22.166666666666686], [31.0, -19.166666666666686], [31.0, -16.166666666666686], [31.0, -13.166666666666686], [31.0, -10.166666666666686], [31.0, -7.166666666666686], [31.0, -4.166666666666686], [31.0, 4.833333333333314], [31.0, 7.833333333333314], [33.0, -1.1666666666666856], [33.0, 1.8333333333333144], [33.0, 11.833333333333314], [34.0, -31.166666666666686], [34.0, -28.166666666666686], [34.0, -25.166666666666686], [34.0, -22.166666666666686], [34.0, -19.166666666666686], [34.0, -16.166666666666686], [34.0, -13.166666666666686], [34.0, -10.166666666666686], [34.0, -7.166666666666686], [34.0, -4.166666666666686], [34.0, 4.833333333333314], [34.0, 7.833333333333314], [36.0, -1.1666666666666856], [36.0, 1.8333333333333144], [36.0, 11.833333333333314], [37.0, -31.166666666666686], [37.0, -28.166666666666686], [37.0, -25.166666666666686], [37.0, -22.166666666666686], [37.0, -19.166666666666686], [37.0, -16.166666666666686], [37.0, -13.166666666666686], [37.0, -10.166666666666686], [37.0, -7.166666666666686], [37.0, -4.166666666666686], [37.0, 4.833333333333314], [37.0, 7.833333333333314], [39.0, -1.1666666666666856], [39.0, 1.8333333333333144], [39.0, 11.833333333333314], [40.0, -31.166666666666686], [40.0, -28.166666666666686], [40.0, -25.166666666666686], [40.0, -22.166666666666686], [40.0, -19.166666666666686], [40.0, -16.166666666666686], [40.0, -13.166666666666686], [40.0, -10.166666666666686], [40.0, -7.166666666666686], [40.0, -4.166666666666686], [40.0, 4.833333333333314], [40.0, 7.833333333333314], [42.0, -1.1666666666666856], [42.0, 1.8333333333333144], [42.0, 11.833333333333314], [43.0, -31.166666666666686], [43.0, -28.166666666666686], [43.0, -25.166666666666686], [43.0, -22.166666666666686], [43.0, -19.166666666666686], [43.0, -16.166666666666686], [43.0, -13.166666666666686], [43.0, -10.166666666666686], [43.0, -7.166666666666686], [43.0, -4.166666666666686], [43.0, 4.833333333333314], [43.0, 7.833333333333314], [45.0, -1.1666666666666856], [45.0, 1.8333333333333144], [45.0, 11.833333333333314], [46.0, -31.166666666666686], [46.0, -28.166666666666686], [46.0, -25.166666666666686], [46.0, -22.166666666666686], [46.0, -19.166666666666686], [46.0, -16.166666666666686], [46.0, -13.166666666666686], [46.0, -10.166666666666686], [46.0, -7.166666666666686], [46.0, -4.166666666666686], [46.0, 4.833333333333314], [46.0, 7.833333333333314], [48.0, -1.1666666666666856], [48.0, 1.8333333333333144], [48.0, 11.833333333333314], [49.0, -31.166666666666686], [49.0, -28.166666666666686], [49.0, -25.166666666666686], [49.0, -22.166666666666686], [49.0, -19.166666666666686], [49.0, -16.166666666666686], [49.0, -13.166666666666686], [49.0, -10.166666666666686], [49.0, -7.166666666666686], [49.0, -4.166666666666686], [49.0, 4.833333333333314], [49.0, 7.833333333333314], [51.0, -1.1666666666666856], [51.0, 1.8333333333333144], [51.0, 11.833333333333314], [52.0, -31.166666666666686], [52.0, -28.166666666666686], [52.0, -25.166666666666686], [52.0, -22.166666666666686], [52.0, -19.166666666666686], [52.0, -16.166666666666686], [52.0, -13.166666666666686], [52.0, -10.166666666666686], [52.0, -7.166666666666686], [52.0, -4.166666666666686], [52.0, 4.833333333333314], [52.0, 7.833333333333314], [54.0, -1.1666666666666856], [54.0, 1.8333333333333144], [54.0, 11.833333333333314], [55.0, -31.166666666666686], [55.0, -28.166666666666686], [55.0, -25.166666666666686], [55.0, -22.166666666666686], [55.0, -19.166666666666686], [55.0, -16.166666666666686], [55.0, -13.166666666666686], [55.0, -10.166666666666686], [55.0, -7.166666666666686], [55.0, -4.166666666666686], [55.0, 4.833333333333314], [55.0, 7.833333333333314], [57.0, -1.1666666666666856], [57.0, 1.8333333333333144], [57.0, 11.833333333333314], [58.0, -31.166666666666686], [58.0, -28.166666666666686], [58.0, -25.166666666666686], [58.0, -22.166666666666686], [58.0, -19.166666666666686], [58.0, -16.166666666666686], [58.0, -13.166666666666686], [58.0, -10.166666666666686], [58.0, -7.166666666666686], [58.0, -4.166666666666686], [58.0, 4.833333333333314], [58.0, 7.833333333333314], [60.0, -1.1666666666666856], [60.0, 1.8333333333333144], [60.0, 11.833333333333314], [61.0, -31.166666666666686], [61.0, -28.166666666666686], [61.0, -25.166666666666686], [61.0, -22.166666666666686], [61.0, -19.166666666666686], [61.0, -16.166666666666686], [61.0, -13.166666666666686], [61.0, -10.166666666666686], [61.0, -7.166666666666686], [61.0, -4.166666666666686], [61.0, 4.833333333333314], [61.0, 7.833333333333314], [63.0, -1.1666666666666856], [63.0, 1.8333333333333144], [63.0, 11.833333333333314], [64.0, -31.166666666666686], [64.0, -28.166666666666686], [64.0, -25.166666666666686], [64.0, -22.166666666666686], [64.0, -19.166666666666686], [64.0, -16.166666666666686], [64.0, -13.166666666666686], [64.0, -10.166666666666686], [64.0, -7.166666666666686], [64.0, -4.166666666666686], [64.0, 4.833333333333314], [64.0, 7.833333333333314], [66.0, -1.1666666666666856], [66.0, 1.8333333333333144], [66.0, 11.833333333333314], [67.0, -31.166666666666686], [67.0, -28.166666666666686], [67.0, -25.166666666666686], [67.0, -22.166666666666686], [67.0, -19.166666666666686], [67.0, -16.166666666666686], [67.0, -13.166666666666686], [67.0, -10.166666666666686], [67.0, -7.166666666666686], [67.0, -4.166666666666686], [67.0, 4.833333333333314], [67.0, 7.833333333333314], [69.0, -1.1666666666666856], [69.0, 1.8333333333333144], [69.0, 11.833333333333314], [70.0, -31.166666666666686], [70.0, -28.166666666666686], [70.0, -25.166666666666686], [70.0, -22.166666666666686], [70.0, -19.166666666666686], [70.0, -16.166666666666686], [70.0, -13.166666666666686], [70.0, -10.166666666666686], [70.0, -7.166666666666686], [70.0, -4.166666666666686], [70.0, 4.833333333333314], [70.0, 7.833333333333314], [72.0, -1.1666666666666856], [72.0, 1.8333333333333144], [72.0, 11.833333333333314], [73.0, -31.166666666666686], [73.0, -28.166666666666686], [73.0, -25.166666666666686], [73.0, -22.166666666666686], [73.0, -19.166666666666686], [73.0, -16.166666666666686], [73.0, -13.166666666666686], [73.0, -10.166666666666686], [73.0, -7.166666666666686], [73.0, -4.166666666666686], [73.0, 4.833333333333314], [73.0, 7.833333333333314], [75.0, -1.1666666666666856], [75.0, 1.8333333333333144], [75.0, 11.833333333333314], [76.0, -31.166666666666686], [76.0, -28.166666666666686], [76.0, -25.166666666666686], [76.0, -22.166666666666686], [76.0, -19.166666666666686], [76.0, -16.166666666666686], [76.0, -13.166666666666686], [76.0, -10.166666666666686], [76.0, -7.166666666666686], [76.0, -4.166666666666686], [76.0, 4.833333333333314], [76.0, 7.833333333333314], [78.0, -1.1666666666666856], [78.0, 1.8333333333333144], [78.0, 11.833333333333314], [79.0, -31.166666666666686], [79.0, -28.166666666666686], [79.0, -25.166666666666686], [79.0, -22.166666666666686], [79.0, -19.166666666666686], [79.0, -16.166666666666686], [79.0, -13.166666666666686], [79.0, -10.166666666666686], [79.0, -7.166666666666686], [79.0, -4.166666666666686], [79.0, 4.833333333333314], [79.0, 7.833333333333314], [81.0, -1.1666666666666856], [81.0, 1.8333333333333144], [81.0, 11.833333333333314], [82.0, -31.166666666666686], [82.0, -28.166666666666686], [82.0, -25.166666666666686], [82.0, -22.166666666666686], [82.0, -19.166666666666686], [82.0, -16.166666666666686], [82.0, -13.166666666666686], [82.0, -10.166666666666686], [82.0, -7.166666666666686], [82.0, -4.166666666666686], [82.0, 4.833333333333314], [82.0, 7.833333333333314], [84.0, -1.1666666666666856], [84.0, 1.8333333333333144], [84.0, 11.833333333333314], [85.0, -31.166666666666686], [85.0, -28.166666666666686], [85.0, -25.166666666666686], [85.0, -22.166666666666686], [85.0, -19.166666666666686], [85.0, -16.166666666666686], [85.0, -13.166666666666686], [85.0, -10.166666666666686], [85.0, -7.166666666666686], [85.0, -4.166666666666686], [85.0, 4.833333333333314], [85.0, 7.833333333333314], [87.0, -1.1666666666666856], [87.0, 1.8333333333333144], [87.0, 11.833333333333314], [88.0, -31.166666666666686], [88.0, -28.166666666666686], [88.0, -25.166666666666686], [88.0, -22.166666666666686], [88.0, -19.166666666666686], [88.0, -16.166666666666686], [88.0, -13.166666666666686], [88.0, -10.166666666666686], [88.0, -7.166666666666686], [88.0, -4.166666666666686], [88.0, 4.833333333333314], [88.0, 7.833333333333314], [90.0, -1.1666666666666856], [90.0, 1.8333333333333144], [90.0, 11.833333333333314], [91.0, -31.166666666666686], [91.0, -28.166666666666686], [91.0, -25.166666666666686], [91.0, -22.166666666666686], [91.0, -19.166666666666686], [91.0, -16.166666666666686], [91.0, -13.166666666666686], [91.0, -10.166666666666686], [91.0, -7.166666666666686], [91.0, -4.166666666666686], [91.0, 4.833333333333314], [91.0, 7.833333333333314], [93.0, -1.1666666666666856], [93.0, 1.8333333333333144], [93.0, 11.833333333333314], [94.0, -31.166666666666686], [94.0, -28.166666666666686], [94.0, -25.166666666666686], [94.0, -22.166666666666686], [94.0, -19.166666666666686], [94.0, -16.166666666666686], [94.0, -13.166666666666686], [94.0, -10.166666666666686], [94.0, -7.166666666666686], [94.0, -4.166666666666686], [94.0, 4.833333333333314], [94.0, 7.833333333333314], [96.0, -1.1666666666666856], [96.0, 1.8333333333333144], [96.0, 11.833333333333314], [97.0, -31.166666666666686], [97.0, -28.166666666666686], [97.0, -25.166666666666686], [97.0, -22.166666666666686], [97.0, -19.166666666666686], [97.0, -16.166666666666686], [97.0, -13.166666666666686], [97.0, -10.166666666666686], [97.0, -7.166666666666686], [97.0, -4.166666666666686], [97.0, 4.833333333333314], [97.0, 7.833333333333314], [99.0, -1.1666666666666856], [99.0, 1.8333333333333144], [99.0, 11.833333333333314], [100.0, -31.166666666666686], [100.0, -28.166666666666686], [100.0, -25.166666666666686], [100.0, -22.166666666666686], [100.0, -19.166666666666686], [100.0, -16.166666666666686], [100.0, -13.166666666666686], [100.0, -10.166666666666686], [100.0, -7.166666666666686], [100.0, -4.166666666666686], [100.0, 4.833333333333314], [100.0, 7.833333333333314], [102.0, -1.1666666666666856], [102.0, 1.8333333333333144], [102.0, 11.833333333333314], [103.0, -31.166666666666686], [103.0, -28.166666666666686], [103.0, -25.166666666666686], [103.0, -22.166666666666686], [103.0, -19.166666666666686], [103.0, -16.166666666666686], [103.0, -13.166666666666686], [103.0, -10.166666666666686], [103.0, -7.166666666666686], [103.0, -4.166666666666686], [103.0, 4.833333333333314], [103.0, 7.833333333333314], [105.0, -1.1666666666666856], [105.0, 1.8333333333333144], [105.0, 11.833333333333314], [106.0, -31.166666666666686], [106.0, -28.166666666666686], [106.0, -25.166666666666686], [106.0, -22.166666666666686], [106.0, -19.166666666666686], [106.0, -16.166666666666686], [106.0, -13.166666666666686], [106.0, -10.166666666666686], [106.0, -7.166666666666686], [106.0, -4.166666666666686], [106.0, 4.833333333333314], [106.0, 7.833333333333314], [108.0, -1.1666666666666856], [108.0, 1.8333333333333144], [108.0, 11.833333333333314], [108.5, -31.166666666666686], [108.5, -28.166666666666686], [108.5, -25.166666666666686], [108.5, -22.166666666666686], [108.5, -19.166666666666686], [108.5, -16.166666666666686], [108.5, -13.166666666666686], [108.5, -10.166666666666686], [108.5, -7.166666666666686], [108.5, -4.166666666666686], [109.25, 4.583333333333314], [109.0, 8.166666666666629], [111.0, -0.16666666666668561], [111.0, 11.833333333333314], [112.0, 2.8333333333333144], [112.0, 5.833333333333314], [112.0, 8.833333333333314], [114.0, -0.16666666666668561], [114.0, 11.833333333333314], [115.0, 2.8333333333333144], [115.0, 5.833333333333314], [115.0, 8.833333333333314], [117.0, -0.16666666666668561], [117.0, 11.833333333333314], [118.0, 2.8333333333333144], [118.0, 5.833333333333314], [118.0, 8.833333333333314], [120.0, -0.16666666666668561], [120.0, 11.833333333333314], [121.0, 2.8333333333333144], [121.0, 5.833333333333314], [121.0, 8.833333333333314], [123.0, -0.16666666666668561], [123.0, 11.833333333333314], [124.0, 2.8333333333333144], [124.0, 5.833333333333314], [124.0, 8.833333333333314], [126.0, -0.16666666666668561], [126.0, 11.833333333333314], [127.0, 2.8333333333333144], [127.0, 5.833333333333314], [127.0, 8.833333333333314], [129.0, -0.16666666666668561], [129.0, 11.833333333333314], [130.0, 2.8333333333333144], [130.0, 5.833333333333314], [130.0, 8.833333333333314], [132.0, -0.16666666666668561], [132.0, 11.833333333333314], [133.0, 2.8333333333333144], [133.0, 5.833333333333314], [133.0, 8.833333333333314], [135.0, -0.16666666666668561], [135.0, 11.833333333333314], [136.0, 2.8333333333333144], [136.0, 5.833333333333314], [136.0, 8.833333333333314], [137.5, -0.16666666666668561], [137.5, 11.833333333333314], [138.0, 2.8333333333333144], [138.0, 5.833333333333314], [138.0, 8.833333333333314]], + 'restone': [[0.0, 0.0], [31.456310679611647, 24.902912621359235], [18.349514563106823, 15.728155339805824], [15.72815533980588, 17.038834951456295], [28.834951456310705, 27.524271844660177], [27.524271844660234, 30.145631067961176], [13.106796116504825, 20.970873786407765], [10.485436893203882, 24.902912621359235], [24.90291262135929, 34.077669902912646], [22.281553398058236, 36.69902912621359], [6.553398058252469, 27.524271844660177], [3.932038834951527, 30.145631067961176], [19.660194174757294, 39.32038834951459], [18.349514563106823, 41.94174757281553], [2.621359223300942, 34.077669902912646], [0.0, 35.38834951456312], [15.72815533980588, 44.56310679611653], [14.41747572815541, 47.18446601941747], [-3.9320388349514133, 36.69902912621359], [-6.553398058252355, 39.32038834951459], [14.41747572815541, 51.11650485436894], [-6.553398058252355, 43.252427184466], [15.72815533980588, 55.04854368932041], [17.03883495145635, 57.66990291262135], [-3.9320388349514133, 45.873786407767], [1.310679611650471, 48.49514563106794], [5.242718446601998, 51.11650485436894], [10.485436893203882, 53.73786407766988], [14.41747572815541, 56.35922330097088], [30.145631067961176, 69.4660194174757], [26.213592233009763, 72.0873786407767], [15.72815533980588, 64.22330097087377], [11.796116504854353, 64.22330097087377], [22.281553398058236, 72.0873786407767], [19.660194174757294, 74.7087378640777], [6.553398058252469, 62.912621359223294], [2.621359223300942, 64.22330097087377], [15.72815533980588, 76.01941747572818], [14.41747572815541, 79.95145631067965], [-1.310679611650471, 65.5339805825243], [-3.9320388349514133, 66.84466019417476], [13.106796116504825, 82.57281553398059], [14.41747572815541, 86.50485436893206], [-5.242718446601884, 70.77669902912623], [-5.242718446601884, 74.7087378640777], [14.41747572815541, 89.126213592233], [14.41747572815541, 93.05825242718447], [-3.9320388349514133, 78.64077669902912], [-2.621359223300942, 81.26213592233012], [13.106796116504825, 82.57281553398059], [14.41747572815541, 85.19417475728159], [0.0, 85.19417475728159], [2.621359223300942, 89.126213592233], [15.72815533980588, 90.43689320388353], [15.72815533980588, 95.67961165048547], [3.932038834951527, 93.05825242718447], [7.86407766990294, 95.67961165048547], [18.349514563106823, 98.30097087378647], [19.660194174757294, 102.23300970873788], [27.524271844660234, 110.09708737864082]], + 'resthalf': [[0.0, 0.0], [-2.621359223300942, -3.932038834951527], [-3.9320388349514133, -7.86407766990294], [-7.86407766990294, -9.174757281553411], [-14.417475728155296, -9.174757281553411], [-15.728155339805767, -3.932038834951527], [-17.03883495145635, 0.0], [-14.417475728155296, 5.242718446601884], [-11.796116504854353, 7.86407766990294], [-7.86407766990294, 7.86407766990294], [0.0, 6.553398058252469], [-3.9320388349514133, 6.553398058252469], [-2.621359223300942, -1.310679611650471], [-7.86407766990294, -3.932038834951527], [-9.174757281553411, -3.932038834951527], [-11.796116504854353, -2.621359223300942], [-11.796116504854353, 1.310679611650471], [-7.86407766990294, 5.242718446601884], [-3.9320388349514133, 2.621359223300942], [-7.86407766990294, 0.0], [-3.9320388349514133, -1.310679611650471], [-14.417475728155296, -6.553398058252469], [0.0, 5.242718446601884], [5.242718446601998, 6.553398058252469], [9.174757281553411, 3.9320388349514133], [13.106796116504825, 0.0], [15.72815533980588, -3.932038834951527], [-5.242718446601884, 55.048543689320354]], + 'restquarter': [[0.0, 0.0], [0.0, -2.621359223301056], [-1.310679611650471, -5.242718446601998], [-3.9320388349514133, -6.553398058252469], [-3.9320388349514133, -7.86407766990294], [-6.553398058252469, -7.86407766990294], [-10.485436893203882, -7.86407766990294], [-13.106796116504825, -6.553398058252469], [-15.72815533980588, -3.932038834951527], [-14.417475728155296, -1.310679611650471], [-11.796116504854353, 1.310679611650471], [-6.553398058252469, 1.310679611650471], [-3.9320388349514133, 1.310679611650471], [-5.242718446601998, -1.310679611650471], [-5.242718446601998, -3.932038834951527], [-11.796116504854353, -3.932038834951527], [-7.86407766990294, -3.932038834951527], [-9.174757281553411, 2.621359223300942], [-9.174757281553411, 0.0], [-11.796116504854353, -2.621359223301056], [1.310679611650471, -2.621359223301056], [-3.9320388349514133, -3.932038834951527], [-2.621359223300942, -1.310679611650471], [1.310679611650471, 0.0], [5.242718446601884, 0.0], [10.485436893203882, -1.310679611650471], [15.728155339805767, -7.86407766990294], [3.9320388349514133, 23.592233009708707], [-1.310679611650471, 27.52427184466012], [-6.553398058252469, 27.52427184466012], [-13.106796116504825, 26.21359223300965], [-13.106796116504825, 24.902912621359178], [-15.72815533980588, 20.970873786407765], [-20.970873786407765, 19.660194174757294], [-24.902912621359178, 19.660194174757294], [-30.145631067961176, 22.281553398058236], [-28.834951456310705, 24.902912621359178], [-26.213592233009763, 28.834951456310705], [-22.281553398058236, 28.834951456310705], [-18.349514563106823, 28.834951456310705], [-15.72815533980588, 26.21359223300965], [-17.03883495145635, 22.281553398058236], [-23.592233009708707, 22.281553398058236], [-24.902912621359178, 23.592233009708707], [-22.281553398058236, 24.902912621359178], [-18.349514563106823, 24.902912621359178], [-19.660194174757294, 22.281553398058236], [-24.902912621359178, 22.281553398058236], [-27.524271844660234, 20.970873786407765], [-23.592233009708707, 19.660194174757294], [-18.349514563106823, 19.660194174757294], [-17.03883495145635, 23.592233009708707], [-17.03883495145635, 28.834951456310705], [-15.72815533980588, 30.145631067961176], [-10.485436893203882, 30.145631067961176], [-6.553398058252469, 28.834951456310705], [-1.310679611650471, 27.52427184466012], [3.9320388349514133, 23.592233009708707], [-11.796116504854353, 65.53398058252424]], + 'resteighth': [[0.0, 0.0], [-2.621359223300942, -2.621359223300942], [-9.174757281553411, -3.9320388349514133], [-13.106796116504825, -3.9320388349514133], [-18.349514563106823, -1.310679611650471], [-23.592233009708707, 0.0], [-23.592233009708707, 3.9320388349514133], [-20.970873786407765, 5.242718446601884], [-18.349514563106823, 7.86407766990294], [-11.796116504854353, 9.174757281553411], [-6.553398058252469, 7.86407766990294], [-1.310679611650471, 9.174757281553411], [1.310679611650471, 6.553398058252469], [-7.86407766990294, 0.0], [-13.106796116504825, 0.0], [-17.03883495145635, 2.621359223300942], [-11.796116504854353, 6.553398058252469], [-1.310679611650471, 5.242718446601884], [-2.621359223300942, 0.0], [-6.553398058252469, 3.9320388349514133], [-14.41747572815541, 3.9320388349514133], [-9.174757281553411, 3.9320388349514133], [-11.796116504854353, 3.9320388349514133], [-15.72815533980588, 7.86407766990294], [-6.553398058252469, 9.174757281553411], [-3.932038834951527, 6.553398058252469], [-3.932038834951527, 3.9320388349514133], [1.310679611650471, 9.174757281553411], [5.242718446601884, 7.86407766990294], [11.796116504854353, 5.242718446601884], [18.349514563106823, -1.310679611650471], [7.86407766990294, 32.76699029126212], [3.9320388349514133, 34.07766990291259], [-7.86407766990294, 36.69902912621353], [-13.106796116504825, 36.69902912621353], [-15.72815533980588, 32.76699029126212], [-15.72815533980588, 27.524271844660234], [-19.660194174757294, 27.524271844660234], [-26.213592233009763, 24.902912621359178], [-30.145631067961176, 27.524271844660234], [-35.388349514563174, 28.834951456310705], [-36.699029126213645, 31.456310679611647], [-36.699029126213645, 35.38834951456306], [-34.07766990291259, 36.69902912621353], [-28.834951456310705, 39.32038834951459], [-23.592233009708707, 39.32038834951459], [-17.03883495145635, 39.32038834951459], [-20.970873786407765, 34.07766990291259], [-20.970873786407765, 31.456310679611647], [-31.456310679611647, 31.456310679611647], [-31.456310679611647, 34.07766990291259], [-28.834951456310705, 34.07766990291259], [-19.660194174757294, 34.07766990291259], [-26.213592233009763, 31.456310679611647], [-26.213592233009763, 31.456310679611647], [-23.592233009708707, 36.69902912621353], [-23.592233009708707, 28.834951456310705], [-26.213592233009763, 30.145631067961176], [-22.281553398058236, 34.07766990291259], [-19.660194174757294, 36.69902912621353], [-7.86407766990294, 36.69902912621353], [3.9320388349514133, 34.07766990291259], [7.86407766990294, 32.76699029126212], [-6.553398058252469, 65.53398058252424], [-13.106796116504825, 65.53398058252424], [-19.660194174757294, 66.84466019417471], [-26.213592233009763, 66.84466019417471], [-28.834951456310705, 62.912621359223294], [-30.145631067961176, 58.98058252427188], [-34.07766990291259, 57.669902912621296], [-40.63106796116506, 56.359223300970825], [-45.87378640776706, 57.669902912621296], [-51.11650485436894, 62.912621359223294], [-45.87378640776706, 66.84466019417471], [-40.63106796116506, 68.15533980582518], [-34.07766990291259, 68.15533980582518], [-28.834951456310705, 68.15533980582518], [-32.76699029126212, 65.53398058252424], [-36.699029126213645, 61.60194174757282], [-44.56310679611647, 61.60194174757282], [-44.56310679611647, 61.60194174757282], [-39.32038834951459, 61.60194174757282], [-39.32038834951459, 65.53398058252424], [-31.456310679611647, 64.22330097087377], [-34.07766990291259, 61.60194174757282], [-45.87378640776706, 58.98058252427188], [-45.87378640776706, 61.60194174757282], [-41.94174757281553, 65.53398058252424], [-36.699029126213645, 65.53398058252424], [-36.699029126213645, 56.359223300970825], [-40.63106796116506, 58.98058252427188], [-43.252427184466, 58.98058252427188], [-48.495145631068, 60.29126213592235], [-39.32038834951459, 66.84466019417471], [-19.660194174757294, 66.84466019417471], [-10.485436893203882, 64.22330097087377], [-6.553398058252469, 61.60194174757282], [-24.90291262135929, 107.47572815533977]] } \ No newline at end of file From ece31d06d099c74bfd6a8f988b5d29d9380e0eb2 Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 18 Apr 2021 22:55:23 -0400 Subject: [PATCH 036/149] split up notes in prep for ties, added dotted half rest --- .../scratch3_musiccreation/sheetmusic.js | 55 +++++++++++++++---- 1 file changed, 44 insertions(+), 11 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 3641b4454..225e30e96 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -614,16 +614,20 @@ class SheetMusic { } addRest(xmid, ymid, dur, args, util) { - var restSymbol = this.rests[dur]; + var symbolDur = dur; + if (dur == 3) { + symbolDur = 2; //add normal half note rest and then dot it + } + var restSymbol = this.rests[symbolDur]; var restX = xmid; var restY = ymid; - var offset = this.restOffset[dur]; + var offset = this.restOffset[symbolDur]; if (dur > 1) { var xOffset = 8; } else { var xOffset = 0; } - var scale = this.restScale[dur]; + var scale = this.restScale[symbolDur]; this.penUp(args, util); for (var i in restSymbol) { coord = restSymbol[i]; @@ -633,6 +637,20 @@ class SheetMusic { this.penDown(args, util); } this.penUp(args, util); + if (dur == 3) { + var xmid = xmid + 15; + var ymid = ymid + offset; + var step = Math.PI/100; + var rad = 2; + for (var theta = 0; theta < 2*Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(xmid, ymid); + var restX = xmid + rad*Math.cos(theta); + var restY = ymid - rad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(restX, restY); + } + } } @@ -795,6 +813,7 @@ class SheetMusic { convertSignalToMusicList (args, util) { var signal = []; + var beats = 0; for (var i in this.noteList) { freq = this.noteList[i][0]; var acc = ""; @@ -805,16 +824,30 @@ class SheetMusic { acc = "flat"; } if (freq >= 60) { - staff = pitchToStaff[freq]; - dur = this.noteList[i][1]*4; - amp = this.noteList[i][3]; - signal.push([staff, dur, amp, "treble", acc]); + var staff = pitchToStaff[freq]; + var dur = this.noteList[i][1]*4; + var amp = this.noteList[i][3]; + var clef = "treble"; } else { - staff = pitchToStaffBass[freq]; - dur = this.noteList[i][1]*4; - amp = this.noteList[i][3]; - signal.push([staff, dur, amp, "bass", acc]); + var staff = pitchToStaffBass[freq]; + var dur = this.noteList[i][1]*4; + var amp = this.noteList[i][3]; + var clef = "bass"; } + var newBeats = 0; + if (beats + dur == 4) { + newBeats = 0; + signal.push([staff, dur, amp, clef, acc, ""]); + } else if (beats + dur > 4) { + signal.push([staff, 4-beats, amp, clef, acc, ""]); + signal.push([staff, dur-(4-beats), amp, clef, acc, ""]); + newBeats = dur-(4-beats); + } else { + newBeats = beats + dur; + signal.push([staff, dur, amp, clef, acc, ""]); + } + beats = newBeats; + } return signal; From d9d6959c3802aca7b9a20910c8bdfc4077c7e49d Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 18 Apr 2021 23:17:35 -0400 Subject: [PATCH 037/149] multiline ties exist, doesnt break anymore --- .../scratch3_musiccreation/sheetmusic.js | 77 ++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 225e30e96..8e1f77896 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -590,6 +590,11 @@ class SheetMusic { if (acc) { this.addAccidental(xmid, ymid, note, acc, args, util); } + + if (signal[i][5] == "tie") { + log.log("tie"); + this.addTie(xmid, ymid, up, xStep, args, util); + } this.drawNote(xmid, ymid, duration, up, args, util); @@ -613,6 +618,76 @@ class SheetMusic { } + addMultiLineTie(xmid, ymid, up, xstep, args, util) { + var xrad = 8; + var yrad = 4; + if (up) { + var sign = -1; + } else { + sign = 1; + } + var xrad = xrad + xstep/2-8-xrad/4; + var yrad = xrad/2; + var xmid = xmid + xrad; + var ymid = ymid + sign*yrad; + var x = xmid; + var y = ymid+sign*yrad; + var step = Math.PI/100; + for (var theta = Math.PI/2; theta < Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(x, y); + var x = xmid + xrad*Math.cos(theta); + var y = ymid + sign*yrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + this.penUp(args, util); + } + + var x = this.staffStartX+xstep+xrad; + var y = ymid - this.spaceBetween-11*this.staffWidth; + var xmid = this.staffStartX+xstep; + var ymid = ymid - this.spaceBetween-11*this.staffWidth; + for (var theta = 0; theta < Math.PI/2; theta +=step) { + this.penUp(args, util); + util.target.setXY(x, y); + var x = xmid + xrad*Math.cos(theta); + var y = ymid + sign*yrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + this.penUp(args, util); + } + } + + addTie(xmid, ymid, up, xstep, args, util) { + if (xmid + xstep > this.staffStartX + this.staffLength) { + this.addMultiLineTie(xmid, ymid, up, xstep, args, util); + } else { + var xrad = 8; + var yrad = 4; + if (up) { + var sign = -1; + } else { + sign = 1; + } + var xrad = xrad + xstep/2-8-xrad/4; + var yrad = xrad/2; + var xmid = xmid + xrad; + var ymid = ymid + sign*yrad; + var x = xmid+xrad; + var y = ymid; + var step = Math.PI/100; + for (var theta = 0; theta < Math.PI; theta +=step) { + this.penUp(args, util); + util.target.setXY(x, y); + var x = xmid + xrad*Math.cos(theta); + var y = ymid + sign*yrad*Math.sin(theta); + this.penDown(args, util); + util.target.setXY(x, y); + this.penUp(args, util); + } + } + } + addRest(xmid, ymid, dur, args, util) { var symbolDur = dur; if (dur == 3) { @@ -839,7 +914,7 @@ class SheetMusic { newBeats = 0; signal.push([staff, dur, amp, clef, acc, ""]); } else if (beats + dur > 4) { - signal.push([staff, 4-beats, amp, clef, acc, ""]); + signal.push([staff, 4-beats, amp, clef, acc, "tie"]); signal.push([staff, dur-(4-beats), amp, clef, acc, ""]); newBeats = dur-(4-beats); } else { From b4d2a1809c8d7fdc53e2cd7d3e302e45091f38d6 Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 18 Apr 2021 23:50:36 -0400 Subject: [PATCH 038/149] added real harmonics, got rid of 1/32 note, added multi line ties --- .../extensions/scratch3_musiccreation/fft.js | 33 +++++-------------- .../scratch3_musiccreation/index.js | 3 +- .../scratch3_musiccreation/spectrogram.js | 22 +++++-------- .../scratch3_musiccreation/waveform.js | 25 +++++++------- 4 files changed, 30 insertions(+), 53 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js index dc3924376..da8003804 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js @@ -40,14 +40,14 @@ class FFT { this._onTargetMoved = this._onTargetMoved.bind(this); - harmonics = { - "Piano": [[1,1], [2, 0.5]], - "Guitar": [[1,1], [2, 0.25]], - "Bass": [[1,1], [3, 0.5]], - "Cello": [[1,1], [4, 0.5]], - "Saxophone": [[1,1], [5, 0.5]], - "Clarinet": [[1,1], [6, 0.5]], - "Synth":[[1,1]] + this.harmonics = { + "Piano": [[1,1], [3, 0.42], [4, 0.22]], //DONE + "Guitar": [[1,0.55], [2, 0.47], [3, 0.68], [4, 0.24]], + "Bass": [[1,1], [3, 0.78], [4, 0.22]], + "Cello": [[1,1], [2, 0.47], [3, 0.24], [4, 0.15]], //DONE + "Saxophone": [[1,1], [2, 0.38], [3, 0.14], [4, 0.02]], //DONE + "Clarinet": [[1,0.57], [2, 0.87], [3, 0.23]], //DONE + "Synth":[[1,1]] //DONE } this.letters = { @@ -223,10 +223,7 @@ class FFT { drawString (str, xstart, ystart, size, args, util) { - log.log(str); for (var i in str) { - log.log(i); - log.log(str[i]); xstart += 5*size; if (i >= 1) { xstart += this.spacing[str[i-1]]/5*size; @@ -265,7 +262,7 @@ class FFT { for (i in this.noteList) { midi = this.noteList[i][0]; inst = this.noteList[i][2]; - harmonic = harmonics[inst]; + harmonic = this.harmonics[inst]; pitch = 2**((midi - 69)/12)*440; for (i in harmonic) { k = harmonic[i][0]; @@ -314,18 +311,6 @@ class FFT { this.labelAxes(args, util); } - findCrescDecresc() { - //CHANGE TO MP AND P ETC - up = []; - down = []; - upstart = 0; - downstart = 0; - for (var i in this.noteList) { - log.log(this.noteList[i][3]); - - } - - } convertSignalToMusicList (args, util) { signal = []; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 7912b78ef..405e01819 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -35,8 +35,7 @@ class Scratch3MusicCreation { {text: "forte", value: 85}, {text: "fortissimo", value: 100}]; - this.beats = [{text: "1/8", value: 0.03125}, - {text: "1/4", value: 0.0625}, + this.beats = [{text: "1/4", value: 0.0625}, {text: "1/2", value: 0.125}, {text: "1", value: 0.25}, {text: "2", value: 0.5}, diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js index 8c6b5769f..5d49b8610 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js @@ -42,14 +42,14 @@ class Spectrogram { this._onTargetMoved = this._onTargetMoved.bind(this); - harmonics = { - "Piano": [[1,1], [2, 0.5]], - "Guitar": [[1,1], [2, 0.25]], - "Bass": [[1,1], [3, 0.5]], - "Cello": [[1,1], [4, 0.5]], - "Saxophone": [[1,1], [5, 0.5]], - "Clarinet": [[1,1], [6, 0.5]], - "Synth":[[1,1]] + this.harmonics = { + "Piano": [[1,1], [3, 0.42], [4, 0.22]], //DONE + "Guitar": [[1,0.55], [2, 0.47], [3, 0.68], [4, 0.24]], + "Bass": [[1,1], [3, 0.78], [4, 0.22]], + "Cello": [[1,1], [2, 0.47], [3, 0.24], [4, 0.15]], //DONE + "Saxophone": [[1,1], [2, 0.38], [3, 0.14], [4, 0.02]], //DONE + "Clarinet": [[1,0.57], [2, 0.87], [3, 0.23]], //DONE + "Synth":[[1,1]] //DONE } this.letters = { @@ -223,7 +223,7 @@ class Spectrogram { midi = this.noteList[i][0]; inst = this.noteList[i][2]; dur = this.noteList[i][1]; - harmonic = harmonics[inst]; + harmonic = this.harmonics[inst]; pitch = 2**((midi - 69)/12)*440; for (i in harmonic) { k = harmonic[i][0]; @@ -262,10 +262,7 @@ class Spectrogram { } drawString (str, xstart, ystart, size, args, util) { - log.log(str); for (var i in str) { - log.log(i); - log.log(str[i]); xstart += 5*size; if (i >= 1) { xstart += this.spacing[str[i-1]]/5*size; @@ -299,7 +296,6 @@ class Spectrogram { fillInSpec(args, util){ this.setPenColorToColor(this.blue, util); for (var i = this.axisStartY+1; i = 1) { xstart += this.spacing[str[i-1]]/5*size; @@ -444,11 +441,11 @@ class Waveform { prevFreq = Omega; for (s = st; s < st + dur*fs; s++) { val = 0 - for (var k in harmonics[inst]) { - harmonic = harmonics[inst][k]; + for (var k in this.harmonics[inst]) { + harmonic = this.harmonics[inst][k]; coeff = harmonic[1]; newk = harmonic[0]; - val = val + coeff*(Math.sin(Omega*newk*s)); + val = val + coeff*(Math.sin(Omega*newk*s*3)); } util.target.setXY(x, y + vol*val); x = x+xStep; From 125a358c702b683922c511b0ea332096b45267bd Mon Sep 17 00:00:00 2001 From: nada Date: Mon, 19 Apr 2021 23:10:15 -0400 Subject: [PATCH 039/149] fixed harmonics in fft and spectrogram --- .../extensions/scratch3_musiccreation/fft.js | 9 +++-- .../scratch3_musiccreation/spectrogram.js | 33 ++++++++++--------- .../scratch3_musiccreation/waveform.js | 4 +-- 3 files changed, 26 insertions(+), 20 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js index da8003804..fb0826339 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js @@ -46,8 +46,8 @@ class FFT { "Bass": [[1,1], [3, 0.78], [4, 0.22]], "Cello": [[1,1], [2, 0.47], [3, 0.24], [4, 0.15]], //DONE "Saxophone": [[1,1], [2, 0.38], [3, 0.14], [4, 0.02]], //DONE - "Clarinet": [[1,0.57], [2, 0.87], [3, 0.23]], //DONE - "Synth":[[1,1]] //DONE + "Clarinet": [[1,0.57], [2, 0.87], [3, 0.23], [4, 0]], //DONE + "Synth":[[1,1], [2, 0], [3, 0], [4, 0]] //DONE } this.letters = { @@ -263,6 +263,8 @@ class FFT { midi = this.noteList[i][0]; inst = this.noteList[i][2]; harmonic = this.harmonics[inst]; + log.log(inst); + log.log(this.harmonics[inst]); pitch = 2**((midi - 69)/12)*440; for (i in harmonic) { k = harmonic[i][0]; @@ -291,10 +293,11 @@ class FFT { amp = amps[i]; ratio = freq/maxFreq; ratioAmp = amp/maxAmp; + log.log(ratio, ratioAmp); this.penUp(args, util); util.target.setXY(this.axisStartX + ratio*this.xAxisLength, this.axisStartY); this.penDown(args, util); - util.target.setXY(this.axisStartX + ratio*this.xAxisLength, this.axisStartY+this.yAxisLength*ratio); + util.target.setXY(this.axisStartX + ratio*this.xAxisLength, this.axisStartY+this.yAxisLength*ratioAmp); this.penUp(args, util); } } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js index 5d49b8610..fd5594d7c 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/spectrogram.js @@ -48,8 +48,8 @@ class Spectrogram { "Bass": [[1,1], [3, 0.78], [4, 0.22]], "Cello": [[1,1], [2, 0.47], [3, 0.24], [4, 0.15]], //DONE "Saxophone": [[1,1], [2, 0.38], [3, 0.14], [4, 0.02]], //DONE - "Clarinet": [[1,0.57], [2, 0.87], [3, 0.23]], //DONE - "Synth":[[1,1]] //DONE + "Clarinet": [[1,0.57], [2, 0.87], [3, 0.23], [4, 0]], //DONE + "Synth":[[1,1], [2, 0], [3, 0], [4, 0]] //DONE } this.letters = { @@ -217,6 +217,7 @@ class Spectrogram { freqs = []; amps = []; durs = []; + coeffs = []; d = 0; this.setPenColorToColor(this.yellow, util); for (i in this.noteList) { @@ -232,7 +233,7 @@ class Spectrogram { freqs.push(hPitch); amps.push(coeff); durs.push([d, d+dur]) - + coeffs.push(coeff); } d += dur; } @@ -241,22 +242,24 @@ class Spectrogram { for (i in freqs) { f = freqs[i]/(maxFreq+5); d = durs[i]; + coeff = coeffs[i]; start = d[0]; end = d[1]; start = start/maxDuration; end = end/maxDuration; - - this.penUp(args, util); - util.target.setXY(this.axisStartX + start*this.xAxisLength, this.axisStartY+this.yAxisLength*f); - this.penDown(args, util); - util.target.setXY(this.axisStartX + end*this.xAxisLength, this.axisStartY+this.yAxisLength*f); - this.penUp(args, util); - - this.penUp(args, util); - util.target.setXY(this.axisStartX + start*this.xAxisLength, this.axisStartY+this.yAxisLength*f+1); - this.penDown(args, util); - util.target.setXY(this.axisStartX + end*this.xAxisLength, this.axisStartY+this.yAxisLength*f+1); - this.penUp(args, util); + if (coeff != 0) { + this.penUp(args, util); + util.target.setXY(this.axisStartX + start*this.xAxisLength, this.axisStartY+this.yAxisLength*f); + this.penDown(args, util); + util.target.setXY(this.axisStartX + end*this.xAxisLength, this.axisStartY+this.yAxisLength*f); + this.penUp(args, util); + + this.penUp(args, util); + util.target.setXY(this.axisStartX + start*this.xAxisLength, this.axisStartY+this.yAxisLength*f+1); + this.penDown(args, util); + util.target.setXY(this.axisStartX + end*this.xAxisLength, this.axisStartY+this.yAxisLength*f+1); + this.penUp(args, util); + } } } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js index 9236b3bed..c0763ec59 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js @@ -140,8 +140,8 @@ class Waveform { "Bass": [[1,1], [3, 0.78], [4, 0.22]], "Cello": [[1,1], [2, 0.47], [3, 0.24], [4, 0.15]], //DONE "Saxophone": [[1,1], [2, 0.38], [3, 0.14], [4, 0.02]], //DONE - "Clarinet": [[1,0.57], [2, 0.87], [3, 0.23]], //DONE - "Synth":[[1,1]] //DONE + "Clarinet": [[1,0.57], [2, 0.87], [3, 0.23], [4, 0]], //DONE + "Synth":[[1,1], [2, 0], [3, 0], [4, 0]] //DONE } freqToName = { From 4b2ba6a34b7249b13b9fa19942480dedcbba128c Mon Sep 17 00:00:00 2001 From: nada Date: Fri, 12 Nov 2021 18:51:35 -0800 Subject: [PATCH 040/149] magenta notes working again --- .../scratch3_musiccreation/index.js | 16 +---- .../musicaccompanimenthelpers.js | 71 +++++++++++-------- 2 files changed, 44 insertions(+), 43 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 405e01819..71edb5985 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -251,15 +251,6 @@ class Scratch3MusicCreation { }), blockType: BlockType.REPORTER }, - { - opcode: 'testMagentaPlayer', - text: formatMessage({ - id: 'musiccreation.testMagentaPlayer', - default: 'play music with Magenta player', - description: 'test Magenta' - }), - blockType: BlockType.COMMAND - }, { opcode: 'testMagentaRNN', text: formatMessage({ @@ -464,12 +455,9 @@ class Scratch3MusicCreation { this.musicCreationHelper._setInstrument(args.INSTRUMENT, util, false); } - testMagentaPlayer (util) { - this.musicAccompanimentHelper.testMagentaPlayer(this.noteList, util); - } - testMagentaRNN (args, utils) { - this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); + notes = this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); + log.log("NOTES", notes); this.noteList = []; } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js index 9f6e6def9..f2f360628 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js @@ -4,6 +4,7 @@ const hrtime = require('browser-hrtime'); const mvae = require('@magenta/music/node/music_vae'); const core = require('@magenta/music/node/core'); const rnn = require('@magenta/music/node/music_rnn'); +const regeneratorRuntime = require("regenerator-runtime"); const symbols = require('./symbols'); const { time } = require('format-message'); @@ -45,6 +46,15 @@ class MusicAccompanimentHelpers { }; this.noteList = []; + player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); + rnnPlayer = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); + vaePlayer = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); + + music_rnn = new rnn.MusicRNN('https://storage.googleapis.com/magentadata/js/checkpoints/music_rnn/basic_rnn'); + music_rnn.initialize(); + + music_vae = new mvae.MusicVAE('https://storage.googleapis.com/magentadata/js/checkpoints/music_vae/mel_4bar_small_q2'); + music_vae.initialize(); } @@ -65,49 +75,52 @@ class MusicAccompanimentHelpers { return newNotes; } - testMagentaPlayer (noteList, util) { - log.log("MAGENTA"); - notes = this.configure(noteList); - const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); - player.start(notes); - player.stop(); + processed(notes) { + newNoteList = []; + for (var i in notes) { + note = notes[i]; + newNoteList.push(note.pitch); + } + return newNoteList; } - testMagentaRNN (noteList, args, utils) { - const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); - if (player.isPlaying()) { - player.stop(); + async testMagentaRNN (noteList, args, utils) { + if (rnnPlayer.isPlaying()) { + rnnPlayer.stop(); return; } - log.log("player done"); notes = this.configure(noteList); - music_rnn = new rnn.MusicRNN('https://storage.googleapis.com/magentadata/js/checkpoints/music_rnn/basic_rnn'); - music_rnn.initialize(); + rnn_steps = Cast.toNumber(args.STEPS); rnn_temperature = Cast.toNumber(args.TEMP); + // The model expects a quantized sequence, and ours was unquantized: const qns = core.sequences.quantizeNoteSequence(notes, 4); - music_rnn + var newNotes = []; + await music_rnn .continueSequence(qns, rnn_steps, rnn_temperature) - .then((sample) => player.start(sample)); - log.log(sample); - log.log(TWINKLE_TWINKLE); + .then((sample) => { + newNotes.push(sample); + rnnPlayer.start(sample)}); + var magentaNotes = newNotes[0].notes; + return this.processed(magentaNotes); + } - testMagentaMVAE (utils) { - const player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); - if (player.isPlaying()) { - player.stop(); + async testMagentaMVAE (utils) { + if (vaePlayer.isPlaying()) { + vaePlayer.stop(); return; } - music_vae = new mvae.MusicVAE('https://storage.googleapis.com/magentadata/js/checkpoints/music_vae/mel_4bar_small_q2'); - music_vae.initialize(); - vae_temperature = 1.5; - - music_vae - .sample(1, vae_temperature) - .then((sample) => player.start(sample[0])); - log.log(TWINKLE_TWINKLE); + var vae_temperature = 1.5; + var samples = []; + await music_vae.sample(1, vae_temperature) + .then((sample) => { + samples.push(sample); + vaePlayer.start(sample[0])}); + var magentaNotes = samples[0][0].notes; + log.log(samples[0][0].notes); + return this.processed(magentaNotes); } } From 30b0dcb025c4227fca25a6752e86030171adea9c Mon Sep 17 00:00:00 2001 From: nada Date: Sun, 14 Nov 2021 22:03:17 -0800 Subject: [PATCH 041/149] Magenta works in viz --- .../scratch3_musiccreation/index.js | 27 ++++++++++--------- .../musicaccompanimenthelpers.js | 21 +++++++++++---- .../scratch3_musiccreation/sheetmusic.js | 2 ++ .../scratch3_musiccreation/vizhelpers.js | 1 + 4 files changed, 34 insertions(+), 17 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 71edb5985..957d1e0b3 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -11,6 +11,7 @@ const MusicAccompanimentHelpers = require('./musicaccompanimenthelpers'); const AnalysisHelpers = require('./analysishelpers'); const MusicPlayers = require('./musicplayer') const textRender = require('./textrender'); +const regeneratorRuntime = require("regenerator-runtime"); @@ -27,6 +28,7 @@ class Scratch3MusicCreation { this.noteList = []; this.wavenoteList = []; + this.magentaNoteList = []; this.volumes = [{text: "pianissimo", value: 15}, {text: "piano", value: 30}, @@ -419,30 +421,33 @@ class Scratch3MusicCreation { } setText (args, util) { - log.log("SET TEXT"); this.textRenderer.say(args.TEXT, args, util); } resetMusic (args, util) { this.noteList = []; this.wavenoteList = []; + this.magentaNoteList = []; } testWaveformViz (args, util) { - log.log("WAVE"); - this.vizHelper.testWaveformViz(this.wavenoteList, args, util); + this.totalNoteList = this.noteList.concat(this.magentaNoteList); + this.vizHelper.testWaveformViz(this.totalNoteList, args, util); } testSheetMusicViz (args, util) { - this.vizHelper.testSheetMusicViz(this.noteList, args, util); + this.totalNoteList = this.noteList.concat(this.magentaNoteList); + this.vizHelper.testSheetMusicViz(this.totalNoteList, args, util); } testFreqViz (args, util) { - this.vizHelper.testFreqViz(this.noteList, args, util); + this.totalNoteList = this.noteList.concat(this.magentaNoteList); + this.vizHelper.testFreqViz(this.totalNoteList, args, util); } testSpectViz (args, util) { - this.vizHelper.testSpectViz(this.noteList, args, util); + this.totalNoteList = this.noteList.concat(this.magentaNoteList); + this.vizHelper.testSpectViz(this.totalNoteList, args, util); } /** @@ -455,14 +460,12 @@ class Scratch3MusicCreation { this.musicCreationHelper._setInstrument(args.INSTRUMENT, util, false); } - testMagentaRNN (args, utils) { - notes = this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); - log.log("NOTES", notes); - this.noteList = []; + async testMagentaRNN (args, utils) { + this.magentaNoteList = await this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); } - testMagentaMVAE (utils) { - this.musicAccompanimentHelper.testMagentaMVAE(utils); + async testMagentaMVAE (utils) { + this.magentaNoteList = await this.musicAccompanimentHelper.testMagentaMVAE(utils); } getInstrument (util) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js index f2f360628..242282e16 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js @@ -79,7 +79,7 @@ class MusicAccompanimentHelpers { newNoteList = []; for (var i in notes) { note = notes[i]; - newNoteList.push(note.pitch); + newNoteList.push([note.pitch, (note.quantizedEndStep-note.quantizedStartStep)/4, "Piano", 60]); } return newNoteList; } @@ -102,6 +102,13 @@ class MusicAccompanimentHelpers { .then((sample) => { newNotes.push(sample); rnnPlayer.start(sample)}); + const magentaN = async () => { + const a = await newNotes; + magentaNotes = this.processed(a[0].notes); + return magentaNotes; + }; + magentaNotes = await magentaN(); + return magentaNotes; var magentaNotes = newNotes[0].notes; return this.processed(magentaNotes); @@ -112,15 +119,19 @@ class MusicAccompanimentHelpers { vaePlayer.stop(); return; } - var vae_temperature = 1.5; + var vae_temperature = 3; var samples = []; await music_vae.sample(1, vae_temperature) .then((sample) => { samples.push(sample); vaePlayer.start(sample[0])}); - var magentaNotes = samples[0][0].notes; - log.log(samples[0][0].notes); - return this.processed(magentaNotes); + const magentaN = async () => { + const a = await samples; + magentaNotes = this.processed(a[0][0].notes); + return magentaNotes; + }; + magentaNotes = await magentaN(); + return magentaNotes; } } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 8e1f77896..79f0dbc60 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -343,6 +343,7 @@ class SheetMusic { testSheetMusicViz (noteList, args, util) { this.setPenColorToColor(this.black, util); this.noteList = noteList; + log.log("SHEET MUSIC", this.noteList); this.clear(); this.drawStaff(args, util); this.labelStaff(args, util); @@ -553,6 +554,7 @@ class SheetMusic { var pastVol = 0; var beats = 0; for (i in signal) { + log.log(signal[i]); note = signal[i][0]; duration = signal[i][1]; volume = signal[i][2]; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index dac0bde73..4b1a787a2 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -194,6 +194,7 @@ class VizHelpers { this.sheetMusicViz.clear(); this.spectrogramViz.clear(); this.waveformViz.clear(); + log.log("VIZ", noteList); this.sheetMusicViz.testSheetMusicViz(noteList, args, util); } From f7a65ce68b0bf3db305bfc70e1468b64d9ddf938 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 16 May 2022 19:07:17 -0400 Subject: [PATCH 042/149] added display dropdown --- .../scratch3_musiccreation/index.js | 42 ++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 957d1e0b3..cdb5a01ff 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -12,6 +12,7 @@ const AnalysisHelpers = require('./analysishelpers'); const MusicPlayers = require('./musicplayer') const textRender = require('./textrender'); const regeneratorRuntime = require("regenerator-runtime"); +const { u } = require('./letters'); @@ -50,6 +51,11 @@ class Scratch3MusicCreation { {text: "mystery 4", value: 4}, {text: "mystery 5", value: 5}, {text: "mystery 6", value: 6}]; + + this.displayOptions = [{text: "sheet music", value: 1}, + {text: "waveform", value: 2}, + {text: "frequencies", value: 3}, + {text: "frequencies over time", value: 4}]; this.textRenderer = new textRender(runtime); @@ -58,7 +64,6 @@ class Scratch3MusicCreation { this._onTargetCreated = this._onTargetCreated.bind(this); this.runtime.on('targetWasCreated', this._onTargetCreated); - } @@ -317,6 +322,18 @@ class Scratch3MusicCreation { }), blockType: BlockType.COMMAND }, + { + opcode: 'visualize', + blockType: BlockType.COMMAND, + text: 'display [FORMAT]', + arguments: { + FORMAT: { + type: ArgumentType.NUMBER, + defaultValue: 1, + menu: "FORMAT" + } + } + }, { opcode: 'playMystery', blockType: BlockType.COMMAND, @@ -415,7 +432,12 @@ class Scratch3MusicCreation { BEATS: { acceptReporters: true, items: this.beats + }, + FORMAT: { + acceptReporters: true, + items: this.displayOptions } + } }; } @@ -449,6 +471,24 @@ class Scratch3MusicCreation { this.totalNoteList = this.noteList.concat(this.magentaNoteList); this.vizHelper.testSpectViz(this.totalNoteList, args, util); } + + visualize (args, util) { + var disp_type = Cast.toNumber(args.FORMAT); + switch (disp_type) { + case 2: + this.testWaveformViz(args,util) + break; + case 3: + this.testFreqViz(args,util) + break; + case 4: + this.testSpectViz(args,util) + break; + default: + this.testSheetMusicViz(args,util) + break; + } + } /** * Select an instrument for playing notes. From 7e070acee294df219a4036926d1b25ea56778d1a Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Tue, 17 May 2022 10:23:05 -0400 Subject: [PATCH 043/149] add dropdown display menu --- .../scratch-vm/src/extensions/scratch3_musiccreation/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index cdb5a01ff..895e66225 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -577,4 +577,6 @@ class Scratch3MusicCreation { } -module.exports = Scratch3MusicCreation; \ No newline at end of file +module.exports = Scratch3MusicCreation; + + From 3c20e1ad8dcd3a4e318ebbf556b5607e745392a3 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Thu, 19 May 2022 16:58:01 -0400 Subject: [PATCH 044/149] plays first note of 'complete music' --- .../scratch3_musiccreation/index.js | 35 ++++++++++++++++--- .../musicaccompanimenthelpers.js | 4 ++- .../musiccreationhelpers.js | 3 +- 3 files changed, 36 insertions(+), 6 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 895e66225..9d7c6eb92 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -52,9 +52,9 @@ class Scratch3MusicCreation { {text: "mystery 5", value: 5}, {text: "mystery 6", value: 6}]; - this.displayOptions = [{text: "sheet music", value: 1}, - {text: "waveform", value: 2}, - {text: "frequencies", value: 3}, + this.displayOptions = [{text: "sheet music", value: '1'}, + {text: "waveform", value: '2'}, + {text: "frequencies", value: '3'}, {text: "frequencies over time", value: 4}]; this.textRenderer = new textRender(runtime); @@ -500,8 +500,33 @@ class Scratch3MusicCreation { this.musicCreationHelper._setInstrument(args.INSTRUMENT, util, false); } + rawNoteToNoteArg (raw_note) { + if (raw_note.length < 2) { + console.log('shit'); + return; + } + var note_num = String(raw_note[0]); + var secs = String(raw_note[1]); + return {mutation: undefined, NOTE: note_num, SECS: secs}; + } + async testMagentaRNN (args, utils) { - this.magentaNoteList = await this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); + console.log('args testMRNN', args); + console.log('util testMRNN', utils); + var magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); + console.log('inst',this.getInstrument()); + var inst = this.getInstrument(); + var l = magenta_notes.length; + console.log('l',l); + for (var i = 0; i < l; i++) { + magenta_notes[i][2] = inst; + console.log(i, magenta_notes[i]); + var new_args = this.rawNoteToNoteArg(magenta_notes[i]); + // this.playNote(new_args,utils); + console.log('about to play note...') + this.musicCreationHelper.playNote(new_args, utils); + } + this.magentaNoteList = magenta_notes; } async testMagentaMVAE (utils) { @@ -537,6 +562,8 @@ class Scratch3MusicCreation { } playNote (args, util) { + //console.log('playNote args',args); + //console.log('playNote util',util); toAdd = this.musicCreationHelper.playNote(args, util); if (toAdd.length == 3) { this.noteList.push(toAdd); diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js index 242282e16..cc9396374 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js @@ -101,13 +101,15 @@ class MusicAccompanimentHelpers { .continueSequence(qns, rnn_steps, rnn_temperature) .then((sample) => { newNotes.push(sample); - rnnPlayer.start(sample)}); + /*rnnPlayer.start(sample)*/}); const magentaN = async () => { const a = await newNotes; magentaNotes = this.processed(a[0].notes); return magentaNotes; }; + console.log('newNotes',newNotes); magentaNotes = await magentaN(); + console.log('magenta notes', magentaNotes); return magentaNotes; var magentaNotes = newNotes[0].notes; return this.processed(magentaNotes); diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 763a99252..b4732a0ac 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -366,7 +366,7 @@ class MusicCreationHelpers { if (beats === 0) return; const durationSec = beats; - + console.log('really about to play now!') this._playNote(util, note, durationSec); this._startStackTimer(util, durationSec); @@ -375,6 +375,7 @@ class MusicCreationHelpers { const instrumentInfo = this.INSTRUMENT_INFO[inst] return [note, beats, instrumentInfo.name]; } else { + console.log('else yo..'); this._checkStackTimer(util); return []; } From 475d0f586bcb807d552d71572f9f508583967568 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Tue, 24 May 2022 10:49:23 -0400 Subject: [PATCH 045/149] internalize sound playing for 'complete music..' --- .../scratch3_musiccreation/index.js | 66 ++++-- .../musicaccompanimenthelpers.js | 14 +- .../musiccreationhelpers.js | 201 +++++++++++++++++- 3 files changed, 241 insertions(+), 40 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 9d7c6eb92..5b0515cee 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -500,37 +500,59 @@ class Scratch3MusicCreation { this.musicCreationHelper._setInstrument(args.INSTRUMENT, util, false); } + /** + * + * @param {array} raw_note - magenta note [freq,duration,inst,?] + * @returns information about the note as an object, in a form + * consumable by this.musicCreationHelper + */ rawNoteToNoteArg (raw_note) { - if (raw_note.length < 2) { - console.log('shit'); - return; - } + if (raw_note.length < 2) return; var note_num = String(raw_note[0]); var secs = String(raw_note[1]); return {mutation: undefined, NOTE: note_num, SECS: secs}; } - async testMagentaRNN (args, utils) { - console.log('args testMRNN', args); - console.log('util testMRNN', utils); - var magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); - console.log('inst',this.getInstrument()); + /** + * Prepares the magenta notes to be played + * @param {Array[]} magenta_notes + * @returns an object with 'notes' and 'args' fields + */ + _prepare (magenta_notes) { var inst = this.getInstrument(); - var l = magenta_notes.length; - console.log('l',l); - for (var i = 0; i < l; i++) { - magenta_notes[i][2] = inst; - console.log(i, magenta_notes[i]); - var new_args = this.rawNoteToNoteArg(magenta_notes[i]); - // this.playNote(new_args,utils); - console.log('about to play note...') - this.musicCreationHelper.playNote(new_args, utils); - } - this.magentaNoteList = magenta_notes; + magenta_notes.forEach(x => { + x[2] = inst; + }); + var args = magenta_notes.map(x => { + return this.rawNoteToNoteArg(x); + }); + return {notes: magenta_notes, args: args}; + } + + /** + * Generates and plays a sequence of notes based off of the notes + * that have recently been player and the current instrument + * @param {array} args - array of magenta notes [freq,duration,inst,?] + * @param utils + */ + async testMagentaRNN (args, utils) { + console.log(utils); + let magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); + const prepared_notes = this._prepare(magenta_notes); + this.magentaNoteList = prepared_notes['notes']; + this.musicCreationHelper.playNotes(prepared_notes['args'],utils); } async testMagentaMVAE (utils) { - this.magentaNoteList = await this.musicAccompanimentHelper.testMagentaMVAE(utils); + // console.log(utils.stackFrame); + if (!utils.stackFrame) { + utils.stackFrame = {} + } + let magenta_notes = await this.musicAccompanimentHelper.testMagentaMVAE(utils); + const prepared_notes = this._prepare(magenta_notes); + this.magentaNoteList = prepared_notes['notes']; + console.log(utils); + this.musicCreationHelper.playNotes(prepared_notes['args'],utils); } getInstrument (util) { @@ -562,8 +584,6 @@ class Scratch3MusicCreation { } playNote (args, util) { - //console.log('playNote args',args); - //console.log('playNote util',util); toAdd = this.musicCreationHelper.playNote(args, util); if (toAdd.length == 3) { this.noteList.push(toAdd); diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js index cc9396374..feae1aa9f 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js @@ -47,7 +47,6 @@ class MusicAccompanimentHelpers { this.noteList = []; player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); - rnnPlayer = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); vaePlayer = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); music_rnn = new rnn.MusicRNN('https://storage.googleapis.com/magentadata/js/checkpoints/music_rnn/basic_rnn'); @@ -85,10 +84,6 @@ class MusicAccompanimentHelpers { } async testMagentaRNN (noteList, args, utils) { - if (rnnPlayer.isPlaying()) { - rnnPlayer.stop(); - return; - } notes = this.configure(noteList); rnn_steps = Cast.toNumber(args.STEPS); @@ -101,19 +96,14 @@ class MusicAccompanimentHelpers { .continueSequence(qns, rnn_steps, rnn_temperature) .then((sample) => { newNotes.push(sample); - /*rnnPlayer.start(sample)*/}); + }); const magentaN = async () => { const a = await newNotes; magentaNotes = this.processed(a[0].notes); return magentaNotes; }; - console.log('newNotes',newNotes); magentaNotes = await magentaN(); - console.log('magenta notes', magentaNotes); return magentaNotes; - var magentaNotes = newNotes[0].notes; - return this.processed(magentaNotes); - } async testMagentaMVAE (utils) { @@ -126,7 +116,7 @@ class MusicAccompanimentHelpers { await music_vae.sample(1, vae_temperature) .then((sample) => { samples.push(sample); - vaePlayer.start(sample[0])}); + /*vaePlayer.start(sample[0])*/}); const magentaN = async () => { const a = await samples; magentaNotes = this.processed(a[0][0].notes); diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index b4732a0ac..166b7f40d 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -4,6 +4,8 @@ const formatMessage = require('format-message'); const MathUtil = require('../../util/math-util'); const Timer = require('../../util/timer'); const log = require('../../util/log'); +const { clamp } = require('../../util/math-util'); +const { p } = require('./letters'); /** * The instrument and drum sounds, loaded as static assets. @@ -354,6 +356,198 @@ class MusicCreationHelpers { return "mezzo-forte"; } + /** + * + * @param {object} noteInfo - contains 'NOTE' and 'SECS' fields + * @param {*} index - the index of this note in + * the sequence of notes to be played + * @returns an object with 'note', 'duration', and 'index' fields + * @private + */ + _clamp(noteInfo, index) { + let note = Cast.toNumber(noteInfo.NOTE); + note = MathUtil.clamp(note, + MusicCreationHelpers.MIDI_NOTE_RANGE.min, MusicCreationHelpers.MIDI_NOTE_RANGE.max); + let beats = Cast.toNumber(noteInfo.SECS); + beats = this._clampBeats(beats); + return {note: note,duration: beats, index: index}; + } + + /** + * Creates a SoundPlayer for the given note and returns it, + * along with an object that contains data about the note + * (including @param dur) + * @param util + * @param {number} note + * @param {flot} dur - duration in secs + * @returns an object with 'player' and 'data' fields, or null on error + */ + createPlayer (util, note, dur) { + // Determine which of the audio samples for this instrument to play + const musicState = this._getMusicState(util.target); + const inst = musicState.currentInstrument; + const instrumentInfo = this.INSTRUMENT_INFO[inst]; + const sampleArray = instrumentInfo.samples; + const sampleIndex = this._selectSampleIndexForNote(note, sampleArray); + // If the audio sample has not loaded yet, bail out + if (typeof this._instrumentPlayerArrays[inst] === 'undefined' || + typeof this._instrumentPlayerArrays[inst][sampleIndex] === 'undefined') { + console.log('uninitialized instruments'); + return null; + } + + if (!this._instrumentPlayerNoteArrays[inst][note]) { + this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); + } + + const player = this._instrumentPlayerNoteArrays[inst][note]; + + if (player.isPlaying && !player.isStarting) { + // Take the internal player state and create a new player with it. + player.take(); + } + return {player:player, + data: + {instInfo: instrumentInfo, + sampleArray: sampleArray, + sampleIndex: sampleIndex, + note: note, + duration: dur}}; + } + + /** + * + * @param {object} noteInfo - element of @param seq containing + * 'note', 'index', and 'beats' fields. + * @param {Array[]} seq - array of objects containing information about a note and its duration + * @param {object} util + * @param {number} l - length of @param seq + * @private + */ + _playNoteFromSeq (noteInfo, seq, util,l) { + const i = noteInfo['index']; + if (i === l-1 || this._concurrencyCounter > this.CONCURRENCY_LIMIT) return; + const playerAndData = this.createPlayer(util,noteInfo['note'],noteInfo['duration']); + const player = playerAndData['player']; + player.once('stop', () => { + this._concurrencyCounter--; + console.log(`stopped note ${i+1}`); + this._playNoteFromSeq(seq[i+1],seq,util,l); + }); + console.log(`playing note ${i+1}`); + this.activatePlayer(util,playerAndData); + } + + /** + * Plays the first note of the given @param seq + * @param {object} util + * @param {Array[]} seq + */ + playFirstNote (util, seq) { + const l = seq.length + if (l === 0) return; + this._playNoteFromSeq(seq[0],seq,util,l); + } + + /** + * Plays the sequence of notes given by @param args + * @param {array} args - args[i] has 'mutation', 'NOTE', and 'SECS' fields + * @param util + */ + playNotes (args, util) { + if (this._stackTimerNeedsInit(util)) { + const l = args.length; + let seq = []; + for (let i = 0; i < l; i++) { + const noteArg = args[i]; + seq.push(this._clamp(noteArg,i)); + } + + let durations = seq.map(x => x['duration']); + let duration = durations.reduce( (a,b) => a+b, 0); + if (duration === 0 || l === 0) return; + + //begins the chain of events that plays the seq of notes + this.playFirstNote(util, seq); + this._startStackTimer(util, 10); + return []; + } else { + this._checkStackTimer(util); + return []; + } + } + + //note, sampleIndex, util, engine and player, sampleArray //idx is temporary param + /** + * Activates the player in @param playerAndData to play its + * note, using the data in @param playerAndData to determine + * the instrument and duration + * @param {*} util + * @param {*} playerAndData + * @returns + */ + activatePlayer (util, playerAndData) { + // If we're playing too many sounds, do not play the note. + if (this._concurrencyCounter > MusicCreationHelpers.CONCURRENCY_LIMIT) { + console.log('concurrency limit reached'); + return; + } + + if (!playerAndData) { + console.log('null data'); + return; + } + + //get note and instrument data + let player = playerAndData['player']; + let data = playerAndData['data']; + let sampleArray = data['sampleArray']; + let sampleIndex = data['sampleIndex']; + let instInfo = data['instInfo']; + let note = data['note']; + let durationSec = data['duration']; + // Set its pitch. + const sampleNote = sampleArray[sampleIndex]; + const notePitchInterval = this._ratioForPitchInterval(note - sampleNote); + + // Fetch the sound player to play the note. + const engine = util.runtime.audioEngine; + + // Create gain nodes for this note's volume and release, and chain them + // to the output. + const context = engine.audioContext; + const volumeGain = context.createGain(); + volumeGain.gain.setValueAtTime(util.target.volume / 100, engine.currentTime); + const releaseGain = context.createGain(); + volumeGain.connect(releaseGain); + releaseGain.connect(engine.getInputNode()); + + // Schedule the release of the note, ramping its gain down to zero, + // and then stopping the sound. + let releaseDuration = instInfo.releaseTime; + if (typeof releaseDuration === 'undefined') { + releaseDuration = 0.01; + } + const releaseStart = context.currentTime + durationSec; + const releaseEnd = releaseStart + releaseDuration; + console.log('duration',releaseEnd - context.currentTime,'currTime', context.currentTime, 'releaseStart', releaseStart, 'releaseEnd', releaseEnd); + releaseGain.gain.setValueAtTime(1, releaseStart); + releaseGain.gain.linearRampToValueAtTime(0.0001, releaseEnd); + + this._concurrencyCounter++; + + // Start playing the note + player.play(); + // Connect the player to the gain node. + player.connect({getInputNode () { + return volumeGain; + }}); + // Set playback now after play creates the outputNode. + player.outputNode.playbackRate.value = notePitchInterval; + // Schedule playback to stop. + player.outputNode.stop(releaseEnd); + } + playNote (args, util) { if (this._stackTimerNeedsInit(util)) { let note = Cast.toNumber(args.NOTE); @@ -366,7 +560,6 @@ class MusicCreationHelpers { if (beats === 0) return; const durationSec = beats; - console.log('really about to play now!') this._playNote(util, note, durationSec); this._startStackTimer(util, durationSec); @@ -375,11 +568,9 @@ class MusicCreationHelpers { const instrumentInfo = this.INSTRUMENT_INFO[inst] return [note, beats, instrumentInfo.name]; } else { - console.log('else yo..'); this._checkStackTimer(util); return []; } - } /** @@ -406,7 +597,6 @@ class MusicCreationHelpers { const instrumentInfo = this.INSTRUMENT_INFO[inst]; const sampleArray = instrumentInfo.samples; const sampleIndex = this._selectSampleIndexForNote(note, sampleArray); - // If the audio sample has not loaded yet, bail out if (typeof this._instrumentPlayerArrays[inst] === 'undefined') return; if (typeof this._instrumentPlayerArrays[inst][sampleIndex] === 'undefined') return; @@ -427,6 +617,7 @@ class MusicCreationHelpers { player.take(); } + // Set its pitch. const sampleNote = sampleArray[sampleIndex]; const notePitchInterval = this._ratioForPitchInterval(note - sampleNote); @@ -539,7 +730,7 @@ class MusicCreationHelpers { * @return {number} - the clamped duration. * @private */ - _clampBeats (beats) { + _clampBeats (beats) { return MathUtil.clamp(beats, MusicCreationHelpers.BEAT_RANGE.min, MusicCreationHelpers.BEAT_RANGE.max); } From 3dcc8e25ed24ee38582484c07e5d907c9707ce6c Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Tue, 24 May 2022 12:33:36 -0400 Subject: [PATCH 046/149] fix: can't affect curr notes with switch instrument while executing 'complete music' block --- .../extensions/scratch3_musiccreation/index.js | 5 ++++- .../musiccreationhelpers.js | 18 ++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 5b0515cee..514cfe7c8 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -537,10 +537,13 @@ class Scratch3MusicCreation { */ async testMagentaRNN (args, utils) { console.log(utils); + const musicState = this.musicCreationHelper._getMusicState(utils.target); + const inst = musicState.currentInstrument; + console.log('inst', inst); let magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); const prepared_notes = this._prepare(magenta_notes); this.magentaNoteList = prepared_notes['notes']; - this.musicCreationHelper.playNotes(prepared_notes['args'],utils); + this.musicCreationHelper.playNotes(prepared_notes['args'],utils,inst); } async testMagentaMVAE (utils) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 166b7f40d..631ec18a6 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -382,10 +382,8 @@ class MusicCreationHelpers { * @param {flot} dur - duration in secs * @returns an object with 'player' and 'data' fields, or null on error */ - createPlayer (util, note, dur) { + createPlayer (util, note, dur, inst) { // Determine which of the audio samples for this instrument to play - const musicState = this._getMusicState(util.target); - const inst = musicState.currentInstrument; const instrumentInfo = this.INSTRUMENT_INFO[inst]; const sampleArray = instrumentInfo.samples; const sampleIndex = this._selectSampleIndexForNote(note, sampleArray); @@ -424,15 +422,15 @@ class MusicCreationHelpers { * @param {number} l - length of @param seq * @private */ - _playNoteFromSeq (noteInfo, seq, util,l) { + _playNoteFromSeq (noteInfo, seq, util,l, inst) { const i = noteInfo['index']; if (i === l-1 || this._concurrencyCounter > this.CONCURRENCY_LIMIT) return; - const playerAndData = this.createPlayer(util,noteInfo['note'],noteInfo['duration']); + const playerAndData = this.createPlayer(util,noteInfo['note'],noteInfo['duration'], inst); const player = playerAndData['player']; player.once('stop', () => { this._concurrencyCounter--; console.log(`stopped note ${i+1}`); - this._playNoteFromSeq(seq[i+1],seq,util,l); + this._playNoteFromSeq(seq[i+1],seq,util,l,inst); }); console.log(`playing note ${i+1}`); this.activatePlayer(util,playerAndData); @@ -443,10 +441,10 @@ class MusicCreationHelpers { * @param {object} util * @param {Array[]} seq */ - playFirstNote (util, seq) { + playFirstNote (util, seq, inst) { const l = seq.length if (l === 0) return; - this._playNoteFromSeq(seq[0],seq,util,l); + this._playNoteFromSeq(seq[0],seq,util,l, inst); } /** @@ -454,7 +452,7 @@ class MusicCreationHelpers { * @param {array} args - args[i] has 'mutation', 'NOTE', and 'SECS' fields * @param util */ - playNotes (args, util) { + playNotes (args, util, inst) { if (this._stackTimerNeedsInit(util)) { const l = args.length; let seq = []; @@ -468,7 +466,7 @@ class MusicCreationHelpers { if (duration === 0 || l === 0) return; //begins the chain of events that plays the seq of notes - this.playFirstNote(util, seq); + this.playFirstNote(util, seq, inst); this._startStackTimer(util, 10); return []; } else { From ce4a5705bc6f935cb406a3f3199ff2ff46b878be Mon Sep 17 00:00:00 2001 From: p-buddy Date: Wed, 25 May 2022 11:29:05 -0400 Subject: [PATCH 047/149] initial commit --- .../scratch3_musiccreation/index.js | 169 +++++++++++------- 1 file changed, 100 insertions(+), 69 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 514cfe7c8..dfba389a4 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -3,6 +3,7 @@ const BlockType = require('../../extension-support/block-type'); const Clone = require('../../util/clone'); const Cast = require('../../util/cast'); const formatMessage = require('format-message'); +const BlockUtility = require('../../engine/block-utility'); const log = require('../../util/log'); const VizHelpers = require('./vizhelpers'); @@ -17,7 +18,7 @@ const { u } = require('./letters'); class Scratch3MusicCreation { - constructor (runtime) { + constructor(runtime) { this.runtime = runtime; this.musicPlayer = new MusicPlayers(runtime); @@ -30,32 +31,32 @@ class Scratch3MusicCreation { this.noteList = []; this.wavenoteList = []; this.magentaNoteList = []; - - this.volumes = [{text: "pianissimo", value: 15}, - {text: "piano", value: 30}, - {text: "mezzo-piano", value: 45}, - {text: "mezzo-forte", value: 60}, - {text: "forte", value: 85}, - {text: "fortissimo", value: 100}]; - - this.beats = [{text: "1/4", value: 0.0625}, - {text: "1/2", value: 0.125}, - {text: "1", value: 0.25}, - {text: "2", value: 0.5}, - {text: "3", value: 0.75}, - {text: "4", value: 1}]; - - this.files = [{text: "mystery 1", value: 1}, - {text: "mystery 2", value: 2}, - {text: "mystery 3", value: 3}, - {text: "mystery 4", value: 4}, - {text: "mystery 5", value: 5}, - {text: "mystery 6", value: 6}]; - - this.displayOptions = [{text: "sheet music", value: '1'}, - {text: "waveform", value: '2'}, - {text: "frequencies", value: '3'}, - {text: "frequencies over time", value: 4}]; + + this.volumes = [{ text: "pianissimo", value: 15 }, + { text: "piano", value: 30 }, + { text: "mezzo-piano", value: 45 }, + { text: "mezzo-forte", value: 60 }, + { text: "forte", value: 85 }, + { text: "fortissimo", value: 100 }]; + + this.beats = [{ text: "1/4", value: 0.0625 }, + { text: "1/2", value: 0.125 }, + { text: "1", value: 0.25 }, + { text: "2", value: 0.5 }, + { text: "3", value: 0.75 }, + { text: "4", value: 1 }]; + + this.files = [{ text: "mystery 1", value: 1 }, + { text: "mystery 2", value: 2 }, + { text: "mystery 3", value: 3 }, + { text: "mystery 4", value: 4 }, + { text: "mystery 5", value: 5 }, + { text: "mystery 6", value: 6 }]; + + this.displayOptions = [{ text: "sheet music", value: '1' }, + { text: "waveform", value: '2' }, + { text: "frequencies", value: '3' }, + { text: "frequencies over time", value: 4 }]; this.textRenderer = new textRender(runtime); @@ -71,7 +72,7 @@ class Scratch3MusicCreation { * The key to load & store a target's music-related state. * @type {string} */ - static get STATE_KEY () { + static get STATE_KEY() { return 'Scratch.musiccreation'; } @@ -82,7 +83,7 @@ class Scratch3MusicCreation { * @listens Runtime#event:targetWasCreated * @private */ - _onTargetCreated (newTarget, sourceTarget) { + _onTargetCreated(newTarget, sourceTarget) { if (sourceTarget) { const musicState = sourceTarget.getCustomState(Scratch3MusicCreation.STATE_KEY); if (musicState) { @@ -98,7 +99,7 @@ class Scratch3MusicCreation { * @return {array} - An array of objects with text and value properties. * @private */ - _buildMenu (info) { + _buildMenu(info) { return info.map((entry, index) => { const obj = {}; obj.text = entry.name; @@ -117,7 +118,7 @@ class Scratch3MusicCreation { * @param {number[]} samples - an array of numbers representing the MIDI note number for each * sampled sound used to play this instrument. */ - get INSTRUMENT_INFO () { + get INSTRUMENT_INFO() { return [ { name: formatMessage({ @@ -138,7 +139,7 @@ class Scratch3MusicCreation { dirName: '4-guitar', releaseTime: 0.5, samples: [60] - }, { + }, { name: formatMessage({ id: 'music.instrumentBass', default: 'Bass', @@ -190,7 +191,7 @@ class Scratch3MusicCreation { } - getInfo () { + getInfo() { return { id: 'musiccreation', name: 'Music Creation', @@ -437,55 +438,55 @@ class Scratch3MusicCreation { acceptReporters: true, items: this.displayOptions } - + } }; } - setText (args, util) { + setText(args, util) { this.textRenderer.say(args.TEXT, args, util); } - resetMusic (args, util) { + resetMusic(args, util) { this.noteList = []; this.wavenoteList = []; this.magentaNoteList = []; } - testWaveformViz (args, util) { + testWaveformViz(args, util) { this.totalNoteList = this.noteList.concat(this.magentaNoteList); this.vizHelper.testWaveformViz(this.totalNoteList, args, util); } - testSheetMusicViz (args, util) { + testSheetMusicViz(args, util) { this.totalNoteList = this.noteList.concat(this.magentaNoteList); this.vizHelper.testSheetMusicViz(this.totalNoteList, args, util); } - testFreqViz (args, util) { + testFreqViz(args, util) { this.totalNoteList = this.noteList.concat(this.magentaNoteList); this.vizHelper.testFreqViz(this.totalNoteList, args, util); } - testSpectViz (args, util) { + testSpectViz(args, util) { this.totalNoteList = this.noteList.concat(this.magentaNoteList); this.vizHelper.testSpectViz(this.totalNoteList, args, util); } - - visualize (args, util) { + + visualize(args, util) { var disp_type = Cast.toNumber(args.FORMAT); switch (disp_type) { case 2: - this.testWaveformViz(args,util) + this.testWaveformViz(args, util) break; case 3: - this.testFreqViz(args,util) + this.testFreqViz(args, util) break; case 4: - this.testSpectViz(args,util) + this.testSpectViz(args, util) break; default: - this.testSheetMusicViz(args,util) + this.testSheetMusicViz(args, util) break; } } @@ -496,7 +497,7 @@ class Scratch3MusicCreation { * @param {object} util - utility object provided by the runtime. * @property {int} INSTRUMENT - the number of the instrument to select. */ - setInstrument (args, util) { + setInstrument(args, util) { this.musicCreationHelper._setInstrument(args.INSTRUMENT, util, false); } @@ -506,11 +507,11 @@ class Scratch3MusicCreation { * @returns information about the note as an object, in a form * consumable by this.musicCreationHelper */ - rawNoteToNoteArg (raw_note) { + rawNoteToNoteArg(raw_note) { if (raw_note.length < 2) return; var note_num = String(raw_note[0]); var secs = String(raw_note[1]); - return {mutation: undefined, NOTE: note_num, SECS: secs}; + return { mutation: undefined, NOTE: note_num, SECS: secs }; } /** @@ -518,7 +519,7 @@ class Scratch3MusicCreation { * @param {Array[]} magenta_notes * @returns an object with 'notes' and 'args' fields */ - _prepare (magenta_notes) { + _prepare(magenta_notes) { var inst = this.getInstrument(); magenta_notes.forEach(x => { x[2] = inst; @@ -526,27 +527,57 @@ class Scratch3MusicCreation { var args = magenta_notes.map(x => { return this.rawNoteToNoteArg(x); }); - return {notes: magenta_notes, args: args}; + return { notes: magenta_notes, args: args }; + } + + /** + * + * @param {BlockUtility} utils + */ + async setTimerDurationInAsyncFunc(utils) { + await Promise.resolve(); // nice little hack to make this function async, so the below code will run during the next 'event loop' + const timeSec = 2; + utils.stackFrame.duration = timeSec * 1000; } /** * Generates and plays a sequence of notes based off of the notes * that have recently been player and the current instrument * @param {array} args - array of magenta notes [freq,duration,inst,?] - * @param utils + * @param {BlockUtility} utils */ - async testMagentaRNN (args, utils) { - console.log(utils); + testMagentaRNN(args, utils) { const musicState = this.musicCreationHelper._getMusicState(utils.target); const inst = musicState.currentInstrument; - console.log('inst', inst); + if (utils.stackTimerNeedsInit()) { + const largeAmountOfSeconds = 120; + + // get timer runing for a large amount of time (the duration will be 'correctly' set in async func later) + utils.startStackTimer(largeAmountOfSeconds * 1000); + + // yield (important! this must tell scratch that this function is still running) + utils.yield(); + + // confirming that an async function can update the duration of the stack timer + this.setTimerDurationInAsyncFunc(utils); + + // TODO + // Call into function that begins the process of playing all the notes and correctly sets the stack timer duration + // (but shouldn't do anything else with the stack timer) + // NOTE: This function will be called ONLY once + } + else if (!utils.stackTimerFinished()) { + utils.yield(); + } + + /* let magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); const prepared_notes = this._prepare(magenta_notes); this.magentaNoteList = prepared_notes['notes']; - this.musicCreationHelper.playNotes(prepared_notes['args'],utils,inst); + this.musicCreationHelper.playNotes(prepared_notes['args'], utils, inst);*/ } - async testMagentaMVAE (utils) { + async testMagentaMVAE(utils) { // console.log(utils.stackFrame); if (!utils.stackFrame) { utils.stackFrame = {} @@ -555,15 +586,15 @@ class Scratch3MusicCreation { const prepared_notes = this._prepare(magenta_notes); this.magentaNoteList = prepared_notes['notes']; console.log(utils); - this.musicCreationHelper.playNotes(prepared_notes['args'],utils); + this.musicCreationHelper.playNotes(prepared_notes['args'], utils); } - getInstrument (util) { + getInstrument(util) { return this.musicCreationHelper.getInstrument(util); } - _playNoteForPicker (noteNum, category) { + _playNoteForPicker(noteNum, category) { if (category !== this.getInfo().name) return; const util = { runtime: this.runtime, @@ -577,16 +608,16 @@ class Scratch3MusicCreation { * @param {object} args - the block arguments. * @property {number} TEMPO - the tempo, in beats per minute. */ - setVolume (args, util) { + setVolume(args, util) { const volume = Cast.toNumber(args.VOLUME); this.musicCreationHelper._updateVolume(volume, util); } - getVolume (util) { + getVolume(util) { return this.musicCreationHelper.getVolume(util); } - playNote (args, util) { + playNote(args, util) { toAdd = this.musicCreationHelper.playNote(args, util); if (toAdd.length == 3) { this.noteList.push(toAdd); @@ -600,27 +631,27 @@ class Scratch3MusicCreation { } } - playMystery (args, util) { + playMystery(args, util) { this.analysisHelper.playFile(args, util); } - compareFiles (args, util) { + compareFiles(args, util) { this.analysisHelper.compareFiles(args, util); } - getLouder (util) { + getLouder(util) { return this.analysisHelper.getLouder(util); } - getHigher (util) { + getHigher(util) { return this.analysisHelper.getHigher(util); } - getInst1 (util) { + getInst1(util) { return this.analysisHelper.getInst1(util); } - getInst2 (util) { + getInst2(util) { return this.analysisHelper.getInst2(util); } From 9dc37e35ae119d5735e4b3ba95746d8f4eeab2fc Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Wed, 25 May 2022 16:31:23 -0400 Subject: [PATCH 048/149] fix highlighting, modularize, internalize audio playing for 'complete music' and 'generate new music' --- .../scratch3_musiccreation/index.js | 71 ++++++++----------- .../musicaccompanimenthelpers.js | 8 +-- .../musiccreationhelpers.js | 31 ++++---- 3 files changed, 46 insertions(+), 64 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index dfba389a4..633286fcf 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -532,61 +532,50 @@ class Scratch3MusicCreation { /** * - * @param {BlockUtility} utils + * @param {boolean} RNN - true if 'complete music', false if 'generate new music' + * @param {array} args - arguments to be given to the music helper + * @param {BlockUtility} utils + * @param {number} inst - instrument to play on, represented as a number + * @private */ - async setTimerDurationInAsyncFunc(utils) { - await Promise.resolve(); // nice little hack to make this function async, so the below code will run during the next 'event loop' - const timeSec = 2; - utils.stackFrame.duration = timeSec * 1000; + async _getAndPlayMagentaNotes (RNN, args,utils,inst) { + let magenta_notes = null; + if (RNN) { + magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); + } else { + magenta_notes = await this.musicAccompanimentHelper.testMagentaMVAE(utils); + } + const prepared_notes = this._prepare(magenta_notes); + this.magentaNoteList = prepared_notes['notes']; + this.musicCreationHelper.playNotes(prepared_notes['args'], utils, inst); } - /** - * Generates and plays a sequence of notes based off of the notes - * that have recently been player and the current instrument - * @param {array} args - array of magenta notes [freq,duration,inst,?] - * @param {BlockUtility} utils - */ - testMagentaRNN(args, utils) { + getAndPlayMagentaNotes (RNN, args, utils) { const musicState = this.musicCreationHelper._getMusicState(utils.target); const inst = musicState.currentInstrument; if (utils.stackTimerNeedsInit()) { - const largeAmountOfSeconds = 120; - - // get timer runing for a large amount of time (the duration will be 'correctly' set in async func later) - utils.startStackTimer(largeAmountOfSeconds * 1000); - - // yield (important! this must tell scratch that this function is still running) + // get timer running for a large amount of time (will be handled) + utils.startStackTimer(Number.MAX_SAFE_INTEGER); utils.yield(); - - // confirming that an async function can update the duration of the stack timer - this.setTimerDurationInAsyncFunc(utils); - - // TODO - // Call into function that begins the process of playing all the notes and correctly sets the stack timer duration - // (but shouldn't do anything else with the stack timer) - // NOTE: This function will be called ONLY once + this._getAndPlayMagentaNotes(RNN,args,utils,inst); } else if (!utils.stackTimerFinished()) { utils.yield(); } + } - /* - let magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); - const prepared_notes = this._prepare(magenta_notes); - this.magentaNoteList = prepared_notes['notes']; - this.musicCreationHelper.playNotes(prepared_notes['args'], utils, inst);*/ + /** + * Generates and plays a sequence of notes based off of the notes + * that have recently been player and the current instrument + * @param {array} args - array of magenta notes [freq,duration,inst,?] + * @param {BlockUtility} utils + */ + testMagentaRNN(args, utils) { + this.getAndPlayMagentaNotes(true,args,utils); } - async testMagentaMVAE(utils) { - // console.log(utils.stackFrame); - if (!utils.stackFrame) { - utils.stackFrame = {} - } - let magenta_notes = await this.musicAccompanimentHelper.testMagentaMVAE(utils); - const prepared_notes = this._prepare(magenta_notes); - this.magentaNoteList = prepared_notes['notes']; - console.log(utils); - this.musicCreationHelper.playNotes(prepared_notes['args'], utils); + testMagentaMVAE(args, utils) { + this.getAndPlayMagentaNotes(false,args,utils); } getInstrument(util) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js index feae1aa9f..70bcfa4b5 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js @@ -46,8 +46,6 @@ class MusicAccompanimentHelpers { }; this.noteList = []; - player = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); - vaePlayer = new core.SoundFontPlayer('https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus'); music_rnn = new rnn.MusicRNN('https://storage.googleapis.com/magentadata/js/checkpoints/music_rnn/basic_rnn'); music_rnn.initialize(); @@ -107,16 +105,12 @@ class MusicAccompanimentHelpers { } async testMagentaMVAE (utils) { - if (vaePlayer.isPlaying()) { - vaePlayer.stop(); - return; - } var vae_temperature = 3; var samples = []; await music_vae.sample(1, vae_temperature) .then((sample) => { samples.push(sample); - /*vaePlayer.start(sample[0])*/}); + }); const magentaN = async () => { const a = await samples; magentaNotes = this.processed(a[0][0].notes); diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 631ec18a6..a6e8fd806 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -424,13 +424,18 @@ class MusicCreationHelpers { */ _playNoteFromSeq (noteInfo, seq, util,l, inst) { const i = noteInfo['index']; - if (i === l-1 || this._concurrencyCounter > this.CONCURRENCY_LIMIT) return; + const last = i === l-1; + if (this._concurrencyCounter > this.CONCURRENCY_LIMIT) return; const playerAndData = this.createPlayer(util,noteInfo['note'],noteInfo['duration'], inst); const player = playerAndData['player']; player.once('stop', () => { this._concurrencyCounter--; console.log(`stopped note ${i+1}`); - this._playNoteFromSeq(seq[i+1],seq,util,l,inst); + if (last) { + util.stackFrame.duration = 0; + } else { + this._playNoteFromSeq(seq[i+1],seq,util,l,inst); + } }); console.log(`playing note ${i+1}`); this.activatePlayer(util,playerAndData); @@ -453,29 +458,22 @@ class MusicCreationHelpers { * @param util */ playNotes (args, util, inst) { - if (this._stackTimerNeedsInit(util)) { + // if (this._stackTimerNeedsInit(util)) { const l = args.length; let seq = []; for (let i = 0; i < l; i++) { const noteArg = args[i]; seq.push(this._clamp(noteArg,i)); } - - let durations = seq.map(x => x['duration']); - let duration = durations.reduce( (a,b) => a+b, 0); - if (duration === 0 || l === 0) return; - + if (l === 0) return; + //begins the chain of events that plays the seq of notes this.playFirstNote(util, seq, inst); - this._startStackTimer(util, 10); - return []; - } else { - this._checkStackTimer(util); - return []; - } + + //set the duration to MAX. duration is cut off when the last note ends + util.stackFrame.duration = Number.MAX_SAFE_INTEGER; } - //note, sampleIndex, util, engine and player, sampleArray //idx is temporary param /** * Activates the player in @param playerAndData to play its * note, using the data in @param playerAndData to determine @@ -528,7 +526,8 @@ class MusicCreationHelpers { } const releaseStart = context.currentTime + durationSec; const releaseEnd = releaseStart + releaseDuration; - console.log('duration',releaseEnd - context.currentTime,'currTime', context.currentTime, 'releaseStart', releaseStart, 'releaseEnd', releaseEnd); + const z = releaseEnd - context.currentTime; + console.log('duration',z,'currTime', context.currentTime, 'releaseStart', releaseStart, 'releaseEnd', releaseEnd); releaseGain.gain.setValueAtTime(1, releaseStart); releaseGain.gain.linearRampToValueAtTime(0.0001, releaseEnd); From 89a47f45613e327c526366568eebe80fa494c8a9 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Thu, 26 May 2022 13:05:44 -0400 Subject: [PATCH 049/149] fix dropdown dup. bug and remove unnescessary dependency --- .../scratch3_musiccreation/index.js | 52 +++++++++---------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 895e66225..34c6138f4 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -10,10 +10,8 @@ const MusicCreationHelpers = require('./musiccreationhelpers'); const MusicAccompanimentHelpers = require('./musicaccompanimenthelpers'); const AnalysisHelpers = require('./analysishelpers'); const MusicPlayers = require('./musicplayer') -const textRender = require('./textrender'); -const regeneratorRuntime = require("regenerator-runtime"); -const { u } = require('./letters'); - +const textRender = require('./textrender'); +const regeneratorRuntime = require("regenerator-runtime"); //do not delete class Scratch3MusicCreation { @@ -31,31 +29,31 @@ class Scratch3MusicCreation { this.wavenoteList = []; this.magentaNoteList = []; - this.volumes = [{text: "pianissimo", value: 15}, - {text: "piano", value: 30}, - {text: "mezzo-piano", value: 45}, - {text: "mezzo-forte", value: 60}, - {text: "forte", value: 85}, - {text: "fortissimo", value: 100}]; + this.volumes = [{text: "pianissimo", value: '15'}, + {text: "piano", value: '30'}, + {text: "mezzo-piano", value: '45'}, + {text: "mezzo-forte", value: '60'}, + {text: "forte", value: '85'}, + {text: "fortissimo", value: '100'}]; - this.beats = [{text: "1/4", value: 0.0625}, - {text: "1/2", value: 0.125}, - {text: "1", value: 0.25}, - {text: "2", value: 0.5}, - {text: "3", value: 0.75}, - {text: "4", value: 1}]; - - this.files = [{text: "mystery 1", value: 1}, - {text: "mystery 2", value: 2}, - {text: "mystery 3", value: 3}, - {text: "mystery 4", value: 4}, - {text: "mystery 5", value: 5}, - {text: "mystery 6", value: 6}]; + this.beats = [{text: "1/4", value: '0.0625'}, + {text: "1/2", value: '0.125'}, + {text: "1", value: '0.25'}, + {text: "2", value: '0.5'}, + {text: "3", value: '0.75'}, + {text: "4", value: '1'}]; + + this.files = [{text: "mystery 1", value: '1'}, + {text: "mystery 2", value: '2'}, + {text: "mystery 3", value: '3'}, + {text: "mystery 4", value: '4'}, + {text: "mystery 5", value: '5'}, + {text: "mystery 6", value: '6'}]; - this.displayOptions = [{text: "sheet music", value: 1}, - {text: "waveform", value: 2}, - {text: "frequencies", value: 3}, - {text: "frequencies over time", value: 4}]; + this.displayOptions = [{text: "sheet music", value: '1'}, + {text: "waveform", value: '2'}, + {text: "frequencies", value: '3'}, + {text: "frequencies over time", value: '4'}]; this.textRenderer = new textRender(runtime); From 6ce04f12aa0a682e7ad0c0660f54becfe5452137 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Tue, 31 May 2022 11:10:20 -0400 Subject: [PATCH 050/149] further documentation --- .../scratch3_musiccreation/index.js | 18 +++++- .../musiccreationhelpers.js | 57 +++++++++++-------- 2 files changed, 50 insertions(+), 25 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 633286fcf..ec41f064d 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -531,7 +531,8 @@ class Scratch3MusicCreation { } /** - * + * Asynchronous function that gets the created notes from Magenta and initializes + * playing the sequence. * @param {boolean} RNN - true if 'complete music', false if 'generate new music' * @param {array} args - arguments to be given to the music helper * @param {BlockUtility} utils @@ -550,6 +551,13 @@ class Scratch3MusicCreation { this.musicCreationHelper.playNotes(prepared_notes['args'], utils, inst); } + /** + * Used to get the generated sequence of notes from Magenta and + * play it. + * @param {boolean} RNN - true if 'complete music', false if 'generate new music' + * @param {array} args - arguments to be given to the music helper + * @param {BlockUtility} utils + */ getAndPlayMagentaNotes (RNN, args, utils) { const musicState = this.musicCreationHelper._getMusicState(utils.target); const inst = musicState.currentInstrument; @@ -566,7 +574,7 @@ class Scratch3MusicCreation { /** * Generates and plays a sequence of notes based off of the notes - * that have recently been player and the current instrument + * that have recently been played and the current instrument * @param {array} args - array of magenta notes [freq,duration,inst,?] * @param {BlockUtility} utils */ @@ -574,6 +582,12 @@ class Scratch3MusicCreation { this.getAndPlayMagentaNotes(true,args,utils); } + /** + * Generates and plays a sequence of notes, using the + * current instrument. + * @param {array} args - array of magenta notes [freq,duration,inst,?] + * @param {BlockUtility} utils + */ testMagentaMVAE(args, utils) { this.getAndPlayMagentaNotes(false,args,utils); } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index a6e8fd806..80ff1527b 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -6,6 +6,7 @@ const Timer = require('../../util/timer'); const log = require('../../util/log'); const { clamp } = require('../../util/math-util'); const { p } = require('./letters'); +const BlockUtility = require('../../engine/block-utility'); /** * The instrument and drum sounds, loaded as static assets. @@ -364,7 +365,7 @@ class MusicCreationHelpers { * @returns an object with 'note', 'duration', and 'index' fields * @private */ - _clamp(noteInfo, index) { + _clamp (noteInfo, index) { let note = Cast.toNumber(noteInfo.NOTE); note = MathUtil.clamp(note, MusicCreationHelpers.MIDI_NOTE_RANGE.min, MusicCreationHelpers.MIDI_NOTE_RANGE.max); @@ -378,7 +379,7 @@ class MusicCreationHelpers { * along with an object that contains data about the note * (including @param dur) * @param util - * @param {number} note + * @param {number} note - the frequency of the note to be played * @param {flot} dur - duration in secs * @returns an object with 'player' and 'data' fields, or null on error */ @@ -414,19 +415,26 @@ class MusicCreationHelpers { } /** - * + * Plays the note given by @param noteInfo and recursively + * sets up an event chain to play the rest of the notes in @param seq * @param {object} noteInfo - element of @param seq containing * 'note', 'index', and 'beats' fields. * @param {Array[]} seq - array of objects containing information about a note and its duration - * @param {object} util + * @param {BlockUtility} util * @param {number} l - length of @param seq * @private + * @augments @param util's stackFrame.duration to be 0 once the last note in @param seq + * has stopped playing. */ _playNoteFromSeq (noteInfo, seq, util,l, inst) { const i = noteInfo['index']; const last = i === l-1; if (this._concurrencyCounter > this.CONCURRENCY_LIMIT) return; const playerAndData = this.createPlayer(util,noteInfo['note'],noteInfo['duration'], inst); + if (!playerAndData) { + console.log(`null data for note ${noteInfo}`); + return; + } const player = playerAndData['player']; player.once('stop', () => { this._concurrencyCounter--; @@ -438,13 +446,17 @@ class MusicCreationHelpers { } }); console.log(`playing note ${i+1}`); - this.activatePlayer(util,playerAndData); + this._activatePlayer(util,playerAndData); } /** * Plays the first note of the given @param seq - * @param {object} util + * (note that this also sets off an event chain that plays + * the rest of the notes in @param seq) + * @param {BlockUtility} util * @param {Array[]} seq + * @requires - each elem in @param seq has 'note', 'duration' and + * 'index' fields */ playFirstNote (util, seq, inst) { const l = seq.length @@ -455,34 +467,33 @@ class MusicCreationHelpers { /** * Plays the sequence of notes given by @param args * @param {array} args - args[i] has 'mutation', 'NOTE', and 'SECS' fields - * @param util + * @param {BlockUtility} util */ playNotes (args, util, inst) { - // if (this._stackTimerNeedsInit(util)) { - const l = args.length; - let seq = []; - for (let i = 0; i < l; i++) { - const noteArg = args[i]; - seq.push(this._clamp(noteArg,i)); - } - if (l === 0) return; + const l = args.length; + let seq = []; + for (let i = 0; i < l; i++) { + const noteArg = args[i]; + seq.push(this._clamp(noteArg,i)); + } + if (l === 0) return; - //begins the chain of events that plays the seq of notes - this.playFirstNote(util, seq, inst); + //begins the chain of events that plays the seq of notes + this.playFirstNote(util, seq, inst); - //set the duration to MAX. duration is cut off when the last note ends - util.stackFrame.duration = Number.MAX_SAFE_INTEGER; + //set the duration to MAX. duration is cut off when the last note ends + util.stackFrame.duration = Number.MAX_SAFE_INTEGER; } /** * Activates the player in @param playerAndData to play its * note, using the data in @param playerAndData to determine * the instrument and duration - * @param {*} util - * @param {*} playerAndData - * @returns + * @param {BlockUtility} util + * @param {object} playerAndData - contains 'player' and 'data' fields + * @private */ - activatePlayer (util, playerAndData) { + _activatePlayer (util, playerAndData) { // If we're playing too many sounds, do not play the note. if (this._concurrencyCounter > MusicCreationHelpers.CONCURRENCY_LIMIT) { console.log('concurrency limit reached'); From 479f37a38b837dd8ff3e7c97e05f6dd1d6d104e7 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Tue, 31 May 2022 12:24:47 -0400 Subject: [PATCH 051/149] refactor and cleanup --- .../musiccreationhelpers.js | 166 ++++++++---------- 1 file changed, 72 insertions(+), 94 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 80ff1527b..2d524d1e6 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -345,16 +345,6 @@ class MusicCreationHelpers { getVolume (util) { return globalVolume; - const stage = this.runtime.getTargetForStage(); - if (stage) { - /* - if (stage.volume == 100) { - stage.volume = "fortissimo"; - } - */ - return this.findVolumeForNumber(util.target.volume); - } - return "mezzo-forte"; } /** @@ -374,6 +364,26 @@ class MusicCreationHelpers { return {note: note,duration: beats, index: index}; } + /** + * Gets the SoundPlayer for this note/instrument combo + * @param {number} inst + * @param {number} note + * @returns the SoundPlayer object + */ + _getPlayer (inst, note) { + if (!this._instrumentPlayerNoteArrays[inst][note]) { + this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); + } + + const player = this._instrumentPlayerNoteArrays[inst][note]; + + if (player.isPlaying && !player.isStarting) { + // Take the internal player state and create a new player with it. + player.take(); + } + return player; + } + /** * Creates a SoundPlayer for the given note and returns it, * along with an object that contains data about the note @@ -399,12 +409,8 @@ class MusicCreationHelpers { this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); } - const player = this._instrumentPlayerNoteArrays[inst][note]; + const player = this._getPlayer(inst,note); - if (player.isPlaying && !player.isStarting) { - // Take the internal player state and create a new player with it. - player.take(); - } return {player:player, data: {instInfo: instrumentInfo, @@ -437,7 +443,6 @@ class MusicCreationHelpers { } const player = playerAndData['player']; player.once('stop', () => { - this._concurrencyCounter--; console.log(`stopped note ${i+1}`); if (last) { util.stackFrame.duration = 0; @@ -486,33 +491,18 @@ class MusicCreationHelpers { } /** - * Activates the player in @param playerAndData to play its - * note, using the data in @param playerAndData to determine - * the instrument and duration - * @param {BlockUtility} util - * @param {object} playerAndData - contains 'player' and 'data' fields + * plays the given note + * @param {BlockUtility} util + * @param {Array[]} sampleArray - array of samples specific to the instrument + * @param {number} sampleIndex - an index into @param sampleArray + * @param {number} note - number corresponding to freq. of the note + * @param {SoundPlayer} player - sound player specific to this note/inst + * @param {object} instInfo - contains fields specific to the instrument + * @param {number} durationSec - duration, in seconds * @private */ - _activatePlayer (util, playerAndData) { - // If we're playing too many sounds, do not play the note. - if (this._concurrencyCounter > MusicCreationHelpers.CONCURRENCY_LIMIT) { - console.log('concurrency limit reached'); - return; - } - - if (!playerAndData) { - console.log('null data'); - return; - } - - //get note and instrument data - let player = playerAndData['player']; - let data = playerAndData['data']; - let sampleArray = data['sampleArray']; - let sampleIndex = data['sampleIndex']; - let instInfo = data['instInfo']; - let note = data['note']; - let durationSec = data['duration']; + _initNote (util, sampleArray, sampleIndex, note, player, instInfo, + durationSec) { // Set its pitch. const sampleNote = sampleArray[sampleIndex]; const notePitchInterval = this._ratioForPitchInterval(note - sampleNote); @@ -538,11 +528,14 @@ class MusicCreationHelpers { const releaseStart = context.currentTime + durationSec; const releaseEnd = releaseStart + releaseDuration; const z = releaseEnd - context.currentTime; - console.log('duration',z,'currTime', context.currentTime, 'releaseStart', releaseStart, 'releaseEnd', releaseEnd); + console.log('duration',z,'currTime', context.currentTime); releaseGain.gain.setValueAtTime(1, releaseStart); releaseGain.gain.linearRampToValueAtTime(0.0001, releaseEnd); this._concurrencyCounter++; + player.once('stop', () => { + this._concurrencyCounter--; + }); // Start playing the note player.play(); @@ -556,6 +549,39 @@ class MusicCreationHelpers { player.outputNode.stop(releaseEnd); } + /** + * Activates the player in @param playerAndData to play its + * note, using the data in @param playerAndData to determine + * the instrument and duration + * @param {BlockUtility} util + * @param {object} playerAndData - contains 'player' and 'data' fields + * @private + */ + _activatePlayer (util, playerAndData) { + // If we're playing too many sounds, do not play the note. + if (this._concurrencyCounter > MusicCreationHelpers.CONCURRENCY_LIMIT) { + console.log('concurrency limit reached'); + return; + } + + if (!playerAndData) { + console.log('null data'); + return; + } + + //get note and instrument data + let player = playerAndData['player']; + let data = playerAndData['data']; + let sampleArray = data['sampleArray']; + let sampleIndex = data['sampleIndex']; + let instInfo = data['instInfo']; + let note = data['note']; + let durationSec = data['duration']; + + this._initNote(util, sampleArray, sampleIndex, note, player, instInfo, + durationSec); + } + playNote (args, util) { if (this._stackTimerNeedsInit(util)) { let note = Cast.toNumber(args.NOTE); @@ -608,63 +634,15 @@ class MusicCreationHelpers { // If the audio sample has not loaded yet, bail out if (typeof this._instrumentPlayerArrays[inst] === 'undefined') return; if (typeof this._instrumentPlayerArrays[inst][sampleIndex] === 'undefined') return; - - // Fetch the sound player to play the note. - const engine = util.runtime.audioEngine; - + if (!this._instrumentPlayerNoteArrays[inst][note]) { this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); } - const player = this._instrumentPlayerNoteArrays[inst][note]; - - if (player.isPlaying && !player.isStarting) { - // Take the internal player state and create a new player with it. - // `.play` does this internally but then instructs the sound to - // stop. - player.take(); - } - - - // Set its pitch. - const sampleNote = sampleArray[sampleIndex]; - const notePitchInterval = this._ratioForPitchInterval(note - sampleNote); - - // Create gain nodes for this note's volume and release, and chain them - // to the output. - const context = engine.audioContext; - const volumeGain = context.createGain(); - volumeGain.gain.setValueAtTime(util.target.volume / 100, engine.currentTime); - const releaseGain = context.createGain(); - volumeGain.connect(releaseGain); - releaseGain.connect(engine.getInputNode()); - - // Schedule the release of the note, ramping its gain down to zero, - // and then stopping the sound. - let releaseDuration = this.INSTRUMENT_INFO[inst].releaseTime; - if (typeof releaseDuration === 'undefined') { - releaseDuration = 0.01; - } - const releaseStart = context.currentTime + durationSec; - const releaseEnd = releaseStart + releaseDuration; - releaseGain.gain.setValueAtTime(1, releaseStart); - releaseGain.gain.linearRampToValueAtTime(0.0001, releaseEnd); - - this._concurrencyCounter++; - player.once('stop', () => { - this._concurrencyCounter--; - }); + const player = this._getPlayer(inst,note); - // Start playing the note - player.play(); - // Connect the player to the gain node. - player.connect({getInputNode () { - return volumeGain; - }}); - // Set playback now after play creates the outputNode. - player.outputNode.playbackRate.value = notePitchInterval; - // Schedule playback to stop. - player.outputNode.stop(releaseEnd); + this._initNote(util, sampleArray, sampleIndex, note, player, instrumentInfo, + durationSec); } /** From 4589a071e4cdc6ba9ae2e4814c6533c828b1f3e0 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Wed, 1 Jun 2022 20:54:17 -0400 Subject: [PATCH 052/149] initial version of scrolling visualizations --- .../scratch3_musiccreation/index.js | 38 +++++++++- .../musiccreationhelpers.js | 31 +++++--- .../scratch3_musiccreation/vizhelpers.js | 75 +++++++++++++++++++ 3 files changed, 132 insertions(+), 12 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index ec41f064d..ced63d669 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -27,7 +27,6 @@ class Scratch3MusicCreation { this.musicAccompanimentHelper = new MusicAccompanimentHelpers(runtime); this.analysisHelper = new AnalysisHelpers(runtime); - this.noteList = []; this.wavenoteList = []; this.magentaNoteList = []; @@ -58,6 +57,9 @@ class Scratch3MusicCreation { { text: "frequencies", value: '3' }, { text: "frequencies over time", value: 4 }]; + this._visStatus = [{text: "off", value: '0'}, + {text: "on", value: '1'}]; + this.textRenderer = new textRender(runtime); this._playNoteForPicker = this._playNoteForPicker.bind(this); @@ -335,6 +337,23 @@ class Scratch3MusicCreation { } } }, + { + opcode: 'toggleVisMode', + blockType: BlockType.COMMAND, + text: 'set visualization mode to [STATUS] with [FORMAT]', + arguments: { + STATUS: { + type: ArgumentType.NUMBER, + defaultValue: '0', + menu: "STATUS" + }, + FORMAT: { + type: ArgumentType.NUMBER, + defaultValue: '1', + menu: "FORMAT" + } + } + }, { opcode: 'playMystery', blockType: BlockType.COMMAND, @@ -437,6 +456,10 @@ class Scratch3MusicCreation { FORMAT: { acceptReporters: true, items: this.displayOptions + }, + STATUS: { + acceptReporters: true, + items: this._visStatus } } @@ -454,10 +477,17 @@ class Scratch3MusicCreation { } testWaveformViz(args, util) { + console.log(this.totalNoteList); this.totalNoteList = this.noteList.concat(this.magentaNoteList); this.vizHelper.testWaveformViz(this.totalNoteList, args, util); } + toggleVisMode (args, util) { + console.log('toggle'); + + this.vizHelper.toggleVisMode(args,util); + } + testSheetMusicViz(args, util) { this.totalNoteList = this.noteList.concat(this.magentaNoteList); this.vizHelper.testSheetMusicViz(this.totalNoteList, args, util); @@ -503,7 +533,7 @@ class Scratch3MusicCreation { /** * - * @param {array} raw_note - magenta note [freq,duration,inst,?] + * @param {array} raw_note - magenta note [freq,duration,inst,volume] * @returns information about the note as an object, in a form * consumable by this.musicCreationHelper */ @@ -548,7 +578,7 @@ class Scratch3MusicCreation { } const prepared_notes = this._prepare(magenta_notes); this.magentaNoteList = prepared_notes['notes']; - this.musicCreationHelper.playNotes(prepared_notes['args'], utils, inst); + this.musicCreationHelper.playNotes(prepared_notes, utils, inst,this.vizHelper); } /** @@ -630,6 +660,8 @@ class Scratch3MusicCreation { toAdd.push(volumes[m].value); } } + console.log(toAdd); + this.vizHelper.requestViz(toAdd,util); // can move to music creation helper if that is preferred this.wavenoteList.push(toAdd); } } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 2d524d1e6..69e17a9e2 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -7,6 +7,7 @@ const log = require('../../util/log'); const { clamp } = require('../../util/math-util'); const { p } = require('./letters'); const BlockUtility = require('../../engine/block-utility'); +const VizHelpers = require('./vizhelpers'); /** * The instrument and drum sounds, loaded as static assets. @@ -428,13 +429,15 @@ class MusicCreationHelpers { * @param {Array[]} seq - array of objects containing information about a note and its duration * @param {BlockUtility} util * @param {number} l - length of @param seq + * @param {VizHelpers} vizHelper * @private * @augments @param util's stackFrame.duration to be 0 once the last note in @param seq * has stopped playing. */ - _playNoteFromSeq (noteInfo, seq, util,l, inst) { + _playNoteFromSeq (noteInfo, seq, util,l, inst, vizHelper, raw_notes) { const i = noteInfo['index']; const last = i === l-1; + const raw_note = raw_notes[i]; if (this._concurrencyCounter > this.CONCURRENCY_LIMIT) return; const playerAndData = this.createPlayer(util,noteInfo['note'],noteInfo['duration'], inst); if (!playerAndData) { @@ -447,10 +450,13 @@ class MusicCreationHelpers { if (last) { util.stackFrame.duration = 0; } else { - this._playNoteFromSeq(seq[i+1],seq,util,l,inst); + this._playNoteFromSeq(seq[i+1],seq,util,l,inst,vizHelper,raw_notes); } }); console.log(`playing note ${i+1}`); + console.log('fftviz',vizHelper.fftViz); + console.log(vizHelper); + vizHelper.requestViz(raw_note,util); this._activatePlayer(util,playerAndData); } @@ -460,31 +466,38 @@ class MusicCreationHelpers { * the rest of the notes in @param seq) * @param {BlockUtility} util * @param {Array[]} seq + * @param {VizHelpers} vizHelper * @requires - each elem in @param seq has 'note', 'duration' and * 'index' fields */ - playFirstNote (util, seq, inst) { + playFirstNote (util, seq, inst, vizHelper, raw_notes) { const l = seq.length if (l === 0) return; - this._playNoteFromSeq(seq[0],seq,util,l, inst); + this._playNoteFromSeq(seq[0],seq,util,l, inst, vizHelper, raw_notes); } /** * Plays the sequence of notes given by @param args - * @param {array} args - args[i] has 'mutation', 'NOTE', and 'SECS' fields + * @param {object} args - contains raw (magenta) notes and + * cleaned notes with 'mutation', 'NOTE', and 'SECS' fields + * @param args: raw notes --> ['notes'] + * cleaned notes --> ['args'] * @param {BlockUtility} util + * @param {VizHelpers} vizHelper */ - playNotes (args, util, inst) { - const l = args.length; + playNotes (args, util, inst, vizHelper) { + let clean_notes = args['args']; + let raw_notes = args['notes']; + const l = clean_notes.length; let seq = []; for (let i = 0; i < l; i++) { - const noteArg = args[i]; + const noteArg = clean_notes[i]; seq.push(this._clamp(noteArg,i)); } if (l === 0) return; //begins the chain of events that plays the seq of notes - this.playFirstNote(util, seq, inst); + this.playFirstNote(util, seq, inst, vizHelper, raw_notes); //set the duration to MAX. duration is cut off when the last note ends util.stackFrame.duration = Number.MAX_SAFE_INTEGER; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 4b1a787a2..fcd064993 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -16,6 +16,11 @@ class VizHelpers { constructor (runtime) { this.runtime = runtime; + this._visState = {status: false, mode: undefined}; + this._buf = {sheet: [], wave: [], freq: [], freqs: []}; + this._visNames = {1: 'sheet', 2: 'wave', 3: 'freq', 4: 'freqs'}; + this._visLims = {'sheet': 8, 'wave': 5, 'freq': 1000, 'freqs': 1000}; + /** * The ID of the renderer Skin corresponding to the pen layer. * @type {int} @@ -180,6 +185,76 @@ class VizHelpers { return penState; } + toggleVisMode (args,util) { + let status = Cast.toNumber(args.STATUS); + let mode = Cast.toNumber(args.FORMAT); + this._visState['mode'] = mode; + this._visState['status'] = !!status; + console.log('status', status, 'mode', mode, 'stt', this._visState['status']); + } + + initViz () { + console.log('in init vis'); + const runtime = this.runtime; + if (!this.fftViz) { + console.log('hello'); + this.fftViz = new FFTHelper(runtime); + } + + if (!this.sheetMusicViz) { + this.sheetMusicViz = new SheetMusicHelper(runtime); + } + + if (!this.waveformViz) { + this.waveformViz = new WaveformHelper(runtime); + } + + if (!this.spectrogramViz) { + this.spectrogramViz = new SpectrogramHelper(runtime); + } + } + + /** + * + * @param {array} note - [freq, duration, instrument, volume] + */ + requestViz (note, util) { + console.log('this',this); + console.log('got request...', note); + if (this._visState['status']) { + this.processViz(note,util); + } + } + + + processViz (note,util) { + this.initViz(); + const mode = this._visState['mode']; + const name = this._visNames[mode]; + const lim = this._visLims[name]; + console.log(`mode ${mode}, lim ${lim}`); + let buf = this._buf[name]; + while (buf.length + 1 >= lim) { + buf = buf.splice(1); + } + buf.push(note); + this._buf[name] = buf; + console.log('name', name); + switch (name) { + case 'wave': + this.testWaveformViz(buf,null,util); + break; + case 'freq': + this.testFreqViz(buf,null,util); + break; + case 'freqs': + this.testSpectViz(buf,null,util); + break; + default: + this.testSheetMusicViz(buf,null,util); + } + } + testWaveformViz (noteList, args, util) { this.fftViz.clear(); this.sheetMusicViz.clear(); From 71aedc321239ce41fe1ff5df1d62786899150cf2 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Fri, 3 Jun 2022 12:16:01 -0400 Subject: [PATCH 053/149] temporary? fixes to apparent sheet music bugs --- .../scratch3_musiccreation/sheetmusic.js | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 79f0dbc60..a58daa5ce 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -53,6 +53,9 @@ class SheetMusic { this._onTargetMoved = this._onTargetMoved.bind(this); + + this._staffLims = {lo_note:60,hi_note:85,lo_staff:-2,hi_staff:12}; + this._staffBaseLims = {lo_note:34,hi_note:34,lo_staff:-5, hi_staff:9}; pitchToStaff = { 60: -2, 61: -2, @@ -869,6 +872,10 @@ class SheetMusic { util.target.setXY(xmid+flip*xrad, ymid+flip*30); } if (duration < 1) { //add tails for < quarter notes + if (duration === 0) { + console.log("DURATION IS ZERO"); + return; + } offset = 0; for (var i = 0; i < 1/(duration*2); i++) { this.penUp(args, util); @@ -900,13 +907,25 @@ class SheetMusic { if (flats.includes(freq)) { acc = "flat"; } + + // this._staffLims = {lo_note:60,hi_note:85,lo_staff:-2,hi_staff:12}; + // this._staffBaseLims = {lo_note:34,hi_note:34,lo_staff:-5, hi_staff:9}; + if (freq >= 60) { - var staff = pitchToStaff[freq]; + if (freq > this._staffLims['hi_note']) { + console.log(`ADJUSTING ${freq}`); + freq = this._staffLims['hi_note']; + } + var staff = pitchToStaff[freq]; //60 to 85 var dur = this.noteList[i][1]*4; var amp = this.noteList[i][3]; var clef = "treble"; } else { - var staff = pitchToStaffBass[freq]; + if (freq === undefined || freq < this._staffBaseLims['lo_note']) { + console.log(`ADJUSTING BASE.f ${freq}`); + freq = this._staffBaseLims['lo_note']; + } + var staff = pitchToStaffBass[freq]; //34 to 59 var dur = this.noteList[i][1]*4; var amp = this.noteList[i][3]; var clef = "bass"; From 1cc6b97864cea89afd968653d2c45f669492ee90 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Fri, 3 Jun 2022 14:06:55 -0400 Subject: [PATCH 054/149] minor clean up --- .../scratch3_musiccreation/index.js | 4 +-- .../musiccreationhelpers.js | 2 -- .../scratch3_musiccreation/sheetmusic.js | 7 ++--- .../scratch3_musiccreation/vizhelpers.js | 26 +------------------ 4 files changed, 5 insertions(+), 34 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index ced63d669..c6ab6b9c6 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -477,7 +477,7 @@ class Scratch3MusicCreation { } testWaveformViz(args, util) { - console.log(this.totalNoteList); + //console.log(this.totalNoteList); this.totalNoteList = this.noteList.concat(this.magentaNoteList); this.vizHelper.testWaveformViz(this.totalNoteList, args, util); } @@ -660,7 +660,7 @@ class Scratch3MusicCreation { toAdd.push(volumes[m].value); } } - console.log(toAdd); + // console.log(toAdd); this.vizHelper.requestViz(toAdd,util); // can move to music creation helper if that is preferred this.wavenoteList.push(toAdd); } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 69e17a9e2..864fcc00f 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -454,8 +454,6 @@ class MusicCreationHelpers { } }); console.log(`playing note ${i+1}`); - console.log('fftviz',vizHelper.fftViz); - console.log(vizHelper); vizHelper.requestViz(raw_note,util); this._activatePlayer(util,playerAndData); } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index a58daa5ce..d4f31619a 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -908,15 +908,12 @@ class SheetMusic { acc = "flat"; } - // this._staffLims = {lo_note:60,hi_note:85,lo_staff:-2,hi_staff:12}; - // this._staffBaseLims = {lo_note:34,hi_note:34,lo_staff:-5, hi_staff:9}; - if (freq >= 60) { if (freq > this._staffLims['hi_note']) { console.log(`ADJUSTING ${freq}`); freq = this._staffLims['hi_note']; } - var staff = pitchToStaff[freq]; //60 to 85 + var staff = pitchToStaff[freq]; var dur = this.noteList[i][1]*4; var amp = this.noteList[i][3]; var clef = "treble"; @@ -925,7 +922,7 @@ class SheetMusic { console.log(`ADJUSTING BASE.f ${freq}`); freq = this._staffBaseLims['lo_note']; } - var staff = pitchToStaffBass[freq]; //34 to 59 + var staff = pitchToStaffBass[freq]; var dur = this.noteList[i][1]*4; var amp = this.noteList[i][3]; var clef = "bass"; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index fcd064993..06fda56a2 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -19,7 +19,7 @@ class VizHelpers { this._visState = {status: false, mode: undefined}; this._buf = {sheet: [], wave: [], freq: [], freqs: []}; this._visNames = {1: 'sheet', 2: 'wave', 3: 'freq', 4: 'freqs'}; - this._visLims = {'sheet': 8, 'wave': 5, 'freq': 1000, 'freqs': 1000}; + this._visLims = {'sheet': 12, 'wave': 5, 'freq': 1000, 'freqs': 1000}; /** * The ID of the renderer Skin corresponding to the pen layer. @@ -190,28 +190,6 @@ class VizHelpers { let mode = Cast.toNumber(args.FORMAT); this._visState['mode'] = mode; this._visState['status'] = !!status; - console.log('status', status, 'mode', mode, 'stt', this._visState['status']); - } - - initViz () { - console.log('in init vis'); - const runtime = this.runtime; - if (!this.fftViz) { - console.log('hello'); - this.fftViz = new FFTHelper(runtime); - } - - if (!this.sheetMusicViz) { - this.sheetMusicViz = new SheetMusicHelper(runtime); - } - - if (!this.waveformViz) { - this.waveformViz = new WaveformHelper(runtime); - } - - if (!this.spectrogramViz) { - this.spectrogramViz = new SpectrogramHelper(runtime); - } } /** @@ -219,7 +197,6 @@ class VizHelpers { * @param {array} note - [freq, duration, instrument, volume] */ requestViz (note, util) { - console.log('this',this); console.log('got request...', note); if (this._visState['status']) { this.processViz(note,util); @@ -228,7 +205,6 @@ class VizHelpers { processViz (note,util) { - this.initViz(); const mode = this._visState['mode']; const name = this._visNames[mode]; const lim = this._visLims[name]; From e6d61bb88d0fb5ae0f125302a92fb48f758d5363 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Tue, 7 Jun 2022 14:21:01 -0400 Subject: [PATCH 055/149] stop on stop sign. Still finishes currently playing note --- .../scratch3_musiccreation/musiccreationhelpers.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 2d524d1e6..c69f1f992 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -442,9 +442,14 @@ class MusicCreationHelpers { return; } const player = playerAndData['player']; + let stopped = false + util.sequencer.runtime.once('PROJECT_STOP_ALL', () => { + stopped = true; + console.log('STOP SIGN CLICKED'); + }); player.once('stop', () => { console.log(`stopped note ${i+1}`); - if (last) { + if (last || stopped) { util.stackFrame.duration = 0; } else { this._playNoteFromSeq(seq[i+1],seq,util,l,inst); From 6ef8f8ac6bbc6de188e3fdfde74a3cdfc5fc0731 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Tue, 7 Jun 2022 14:55:01 -0400 Subject: [PATCH 056/149] keep colors the same in waveform scroll --- .../extensions/scratch3_musiccreation/vizhelpers.js | 4 ++++ .../extensions/scratch3_musiccreation/waveform.js | 13 +++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 06fda56a2..b3046ef25 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -16,6 +16,7 @@ class VizHelpers { constructor (runtime) { this.runtime = runtime; + this._count = 0; this._visState = {status: false, mode: undefined}; this._buf = {sheet: [], wave: [], freq: [], freqs: []}; this._visNames = {1: 'sheet', 2: 'wave', 3: 'freq', 4: 'freqs'}; @@ -213,11 +214,14 @@ class VizHelpers { while (buf.length + 1 >= lim) { buf = buf.splice(1); } + note[4] = this._count++; + console.log('note',note); buf.push(note); this._buf[name] = buf; console.log('name', name); switch (name) { case 'wave': + //id for notes when they come in the buffer. Can use ID to track color. this.testWaveformViz(buf,null,util); break; case 'freq': diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js index c0763ec59..bf8a9c210 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js @@ -407,6 +407,7 @@ class Waveform { drawSignal(args, util) { colors = ['0xff0000', '0x0000ff', '0x00ff00', '0xffa500'] + const color_count = colors.length; freqToColor = {}; x = this.axisStartX; y = this.axisStartY+this.yAxisLength/2; @@ -427,14 +428,10 @@ class Waveform { dur = note[1]; inst = note[2]; vol = note[3]; - if (midi in freqToColor) { - c = freqToColor[midi]; - this.setPenColorToColor(c, util); - } else { - c = colors[i%4]; - this.setPenColorToColor(c, util); - freqToColor[midi] = c; - } + id = note[4]; + c = colors[id%color_count]; + freqToColor[midi] = c; + this.setPenColorToColor(c,util); freq = 2**((midi - 69)/12)*440; Omega = 2*Math.PI*freq/44140; var st = st*prevFreq/Omega; From 75e82ac195649adc8f614f950288927a2464a5fb Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Tue, 7 Jun 2022 17:35:13 -0400 Subject: [PATCH 057/149] minor cleanup --- .../extensions/scratch3_musiccreation/waveform.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js index bf8a9c210..a1d81f9fb 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js @@ -405,6 +405,16 @@ class Waveform { this.textRenderer.say('here', args, util); } + /** + * + * @param {array} note - note[4] contains the ID of this note + * @returns the color associated with this note + */ + getColorFromNote(note) { + colors = ['0xff0000', '0x0000ff', '0x00ff00', '0xffa500']; + return colors[note[4] % colors.length]; + } + drawSignal(args, util) { colors = ['0xff0000', '0x0000ff', '0x00ff00', '0xffa500'] const color_count = colors.length; @@ -428,8 +438,7 @@ class Waveform { dur = note[1]; inst = note[2]; vol = note[3]; - id = note[4]; - c = colors[id%color_count]; + c = this.getColorFromNote(note); freqToColor[midi] = c; this.setPenColorToColor(c,util); freq = 2**((midi - 69)/12)*440; From 4b4528da42ae270985d6ffcbb913e80a374c9ec3 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Wed, 8 Jun 2022 11:03:11 -0400 Subject: [PATCH 058/149] dependencies on dependencies --- package-lock.json | 17233 +++++++ packages/scratch-gui/package-lock.json | 45002 ++++++++++++------ packages/scratch-render/package-lock.json | 16226 ++++++- packages/scratch-vm/package-lock.json | 48114 +++++++++++++------- 4 files changed, 96842 insertions(+), 29733 deletions(-) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..9c3c7887b --- /dev/null +++ b/package-lock.json @@ -0,0 +1,17233 @@ +{ + "name": "root", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "root", + "devDependencies": { + "lerna": "^3.20.2" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", + "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@evocateur/libnpmaccess": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz", + "integrity": "sha512-KSCAHwNWro0CF2ukxufCitT9K5LjL/KuMmNzSu8wuwN2rjyKHD8+cmOsiybK+W5hdnwc5M1SmRlVCaMHQo+3rg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "@evocateur/npm-registry-fetch": "^4.0.0", + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "npm-package-arg": "^6.1.0" + } + }, + "node_modules/@evocateur/libnpmpublish": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@evocateur/libnpmpublish/-/libnpmpublish-1.2.2.tgz", + "integrity": "sha512-MJrrk9ct1FeY9zRlyeoyMieBjGDG9ihyyD9/Ft6MMrTxql9NyoEx2hw9casTIP4CdqEVu+3nQ2nXxoJ8RCXyFg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "@evocateur/npm-registry-fetch": "^4.0.0", + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "lodash.clonedeep": "^4.5.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "semver": "^5.5.1", + "ssri": "^6.0.1" + } + }, + "node_modules/@evocateur/libnpmpublish/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@evocateur/npm-registry-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@evocateur/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz", + "integrity": "sha512-k1WGfKRQyhJpIr+P17O5vLIo2ko1PFLKwoetatdduUSt/aQ4J2sJrJwwatdI5Z3SiYk/mRH9S3JpdmMFd/IK4g==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "bluebird": "^3.5.1", + "figgy-pudding": "^3.4.1", + "JSONStream": "^1.3.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "npm-package-arg": "^6.1.0", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/@evocateur/pacote": { + "version": "9.6.5", + "resolved": "https://registry.npmjs.org/@evocateur/pacote/-/pacote-9.6.5.tgz", + "integrity": "sha512-EI552lf0aG2nOV8NnZpTxNo2PcXKPmDbF9K8eCBFQdIZwHNGN/mi815fxtmUMa2wTa1yndotICIDt/V0vpEx2w==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "@evocateur/npm-registry-fetch": "^4.0.0", + "bluebird": "^3.5.3", + "cacache": "^12.0.3", + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.1.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "minimatch": "^3.0.4", + "minipass": "^2.3.5", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "normalize-package-data": "^2.5.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.4.4", + "npm-pick-manifest": "^3.0.0", + "osenv": "^0.1.5", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^5.0.1", + "rimraf": "^2.6.3", + "safe-buffer": "^5.2.0", + "semver": "^5.7.0", + "ssri": "^6.0.1", + "tar": "^4.4.10", + "unique-filename": "^1.1.1", + "which": "^1.3.1" + } + }, + "node_modules/@evocateur/pacote/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@lerna/add": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/add/-/add-3.21.0.tgz", + "integrity": "sha512-vhUXXF6SpufBE1EkNEXwz1VLW03f177G9uMOFMQkp6OJ30/PWg4Ekifuz9/3YfgB2/GH8Tu4Lk3O51P2Hskg/A==", + "dev": true, + "dependencies": { + "@evocateur/pacote": "^9.6.3", + "@lerna/bootstrap": "3.21.0", + "@lerna/command": "3.21.0", + "@lerna/filter-options": "3.20.0", + "@lerna/npm-conf": "3.16.0", + "@lerna/validation-error": "3.13.0", + "dedent": "^0.7.0", + "npm-package-arg": "^6.1.0", + "p-map": "^2.1.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/bootstrap": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.21.0.tgz", + "integrity": "sha512-mtNHlXpmvJn6JTu0KcuTTPl2jLsDNud0QacV/h++qsaKbhAaJr/FElNZ5s7MwZFUM3XaDmvWzHKaszeBMHIbBw==", + "dev": true, + "dependencies": { + "@lerna/command": "3.21.0", + "@lerna/filter-options": "3.20.0", + "@lerna/has-npm-version": "3.16.5", + "@lerna/npm-install": "3.16.5", + "@lerna/package-graph": "3.18.5", + "@lerna/pulse-till-done": "3.13.0", + "@lerna/rimraf-dir": "3.16.5", + "@lerna/run-lifecycle": "3.16.2", + "@lerna/run-topologically": "3.18.5", + "@lerna/symlink-binary": "3.17.0", + "@lerna/symlink-dependencies": "3.17.0", + "@lerna/validation-error": "3.13.0", + "dedent": "^0.7.0", + "get-port": "^4.2.0", + "multimatch": "^3.0.0", + "npm-package-arg": "^6.1.0", + "npmlog": "^4.1.2", + "p-finally": "^1.0.0", + "p-map": "^2.1.0", + "p-map-series": "^1.0.0", + "p-waterfall": "^1.0.0", + "read-package-tree": "^5.1.6", + "semver": "^6.2.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/changed": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-3.21.0.tgz", + "integrity": "sha512-hzqoyf8MSHVjZp0gfJ7G8jaz+++mgXYiNs9iViQGA8JlN/dnWLI5sWDptEH3/B30Izo+fdVz0S0s7ydVE3pWIw==", + "dev": true, + "dependencies": { + "@lerna/collect-updates": "3.20.0", + "@lerna/command": "3.21.0", + "@lerna/listable": "3.18.5", + "@lerna/output": "3.13.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/check-working-tree": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-3.16.5.tgz", + "integrity": "sha512-xWjVBcuhvB8+UmCSb5tKVLB5OuzSpw96WEhS2uz6hkWVa/Euh1A0/HJwn2cemyK47wUrCQXtczBUiqnq9yX5VQ==", + "dev": true, + "dependencies": { + "@lerna/collect-uncommitted": "3.16.5", + "@lerna/describe-ref": "3.16.5", + "@lerna/validation-error": "3.13.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/child-process": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-3.16.5.tgz", + "integrity": "sha512-vdcI7mzei9ERRV4oO8Y1LHBZ3A5+ampRKg1wq5nutLsUA4mEBN6H7JqjWOMY9xZemv6+kATm2ofjJ3lW5TszQg==", + "dev": true, + "dependencies": { + "chalk": "^2.3.1", + "execa": "^1.0.0", + "strong-log-transformer": "^2.0.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/clean": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-3.21.0.tgz", + "integrity": "sha512-b/L9l+MDgE/7oGbrav6rG8RTQvRiZLO1zTcG17zgJAAuhlsPxJExMlh2DFwJEVi2les70vMhHfST3Ue1IMMjpg==", + "dev": true, + "dependencies": { + "@lerna/command": "3.21.0", + "@lerna/filter-options": "3.20.0", + "@lerna/prompt": "3.18.5", + "@lerna/pulse-till-done": "3.13.0", + "@lerna/rimraf-dir": "3.16.5", + "p-map": "^2.1.0", + "p-map-series": "^1.0.0", + "p-waterfall": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/cli": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-3.18.5.tgz", + "integrity": "sha512-erkbxkj9jfc89vVs/jBLY/fM0I80oLmJkFUV3Q3wk9J3miYhP14zgVEBsPZY68IZlEjT6T3Xlq2xO1AVaatHsA==", + "dev": true, + "dependencies": { + "@lerna/global-options": "3.13.0", + "dedent": "^0.7.0", + "npmlog": "^4.1.2", + "yargs": "^14.2.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/collect-uncommitted": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-3.16.5.tgz", + "integrity": "sha512-ZgqnGwpDZiWyzIQVZtQaj9tRizsL4dUOhuOStWgTAw1EMe47cvAY2kL709DzxFhjr6JpJSjXV5rZEAeU3VE0Hg==", + "dev": true, + "dependencies": { + "@lerna/child-process": "3.16.5", + "chalk": "^2.3.1", + "figgy-pudding": "^3.5.1", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/collect-updates": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-3.20.0.tgz", + "integrity": "sha512-qBTVT5g4fupVhBFuY4nI/3FSJtQVcDh7/gEPOpRxoXB/yCSnT38MFHXWl+y4einLciCjt/+0x6/4AG80fjay2Q==", + "dev": true, + "dependencies": { + "@lerna/child-process": "3.16.5", + "@lerna/describe-ref": "3.16.5", + "minimatch": "^3.0.4", + "npmlog": "^4.1.2", + "slash": "^2.0.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/command": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/command/-/command-3.21.0.tgz", + "integrity": "sha512-T2bu6R8R3KkH5YoCKdutKv123iUgUbW8efVjdGCDnCMthAQzoentOJfDeodBwn0P2OqCl3ohsiNVtSn9h78fyQ==", + "dev": true, + "dependencies": { + "@lerna/child-process": "3.16.5", + "@lerna/package-graph": "3.18.5", + "@lerna/project": "3.21.0", + "@lerna/validation-error": "3.13.0", + "@lerna/write-log-file": "3.13.0", + "clone-deep": "^4.0.1", + "dedent": "^0.7.0", + "execa": "^1.0.0", + "is-ci": "^2.0.0", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/conventional-commits": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-3.22.0.tgz", + "integrity": "sha512-z4ZZk1e8Mhz7+IS8NxHr64wyklHctCJyWpJKEZZPJiLFJ8yKto/x38O80R10pIzC0rr8Sy/OsjSH4bl0TbbgqA==", + "dev": true, + "dependencies": { + "@lerna/validation-error": "3.13.0", + "conventional-changelog-angular": "^5.0.3", + "conventional-changelog-core": "^3.1.6", + "conventional-recommended-bump": "^5.0.0", + "fs-extra": "^8.1.0", + "get-stream": "^4.0.0", + "lodash.template": "^4.5.0", + "npm-package-arg": "^6.1.0", + "npmlog": "^4.1.2", + "pify": "^4.0.1", + "semver": "^6.2.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/create": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@lerna/create/-/create-3.22.0.tgz", + "integrity": "sha512-MdiQQzCcB4E9fBF1TyMOaAEz9lUjIHp1Ju9H7f3lXze5JK6Fl5NYkouAvsLgY6YSIhXMY8AHW2zzXeBDY4yWkw==", + "dev": true, + "dependencies": { + "@evocateur/pacote": "^9.6.3", + "@lerna/child-process": "3.16.5", + "@lerna/command": "3.21.0", + "@lerna/npm-conf": "3.16.0", + "@lerna/validation-error": "3.13.0", + "camelcase": "^5.0.0", + "dedent": "^0.7.0", + "fs-extra": "^8.1.0", + "globby": "^9.2.0", + "init-package-json": "^1.10.3", + "npm-package-arg": "^6.1.0", + "p-reduce": "^1.0.0", + "pify": "^4.0.1", + "semver": "^6.2.0", + "slash": "^2.0.0", + "validate-npm-package-license": "^3.0.3", + "validate-npm-package-name": "^3.0.0", + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/create-symlink": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-3.16.2.tgz", + "integrity": "sha512-pzXIJp6av15P325sgiIRpsPXLFmkisLhMBCy4764d+7yjf2bzrJ4gkWVMhsv4AdF0NN3OyZ5jjzzTtLNqfR+Jw==", + "dev": true, + "dependencies": { + "@zkochan/cmd-shim": "^3.1.0", + "fs-extra": "^8.1.0", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/describe-ref": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-3.16.5.tgz", + "integrity": "sha512-c01+4gUF0saOOtDBzbLMFOTJDHTKbDFNErEY6q6i9QaXuzy9LNN62z+Hw4acAAZuJQhrVWncVathcmkkjvSVGw==", + "dev": true, + "dependencies": { + "@lerna/child-process": "3.16.5", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/diff": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-3.21.0.tgz", + "integrity": "sha512-5viTR33QV3S7O+bjruo1SaR40m7F2aUHJaDAC7fL9Ca6xji+aw1KFkpCtVlISS0G8vikUREGMJh+c/VMSc8Usw==", + "dev": true, + "dependencies": { + "@lerna/child-process": "3.16.5", + "@lerna/command": "3.21.0", + "@lerna/validation-error": "3.13.0", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/exec": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-3.21.0.tgz", + "integrity": "sha512-iLvDBrIE6rpdd4GIKTY9mkXyhwsJ2RvQdB9ZU+/NhR3okXfqKc6py/24tV111jqpXTtZUW6HNydT4dMao2hi1Q==", + "dev": true, + "dependencies": { + "@lerna/child-process": "3.16.5", + "@lerna/command": "3.21.0", + "@lerna/filter-options": "3.20.0", + "@lerna/profiler": "3.20.0", + "@lerna/run-topologically": "3.18.5", + "@lerna/validation-error": "3.13.0", + "p-map": "^2.1.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/filter-options": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.20.0.tgz", + "integrity": "sha512-bmcHtvxn7SIl/R9gpiNMVG7yjx7WyT0HSGw34YVZ9B+3xF/83N3r5Rgtjh4hheLZ+Q91Or0Jyu5O3Nr+AwZe2g==", + "dev": true, + "dependencies": { + "@lerna/collect-updates": "3.20.0", + "@lerna/filter-packages": "3.18.0", + "dedent": "^0.7.0", + "figgy-pudding": "^3.5.1", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/filter-packages": { + "version": "3.18.0", + "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-3.18.0.tgz", + "integrity": "sha512-6/0pMM04bCHNATIOkouuYmPg6KH3VkPCIgTfQmdkPJTullERyEQfNUKikrefjxo1vHOoCACDpy65JYyKiAbdwQ==", + "dev": true, + "dependencies": { + "@lerna/validation-error": "3.13.0", + "multimatch": "^3.0.0", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/get-npm-exec-opts": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-3.13.0.tgz", + "integrity": "sha512-Y0xWL0rg3boVyJk6An/vurKzubyJKtrxYv2sj4bB8Mc5zZ3tqtv0ccbOkmkXKqbzvNNF7VeUt1OJ3DRgtC/QZw==", + "dev": true, + "dependencies": { + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/get-packed": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-3.16.0.tgz", + "integrity": "sha512-AjsFiaJzo1GCPnJUJZiTW6J1EihrPkc2y3nMu6m3uWFxoleklsSCyImumzVZJssxMi3CPpztj8LmADLedl9kXw==", + "dev": true, + "dependencies": { + "fs-extra": "^8.1.0", + "ssri": "^6.0.1", + "tar": "^4.4.8" + } + }, + "node_modules/@lerna/github-client": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-3.22.0.tgz", + "integrity": "sha512-O/GwPW+Gzr3Eb5bk+nTzTJ3uv+jh5jGho9BOqKlajXaOkMYGBELEAqV5+uARNGWZFvYAiF4PgqHb6aCUu7XdXg==", + "dev": true, + "dependencies": { + "@lerna/child-process": "3.16.5", + "@octokit/plugin-enterprise-rest": "^6.0.1", + "@octokit/rest": "^16.28.4", + "git-url-parse": "^11.1.2", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/gitlab-client": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-3.15.0.tgz", + "integrity": "sha512-OsBvRSejHXUBMgwWQqNoioB8sgzL/Pf1pOUhHKtkiMl6aAWjklaaq5HPMvTIsZPfS6DJ9L5OK2GGZuooP/5c8Q==", + "dev": true, + "dependencies": { + "node-fetch": "^2.5.0", + "npmlog": "^4.1.2", + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/global-options": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-3.13.0.tgz", + "integrity": "sha512-SlZvh1gVRRzYLVluz9fryY1nJpZ0FHDGB66U9tFfvnnxmueckRQxLopn3tXj3NU1kc3QANT2I5BsQkOqZ4TEFQ==", + "dev": true, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/has-npm-version": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-3.16.5.tgz", + "integrity": "sha512-WL7LycR9bkftyqbYop5rEGJ9sRFIV55tSGmbN1HLrF9idwOCD7CLrT64t235t3t4O5gehDnwKI5h2U3oxTrF8Q==", + "dev": true, + "dependencies": { + "@lerna/child-process": "3.16.5", + "semver": "^6.2.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/import": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@lerna/import/-/import-3.22.0.tgz", + "integrity": "sha512-uWOlexasM5XR6tXi4YehODtH9Y3OZrFht3mGUFFT3OIl2s+V85xIGFfqFGMTipMPAGb2oF1UBLL48kR43hRsOg==", + "dev": true, + "dependencies": { + "@lerna/child-process": "3.16.5", + "@lerna/command": "3.21.0", + "@lerna/prompt": "3.18.5", + "@lerna/pulse-till-done": "3.13.0", + "@lerna/validation-error": "3.13.0", + "dedent": "^0.7.0", + "fs-extra": "^8.1.0", + "p-map-series": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/info": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/info/-/info-3.21.0.tgz", + "integrity": "sha512-0XDqGYVBgWxUquFaIptW2bYSIu6jOs1BtkvRTWDDhw4zyEdp6q4eaMvqdSap1CG+7wM5jeLCi6z94wS0AuiuwA==", + "dev": true, + "dependencies": { + "@lerna/command": "3.21.0", + "@lerna/output": "3.13.0", + "envinfo": "^7.3.1" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/init": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/init/-/init-3.21.0.tgz", + "integrity": "sha512-6CM0z+EFUkFfurwdJCR+LQQF6MqHbYDCBPyhu/d086LRf58GtYZYj49J8mKG9ktayp/TOIxL/pKKjgLD8QBPOg==", + "dev": true, + "dependencies": { + "@lerna/child-process": "3.16.5", + "@lerna/command": "3.21.0", + "fs-extra": "^8.1.0", + "p-map": "^2.1.0", + "write-json-file": "^3.2.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/link": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/link/-/link-3.21.0.tgz", + "integrity": "sha512-tGu9GxrX7Ivs+Wl3w1+jrLi1nQ36kNI32dcOssij6bg0oZ2M2MDEFI9UF2gmoypTaN9uO5TSsjCFS7aR79HbdQ==", + "dev": true, + "dependencies": { + "@lerna/command": "3.21.0", + "@lerna/package-graph": "3.18.5", + "@lerna/symlink-dependencies": "3.17.0", + "p-map": "^2.1.0", + "slash": "^2.0.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/list": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/list/-/list-3.21.0.tgz", + "integrity": "sha512-KehRjE83B1VaAbRRkRy6jLX1Cin8ltsrQ7FHf2bhwhRHK0S54YuA6LOoBnY/NtA8bHDX/Z+G5sMY78X30NS9tg==", + "dev": true, + "dependencies": { + "@lerna/command": "3.21.0", + "@lerna/filter-options": "3.20.0", + "@lerna/listable": "3.18.5", + "@lerna/output": "3.13.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/listable": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-3.18.5.tgz", + "integrity": "sha512-Sdr3pVyaEv5A7ZkGGYR7zN+tTl2iDcinryBPvtuv20VJrXBE8wYcOks1edBTcOWsPjCE/rMP4bo1pseyk3UTsg==", + "dev": true, + "dependencies": { + "@lerna/query-graph": "3.18.5", + "chalk": "^2.3.1", + "columnify": "^1.5.4" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/log-packed": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-3.16.0.tgz", + "integrity": "sha512-Fp+McSNBV/P2mnLUYTaSlG8GSmpXM7krKWcllqElGxvAqv6chk2K3c2k80MeVB4WvJ9tRjUUf+i7HUTiQ9/ckQ==", + "dev": true, + "dependencies": { + "byte-size": "^5.0.1", + "columnify": "^1.5.4", + "has-unicode": "^2.0.1", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/npm-conf": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-3.16.0.tgz", + "integrity": "sha512-HbO3DUrTkCAn2iQ9+FF/eisDpWY5POQAOF1m7q//CZjdC2HSW3UYbKEGsSisFxSfaF9Z4jtrV+F/wX6qWs3CuA==", + "dev": true, + "dependencies": { + "config-chain": "^1.1.11", + "pify": "^4.0.1" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/npm-dist-tag": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-3.18.5.tgz", + "integrity": "sha512-xw0HDoIG6HreVsJND9/dGls1c+lf6vhu7yJoo56Sz5bvncTloYGLUppIfDHQr4ZvmPCK8rsh0euCVh2giPxzKQ==", + "dev": true, + "dependencies": { + "@evocateur/npm-registry-fetch": "^4.0.0", + "@lerna/otplease": "3.18.5", + "figgy-pudding": "^3.5.1", + "npm-package-arg": "^6.1.0", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/npm-install": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-3.16.5.tgz", + "integrity": "sha512-hfiKk8Eku6rB9uApqsalHHTHY+mOrrHeWEs+gtg7+meQZMTS3kzv4oVp5cBZigndQr3knTLjwthT/FX4KvseFg==", + "dev": true, + "dependencies": { + "@lerna/child-process": "3.16.5", + "@lerna/get-npm-exec-opts": "3.13.0", + "fs-extra": "^8.1.0", + "npm-package-arg": "^6.1.0", + "npmlog": "^4.1.2", + "signal-exit": "^3.0.2", + "write-pkg": "^3.1.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/npm-publish": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-3.18.5.tgz", + "integrity": "sha512-3etLT9+2L8JAx5F8uf7qp6iAtOLSMj+ZYWY6oUgozPi/uLqU0/gsMsEXh3F0+YVW33q0M61RpduBoAlOOZnaTg==", + "dev": true, + "dependencies": { + "@evocateur/libnpmpublish": "^1.2.2", + "@lerna/otplease": "3.18.5", + "@lerna/run-lifecycle": "3.16.2", + "figgy-pudding": "^3.5.1", + "fs-extra": "^8.1.0", + "npm-package-arg": "^6.1.0", + "npmlog": "^4.1.2", + "pify": "^4.0.1", + "read-package-json": "^2.0.13" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/npm-run-script": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-3.16.5.tgz", + "integrity": "sha512-1asRi+LjmVn3pMjEdpqKJZFT/3ZNpb+VVeJMwrJaV/3DivdNg7XlPK9LTrORuKU4PSvhdEZvJmSlxCKyDpiXsQ==", + "dev": true, + "dependencies": { + "@lerna/child-process": "3.16.5", + "@lerna/get-npm-exec-opts": "3.13.0", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/otplease": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-3.18.5.tgz", + "integrity": "sha512-S+SldXAbcXTEDhzdxYLU0ZBKuYyURP/ND2/dK6IpKgLxQYh/z4ScljPDMyKymmEvgiEJmBsPZAAPfmNPEzxjog==", + "dev": true, + "dependencies": { + "@lerna/prompt": "3.18.5", + "figgy-pudding": "^3.5.1" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/output": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@lerna/output/-/output-3.13.0.tgz", + "integrity": "sha512-7ZnQ9nvUDu/WD+bNsypmPG5MwZBwu86iRoiW6C1WBuXXDxM5cnIAC1m2WxHeFnjyMrYlRXM9PzOQ9VDD+C15Rg==", + "dev": true, + "dependencies": { + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/pack-directory": { + "version": "3.16.4", + "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-3.16.4.tgz", + "integrity": "sha512-uxSF0HZeGyKaaVHz5FroDY9A5NDDiCibrbYR6+khmrhZtY0Bgn6hWq8Gswl9iIlymA+VzCbshWIMX4o2O8C8ng==", + "dev": true, + "dependencies": { + "@lerna/get-packed": "3.16.0", + "@lerna/package": "3.16.0", + "@lerna/run-lifecycle": "3.16.2", + "figgy-pudding": "^3.5.1", + "npm-packlist": "^1.4.4", + "npmlog": "^4.1.2", + "tar": "^4.4.10", + "temp-write": "^3.4.0" + } + }, + "node_modules/@lerna/package": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@lerna/package/-/package-3.16.0.tgz", + "integrity": "sha512-2lHBWpaxcBoiNVbtyLtPUuTYEaB/Z+eEqRS9duxpZs6D+mTTZMNy6/5vpEVSCBmzvdYpyqhqaYjjSLvjjr5Riw==", + "dev": true, + "dependencies": { + "load-json-file": "^5.3.0", + "npm-package-arg": "^6.1.0", + "write-pkg": "^3.1.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/package-graph": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.18.5.tgz", + "integrity": "sha512-8QDrR9T+dBegjeLr+n9WZTVxUYUhIUjUgZ0gvNxUBN8S1WB9r6H5Yk56/MVaB64tA3oGAN9IIxX6w0WvTfFudA==", + "dev": true, + "dependencies": { + "@lerna/prerelease-id-from-version": "3.16.0", + "@lerna/validation-error": "3.13.0", + "npm-package-arg": "^6.1.0", + "npmlog": "^4.1.2", + "semver": "^6.2.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/prerelease-id-from-version": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-3.16.0.tgz", + "integrity": "sha512-qZyeUyrE59uOK8rKdGn7jQz+9uOpAaF/3hbslJVFL1NqF9ELDTqjCPXivuejMX/lN4OgD6BugTO4cR7UTq/sZA==", + "dev": true, + "dependencies": { + "semver": "^6.2.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/profiler": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-3.20.0.tgz", + "integrity": "sha512-bh8hKxAlm6yu8WEOvbLENm42i2v9SsR4WbrCWSbsmOElx3foRnMlYk7NkGECa+U5c3K4C6GeBbwgqs54PP7Ljg==", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1", + "fs-extra": "^8.1.0", + "npmlog": "^4.1.2", + "upath": "^1.2.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/project": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/project/-/project-3.21.0.tgz", + "integrity": "sha512-xT1mrpET2BF11CY32uypV2GPtPVm6Hgtha7D81GQP9iAitk9EccrdNjYGt5UBYASl4CIDXBRxwmTTVGfrCx82A==", + "dev": true, + "dependencies": { + "@lerna/package": "3.16.0", + "@lerna/validation-error": "3.13.0", + "cosmiconfig": "^5.1.0", + "dedent": "^0.7.0", + "dot-prop": "^4.2.0", + "glob-parent": "^5.0.0", + "globby": "^9.2.0", + "load-json-file": "^5.3.0", + "npmlog": "^4.1.2", + "p-map": "^2.1.0", + "resolve-from": "^4.0.0", + "write-json-file": "^3.2.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/prompt": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-3.18.5.tgz", + "integrity": "sha512-rkKj4nm1twSbBEb69+Em/2jAERK8htUuV8/xSjN0NPC+6UjzAwY52/x9n5cfmpa9lyKf/uItp7chCI7eDmNTKQ==", + "dev": true, + "dependencies": { + "inquirer": "^6.2.0", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/publish": { + "version": "3.22.1", + "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-3.22.1.tgz", + "integrity": "sha512-PG9CM9HUYDreb1FbJwFg90TCBQooGjj+n/pb3gw/eH5mEDq0p8wKdLFe0qkiqUkm/Ub5C8DbVFertIo0Vd0zcw==", + "dev": true, + "dependencies": { + "@evocateur/libnpmaccess": "^3.1.2", + "@evocateur/npm-registry-fetch": "^4.0.0", + "@evocateur/pacote": "^9.6.3", + "@lerna/check-working-tree": "3.16.5", + "@lerna/child-process": "3.16.5", + "@lerna/collect-updates": "3.20.0", + "@lerna/command": "3.21.0", + "@lerna/describe-ref": "3.16.5", + "@lerna/log-packed": "3.16.0", + "@lerna/npm-conf": "3.16.0", + "@lerna/npm-dist-tag": "3.18.5", + "@lerna/npm-publish": "3.18.5", + "@lerna/otplease": "3.18.5", + "@lerna/output": "3.13.0", + "@lerna/pack-directory": "3.16.4", + "@lerna/prerelease-id-from-version": "3.16.0", + "@lerna/prompt": "3.18.5", + "@lerna/pulse-till-done": "3.13.0", + "@lerna/run-lifecycle": "3.16.2", + "@lerna/run-topologically": "3.18.5", + "@lerna/validation-error": "3.13.0", + "@lerna/version": "3.22.1", + "figgy-pudding": "^3.5.1", + "fs-extra": "^8.1.0", + "npm-package-arg": "^6.1.0", + "npmlog": "^4.1.2", + "p-finally": "^1.0.0", + "p-map": "^2.1.0", + "p-pipe": "^1.2.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/pulse-till-done": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-3.13.0.tgz", + "integrity": "sha512-1SOHpy7ZNTPulzIbargrgaJX387csN7cF1cLOGZiJQA6VqnS5eWs2CIrG8i8wmaUavj2QlQ5oEbRMVVXSsGrzA==", + "dev": true, + "dependencies": { + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/query-graph": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-3.18.5.tgz", + "integrity": "sha512-50Lf4uuMpMWvJ306be3oQDHrWV42nai9gbIVByPBYJuVW8dT8O8pA3EzitNYBUdLL9/qEVbrR0ry1HD7EXwtRA==", + "dev": true, + "dependencies": { + "@lerna/package-graph": "3.18.5", + "figgy-pudding": "^3.5.1" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/resolve-symlink": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-3.16.0.tgz", + "integrity": "sha512-Ibj5e7njVHNJ/NOqT4HlEgPFPtPLWsO7iu59AM5bJDcAJcR96mLZ7KGVIsS2tvaO7akMEJvt2P+ErwCdloG3jQ==", + "dev": true, + "dependencies": { + "fs-extra": "^8.1.0", + "npmlog": "^4.1.2", + "read-cmd-shim": "^1.0.1" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/rimraf-dir": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-3.16.5.tgz", + "integrity": "sha512-bQlKmO0pXUsXoF8lOLknhyQjOZsCc0bosQDoX4lujBXSWxHVTg1VxURtWf2lUjz/ACsJVDfvHZbDm8kyBk5okA==", + "dev": true, + "dependencies": { + "@lerna/child-process": "3.16.5", + "npmlog": "^4.1.2", + "path-exists": "^3.0.0", + "rimraf": "^2.6.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/run": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/run/-/run-3.21.0.tgz", + "integrity": "sha512-fJF68rT3veh+hkToFsBmUJ9MHc9yGXA7LSDvhziAojzOb0AI/jBDp6cEcDQyJ7dbnplba2Lj02IH61QUf9oW0Q==", + "dev": true, + "dependencies": { + "@lerna/command": "3.21.0", + "@lerna/filter-options": "3.20.0", + "@lerna/npm-run-script": "3.16.5", + "@lerna/output": "3.13.0", + "@lerna/profiler": "3.20.0", + "@lerna/run-topologically": "3.18.5", + "@lerna/timer": "3.13.0", + "@lerna/validation-error": "3.13.0", + "p-map": "^2.1.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/run-lifecycle": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-3.16.2.tgz", + "integrity": "sha512-RqFoznE8rDpyyF0rOJy3+KjZCeTkO8y/OB9orPauR7G2xQ7PTdCpgo7EO6ZNdz3Al+k1BydClZz/j78gNCmL2A==", + "dev": true, + "dependencies": { + "@lerna/npm-conf": "3.16.0", + "figgy-pudding": "^3.5.1", + "npm-lifecycle": "^3.1.2", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/run-topologically": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-3.18.5.tgz", + "integrity": "sha512-6N1I+6wf4hLOnPW+XDZqwufyIQ6gqoPfHZFkfWlvTQ+Ue7CuF8qIVQ1Eddw5HKQMkxqN10thKOFfq/9NQZ4NUg==", + "dev": true, + "dependencies": { + "@lerna/query-graph": "3.18.5", + "figgy-pudding": "^3.5.1", + "p-queue": "^4.0.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/symlink-binary": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-3.17.0.tgz", + "integrity": "sha512-RLpy9UY6+3nT5J+5jkM5MZyMmjNHxZIZvXLV+Q3MXrf7Eaa1hNqyynyj4RO95fxbS+EZc4XVSk25DGFQbcRNSQ==", + "dev": true, + "dependencies": { + "@lerna/create-symlink": "3.16.2", + "@lerna/package": "3.16.0", + "fs-extra": "^8.1.0", + "p-map": "^2.1.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/symlink-dependencies": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-3.17.0.tgz", + "integrity": "sha512-KmjU5YT1bpt6coOmdFueTJ7DFJL4H1w5eF8yAQ2zsGNTtZ+i5SGFBWpb9AQaw168dydc3s4eu0W0Sirda+F59Q==", + "dev": true, + "dependencies": { + "@lerna/create-symlink": "3.16.2", + "@lerna/resolve-symlink": "3.16.0", + "@lerna/symlink-binary": "3.17.0", + "fs-extra": "^8.1.0", + "p-finally": "^1.0.0", + "p-map": "^2.1.0", + "p-map-series": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/timer": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-3.13.0.tgz", + "integrity": "sha512-RHWrDl8U4XNPqY5MQHkToWS9jHPnkLZEt5VD+uunCKTfzlxGnRCr3/zVr8VGy/uENMYpVP3wJa4RKGY6M0vkRw==", + "dev": true, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/validation-error": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-3.13.0.tgz", + "integrity": "sha512-SiJP75nwB8GhgwLKQfdkSnDufAaCbkZWJqEDlKOUPUvVOplRGnfL+BPQZH5nvq2BYSRXsksXWZ4UHVnQZI/HYA==", + "dev": true, + "dependencies": { + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/version": { + "version": "3.22.1", + "resolved": "https://registry.npmjs.org/@lerna/version/-/version-3.22.1.tgz", + "integrity": "sha512-PSGt/K1hVqreAFoi3zjD0VEDupQ2WZVlVIwesrE5GbrL2BjXowjCsTDPqblahDUPy0hp6h7E2kG855yLTp62+g==", + "dev": true, + "dependencies": { + "@lerna/check-working-tree": "3.16.5", + "@lerna/child-process": "3.16.5", + "@lerna/collect-updates": "3.20.0", + "@lerna/command": "3.21.0", + "@lerna/conventional-commits": "3.22.0", + "@lerna/github-client": "3.22.0", + "@lerna/gitlab-client": "3.15.0", + "@lerna/output": "3.13.0", + "@lerna/prerelease-id-from-version": "3.16.0", + "@lerna/prompt": "3.18.5", + "@lerna/run-lifecycle": "3.16.2", + "@lerna/run-topologically": "3.18.5", + "@lerna/validation-error": "3.13.0", + "chalk": "^2.3.1", + "dedent": "^0.7.0", + "load-json-file": "^5.3.0", + "minimatch": "^3.0.4", + "npmlog": "^4.1.2", + "p-map": "^2.1.0", + "p-pipe": "^1.2.0", + "p-reduce": "^1.0.0", + "p-waterfall": "^1.0.0", + "semver": "^6.2.0", + "slash": "^2.0.0", + "temp-write": "^3.4.0", + "write-json-file": "^3.2.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@lerna/write-log-file": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-3.13.0.tgz", + "integrity": "sha512-RibeMnDPvlL8bFYW5C8cs4mbI3AHfQef73tnJCQ/SgrXZHehmHnsyWUiE7qDQCAo+B1RfTapvSyFF69iPj326A==", + "dev": true, + "dependencies": { + "npmlog": "^4.1.2", + "write-file-atomic": "^2.3.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "dependencies": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "dev": true, + "peer": true, + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/core/node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dev": true, + "peer": true, + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/core/node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true, + "peer": true + }, + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/endpoint/node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + }, + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "dev": true, + "peer": true, + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/graphql/node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true, + "peer": true + }, + "node_modules/@octokit/openapi-types": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", + "dev": true + }, + "node_modules/@octokit/plugin-enterprise-rest": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", + "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==", + "dev": true + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz", + "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==", + "dev": true, + "dependencies": { + "@octokit/types": "^2.0.1" + } + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "dependencies": { + "@types/node": ">= 8" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "dev": true, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz", + "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==", + "dev": true, + "dependencies": { + "@octokit/types": "^2.0.1", + "deprecation": "^2.3.1" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "dependencies": { + "@types/node": ">= 8" + } + }, + "node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "dev": true, + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/request-error": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz", + "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==", + "dev": true, + "dependencies": { + "@octokit/types": "^2.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "dependencies": { + "@types/node": ">= 8" + } + }, + "node_modules/@octokit/request/node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/request/node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + }, + "node_modules/@octokit/rest": { + "version": "16.43.2", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz", + "integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==", + "dev": true, + "dependencies": { + "@octokit/auth-token": "^2.4.0", + "@octokit/plugin-paginate-rest": "^1.1.1", + "@octokit/plugin-request-log": "^1.0.0", + "@octokit/plugin-rest-endpoint-methods": "2.4.0", + "@octokit/request": "^5.2.0", + "@octokit/request-error": "^1.0.2", + "atob-lite": "^2.0.0", + "before-after-hook": "^2.0.0", + "btoa-lite": "^1.0.0", + "deprecation": "^2.0.0", + "lodash.get": "^4.4.2", + "lodash.set": "^4.3.2", + "lodash.uniq": "^4.5.0", + "octokit-pagination-methods": "^1.1.0", + "once": "^1.4.0", + "universal-user-agent": "^4.0.0" + } + }, + "node_modules/@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "dependencies": { + "@octokit/openapi-types": "^11.2.0" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "17.0.41", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.41.tgz", + "integrity": "sha512-xA6drNNeqb5YyV5fO3OAEsnXLfO7uF0whiOfPTz5AeDo8KeZFmODKnvwPymMNO8qE/an8pVY/O50tig2SQCrGw==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@zkochan/cmd-shim": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@zkochan/cmd-shim/-/cmd-shim-3.1.0.tgz", + "integrity": "sha512-o8l0+x7C7sMZU3v9GuJIAU10qQLtwR1dtRQIOmlNMtyaqhmpXOzx1HWiYoWfmmf9HHZoAkXpc9TM9PQYF9d4Jg==", + "dev": true, + "dependencies": { + "is-windows": "^1.0.0", + "mkdirp-promise": "^5.0.1", + "mz": "^2.5.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", + "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", + "dev": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/are-we-there-yet/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/are-we-there-yet/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-differ": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-2.1.0.tgz", + "integrity": "sha512-KbUpJgx909ZscOc/7CLATBFam7P1Z1QRQInvgT0UztM9Q72aGKCunKASAl7WNW0tnPmPyEMeMhdsfWhfmW037w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", + "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/atob-lite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", + "integrity": "sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw==", + "dev": true + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/before-after-hook": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", + "dev": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==", + "dev": true + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", + "dev": true + }, + "node_modules/byline": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", + "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/byte-size": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-5.0.1.tgz", + "integrity": "sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==", + "dev": true + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "dev": true, + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "dev": true, + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/columnify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", + "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", + "dev": true, + "dependencies": { + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "node_modules/compare-func/node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/compare-func/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "engines": [ + "node >= 6.0" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz", + "integrity": "sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==", + "dev": true, + "dependencies": { + "conventional-changelog-writer": "^4.0.6", + "conventional-commits-parser": "^3.0.3", + "dateformat": "^3.0.0", + "get-pkg-repo": "^1.0.0", + "git-raw-commits": "2.0.0", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^2.0.3", + "lodash": "^4.2.1", + "normalize-package-data": "^2.3.5", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", + "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.6", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, + "dependencies": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "dev": true, + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-parser/node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/conventional-recommended-bump": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-5.0.1.tgz", + "integrity": "sha512-RVdt0elRcCxL90IrNP0fYCpq1uGt2MALko0eyeQ+zQuDVWtMGAy9ng6yYn3kax42lCj9+XBxQ8ZN6S9bdKxDhQ==", + "dev": true, + "dependencies": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.1.1", + "conventional-commits-filter": "^2.0.2", + "conventional-commits-parser": "^3.0.3", + "git-raw-commits": "2.0.0", + "git-semver-tags": "^2.0.3", + "meow": "^4.0.0", + "q": "^1.5.1" + }, + "bin": { + "conventional-recommended-bump": "cli.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/conventional-recommended-bump/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-recommended-bump/node_modules/camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-recommended-bump/node_modules/indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-recommended-bump/node_modules/map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-recommended-bump/node_modules/meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "dependencies": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-recommended-bump/node_modules/minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/conventional-recommended-bump/node_modules/quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-recommended-bump/node_modules/redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", + "dev": true, + "dependencies": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-recommended-bump/node_modules/strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-recommended-bump/node_modules/trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-concurrently/node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", + "dev": true, + "dependencies": { + "array-find-index": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==", + "dev": true + }, + "node_modules/dargs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", + "integrity": "sha512-jyweV/k0rbv2WK4r9KLayuBrSh2Py0tNmV7LBoSMH4hMQyrG8OPyIOWB2VEx4DJKXWmK4lopYMVvORlDt2S8Aw==", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/debuglog": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, + "node_modules/detect-indent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "dependencies": { + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/dot-prop": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", + "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "dev": true, + "dependencies": { + "is-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "dev": true, + "dependencies": { + "es6-promise": "^4.0.3" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "dev": true + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "dependencies": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/flush-write-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/flush-write-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/from2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "dependencies": { + "minipass": "^2.6.0" + } + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/fs-write-stream-atomic/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/gauge/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gauge/node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/gauge/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gauge/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gauge/node_modules/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, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/genfun": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", + "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", + "dev": true + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-pkg-repo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", + "integrity": "sha512-xPCyvcEOxCJDxhBfXDNH+zA7mIRGb2aY1gIUJWsZkpJbp1BLHl+/Sycg26Dv+ZbZAJkO61tzbBtqHUi30NGBvg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "meow": "^3.3.0", + "normalize-package-data": "^2.3.0", + "parse-github-repo-url": "^1.3.0", + "through2": "^2.0.0" + }, + "bin": { + "get-pkg-repo": "cli.js" + } + }, + "node_modules/get-pkg-repo/node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==", + "dev": true, + "dependencies": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", + "dev": true, + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==", + "dev": true, + "dependencies": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dev": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/get-pkg-repo/node_modules/redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==", + "dev": true, + "dependencies": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/get-pkg-repo/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/get-pkg-repo/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "dependencies": { + "get-stdin": "^4.0.1" + }, + "bin": { + "strip-indent": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/get-pkg-repo/node_modules/trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/git-raw-commits": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", + "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", + "dev": true, + "dependencies": { + "dargs": "^4.0.1", + "lodash.template": "^4.0.2", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0" + }, + "bin": { + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/git-raw-commits/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-raw-commits/node_modules/camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-raw-commits/node_modules/indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-raw-commits/node_modules/map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-raw-commits/node_modules/meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "dependencies": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-raw-commits/node_modules/minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/git-raw-commits/node_modules/quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-raw-commits/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/git-raw-commits/node_modules/redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", + "dev": true, + "dependencies": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-raw-commits/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/git-raw-commits/node_modules/split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, + "dependencies": { + "through2": "^2.0.2" + } + }, + "node_modules/git-raw-commits/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/git-raw-commits/node_modules/strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-raw-commits/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/git-raw-commits/node_modules/trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, + "dependencies": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-remote-origin-url/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/git-semver-tags": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz", + "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==", + "dev": true, + "dependencies": { + "meow": "^4.0.0", + "semver": "^6.0.0" + }, + "bin": { + "git-semver-tags": "cli.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/git-semver-tags/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-semver-tags/node_modules/camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-semver-tags/node_modules/indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-semver-tags/node_modules/map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-semver-tags/node_modules/meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "dependencies": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-semver-tags/node_modules/minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/git-semver-tags/node_modules/quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-semver-tags/node_modules/redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", + "dev": true, + "dependencies": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-semver-tags/node_modules/strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-semver-tags/node_modules/trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-up": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz", + "integrity": "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==", + "dev": true, + "dependencies": { + "is-ssh": "^1.3.0", + "parse-url": "^6.0.0" + } + }, + "node_modules/git-url-parse": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz", + "integrity": "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==", + "dev": true, + "dependencies": { + "git-up": "^4.0.0" + } + }, + "node_modules/gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "dev": true, + "dependencies": { + "ini": "^1.3.2" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==", + "dev": true + }, + "node_modules/globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, + "node_modules/http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "dev": true, + "dependencies": { + "agent-base": "4", + "debug": "3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "dev": true, + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/init-package-json": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz", + "integrity": "sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==", + "dev": true, + "dependencies": { + "glob": "^7.1.1", + "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^3.0.0" + } + }, + "node_modules/init-package-json/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha512-rBtCAQAJm8A110nbwn6YdveUnuZH3WrC36IwkRXxDnq53JvXA2NVQvB7IHyKomxK1MJ4VDNw3UtFDdXQ+AvLYA==", + "dev": true + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ssh": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz", + "integrity": "sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==", + "dev": true, + "dependencies": { + "protocols": "^1.1.0" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "dependencies": { + "text-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lerna": { + "version": "3.22.1", + "resolved": "https://registry.npmjs.org/lerna/-/lerna-3.22.1.tgz", + "integrity": "sha512-vk1lfVRFm+UuEFA7wkLKeSF7Iz13W+N/vFd48aW2yuS7Kv0RbNm2/qcDPV863056LMfkRlsEe+QYOw3palj5Lg==", + "dev": true, + "dependencies": { + "@lerna/add": "3.21.0", + "@lerna/bootstrap": "3.21.0", + "@lerna/changed": "3.21.0", + "@lerna/clean": "3.21.0", + "@lerna/cli": "3.18.5", + "@lerna/create": "3.22.0", + "@lerna/diff": "3.21.0", + "@lerna/exec": "3.21.0", + "@lerna/import": "3.22.0", + "@lerna/info": "3.21.0", + "@lerna/init": "3.21.0", + "@lerna/link": "3.21.0", + "@lerna/list": "3.21.0", + "@lerna/publish": "3.22.1", + "@lerna/run": "3.21.0", + "@lerna/version": "3.22.1", + "import-local": "^2.0.0", + "npmlog": "^4.1.2" + }, + "bin": { + "lerna": "cli.js" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/load-json-file": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", + "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.15", + "parse-json": "^4.0.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0", + "type-fest": "^0.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "dev": true + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true + }, + "node_modules/lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", + "dev": true + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "node_modules/loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", + "dev": true, + "dependencies": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/macos-release": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz", + "integrity": "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/make-fetch-happen": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz", + "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", + "dev": true, + "dependencies": { + "agentkeepalive": "^3.4.1", + "cacache": "^12.0.0", + "http-cache-semantics": "^3.8.1", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "node-fetch-npm": "^2.0.2", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^4.0.0", + "ssri": "^6.0.0" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/meow/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "dependencies": { + "minipass": "^2.9.0" + } + }, + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mississippi/node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/mississippi/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/mississippi/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/mississippi/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/mississippi/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp-promise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", + "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==", + "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.", + "dev": true, + "dependencies": { + "mkdirp": "*" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/move-concurrently/node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/multimatch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-3.0.0.tgz", + "integrity": "sha512-22foS/gqQfANZ3o+W7ST2x25ueHDVNWl/b9OlGcLpy/iKxjCpvcNCM51YCenUi7Mt/jAjjqv8JwZRs8YP5sRjA==", + "dev": true, + "dependencies": { + "array-differ": "^2.0.3", + "array-union": "^1.0.2", + "arrify": "^1.0.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-npm": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz", + "integrity": "sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==", + "dev": true, + "dependencies": { + "encoding": "^0.1.11", + "json-parse-better-errors": "^1.0.0", + "safe-buffer": "^5.1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/node-gyp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz", + "integrity": "sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "mkdirp": "^0.5.1", + "nopt": "^4.0.1", + "npmlog": "^4.1.2", + "request": "^2.88.0", + "rimraf": "^2.6.3", + "semver": "^5.7.1", + "tar": "^4.4.12", + "which": "^1.3.1" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/node-gyp/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm-lifecycle": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz", + "integrity": "sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g==", + "dev": true, + "dependencies": { + "byline": "^5.0.0", + "graceful-fs": "^4.1.15", + "node-gyp": "^5.0.2", + "resolve-from": "^4.0.0", + "slide": "^1.1.6", + "uid-number": "0.0.6", + "umask": "^1.1.0", + "which": "^1.3.1" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "node_modules/npm-package-arg": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", + "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.7.1", + "osenv": "^0.1.5", + "semver": "^5.6.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "node_modules/npm-package-arg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/npm-packlist": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", + "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "dev": true, + "dependencies": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm-pick-manifest": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", + "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1", + "npm-package-arg": "^6.0.0", + "semver": "^5.4.1" + } + }, + "node_modules/npm-pick-manifest/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", + "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", + "dev": true, + "dependencies": { + "array.prototype.reduce": "^1.0.4", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/octokit-pagination-methods": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz", + "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==", + "dev": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-name": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", + "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==", + "dev": true, + "dependencies": { + "macos-release": "^2.2.0", + "windows-release": "^3.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-map-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", + "integrity": "sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg==", + "dev": true, + "dependencies": { + "p-reduce": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-pipe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", + "integrity": "sha512-IA8SqjIGA8l9qOksXJvsvkeQ+VGb0TAzNCzvKvz9wt5wWLqfWbV6fXy43gpR2L4Te8sOq3S+Ql9biAaMKPdbtw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-queue": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-4.0.0.tgz", + "integrity": "sha512-3cRXXn3/O0o3+eVmUroJPSj/esxoEFIm0ZOno/T+NzG/VZgPOqQ8WKmlNqubSEpZmCIngEy34unkHGg83ZIBmg==", + "dev": true, + "dependencies": { + "eventemitter3": "^3.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-waterfall": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-waterfall/-/p-waterfall-1.0.0.tgz", + "integrity": "sha512-KeXddIp6jBT8qzyxfQGOGzNYc/7ftxKtRc5Uggre02yvbZrSBHE2M2C842/WizMBFD4s0Ngwz3QFOit2A+Ezrg==", + "dev": true, + "dependencies": { + "p-reduce": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/parallel-transform/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/parallel-transform/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/parse-github-repo-url": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", + "integrity": "sha512-bSWyzBKqcSL4RrncTpGsEKoJ7H8a4L3++ifTAbTFeMHyq2wRV+42DGmQcHIrJIvdcacjIOxEuKH/w4tthF17gg==", + "dev": true + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse-path": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.4.tgz", + "integrity": "sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw==", + "dev": true, + "dependencies": { + "is-ssh": "^1.3.0", + "protocols": "^1.4.0", + "qs": "^6.9.4", + "query-string": "^6.13.8" + } + }, + "node_modules/parse-url": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz", + "integrity": "sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw==", + "dev": true, + "dependencies": { + "is-ssh": "^1.3.0", + "normalize-url": "^6.1.0", + "parse-path": "^4.0.0", + "protocols": "^1.4.0" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", + "integrity": "sha512-StEy2osPr28o17bIW776GtwO6+Q+M9zPiZkYfosciUUMYqjhU/ffwRAH0zN2+uvGyUsn8/YICIHRzLbPacpZGw==", + "dev": true, + "dependencies": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/promzard": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", + "integrity": "sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw==", + "dev": true, + "dependencies": { + "read": "1" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true + }, + "node_modules/protocols": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", + "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==", + "dev": true + }, + "node_modules/protoduck": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", + "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", + "dev": true, + "dependencies": { + "genfun": "^5.0.0" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.10.5", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.5.tgz", + "integrity": "sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/query-string": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", + "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", + "dev": true, + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", + "dev": true, + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/read-cmd-shim": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz", + "integrity": "sha512-v5yCqQ/7okKoZZkBQUAfTsQ3sVJtXdNfbPnI5cceppoxEVLYA3k+VtV2omkeo8MS94JCy4fSiUwlRBAwCVRPUA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2" + } + }, + "node_modules/read-package-json": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz", + "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==", + "dev": true, + "dependencies": { + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" + } + }, + "node_modules/read-package-tree": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", + "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", + "deprecated": "The functionality that this package provided is now in @npmcli/arborist", + "dev": true, + "dependencies": { + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "util-promisify": "^2.1.0" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdir-scoped-modules": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", + "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", + "dev": true, + "dependencies": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dev": true, + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/run-queue/node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/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 + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/socks": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", + "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", + "dev": true, + "dependencies": { + "ip": "1.1.5", + "smart-buffer": "^4.1.0" + }, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", + "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", + "dev": true, + "dependencies": { + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "dev": true, + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true + }, + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strong-log-transformer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", + "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.1", + "minimist": "^1.2.0", + "through": "^2.3.4" + }, + "bin": { + "sl-log-transformer": "bin/sl-log-transformer.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "dev": true, + "dependencies": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/temp-write": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-3.4.0.tgz", + "integrity": "sha1-jP9jD7fp2gXwR8dM5M5NaFRX1JI=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "is-stream": "^1.1.0", + "make-dir": "^1.0.0", + "pify": "^3.0.0", + "temp-dir": "^1.0.0", + "uuid": "^3.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/temp-write/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/uglify-js": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.0.tgz", + "integrity": "sha512-FEikl6bR30n0T3amyBh3LoiBdqHRy/f4H80+My34HOesOKyHfOsxAPAxOoqC0JUnC1amnO0IwkYC3sko51caSw==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uid-number": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/umask": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz", + "integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=", + "dev": true + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universal-user-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz", + "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==", + "dev": true, + "dependencies": { + "os-name": "^3.1.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/util-promisify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", + "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", + "dev": true, + "dependencies": { + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, + "dependencies": { + "builtins": "^1.0.3" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/windows-release": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz", + "integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==", + "dev": true, + "dependencies": { + "execa": "^1.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/write-json-file": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", + "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", + "dev": true, + "dependencies": { + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.15", + "make-dir": "^2.1.0", + "pify": "^4.0.1", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.4.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/write-json-file/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/write-json-file/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/write-pkg": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-3.2.0.tgz", + "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", + "dev": true, + "dependencies": { + "sort-keys": "^2.0.0", + "write-json-file": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/write-pkg/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/write-pkg/node_modules/write-json-file": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-2.3.0.tgz", + "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", + "dev": true, + "dependencies": { + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "pify": "^3.0.0", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", + "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", + "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@evocateur/libnpmaccess": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz", + "integrity": "sha512-KSCAHwNWro0CF2ukxufCitT9K5LjL/KuMmNzSu8wuwN2rjyKHD8+cmOsiybK+W5hdnwc5M1SmRlVCaMHQo+3rg==", + "dev": true, + "requires": { + "@evocateur/npm-registry-fetch": "^4.0.0", + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "npm-package-arg": "^6.1.0" + } + }, + "@evocateur/libnpmpublish": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@evocateur/libnpmpublish/-/libnpmpublish-1.2.2.tgz", + "integrity": "sha512-MJrrk9ct1FeY9zRlyeoyMieBjGDG9ihyyD9/Ft6MMrTxql9NyoEx2hw9casTIP4CdqEVu+3nQ2nXxoJ8RCXyFg==", + "dev": true, + "requires": { + "@evocateur/npm-registry-fetch": "^4.0.0", + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "lodash.clonedeep": "^4.5.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "semver": "^5.5.1", + "ssri": "^6.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@evocateur/npm-registry-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@evocateur/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz", + "integrity": "sha512-k1WGfKRQyhJpIr+P17O5vLIo2ko1PFLKwoetatdduUSt/aQ4J2sJrJwwatdI5Z3SiYk/mRH9S3JpdmMFd/IK4g==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "figgy-pudding": "^3.4.1", + "JSONStream": "^1.3.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "npm-package-arg": "^6.1.0", + "safe-buffer": "^5.1.2" + } + }, + "@evocateur/pacote": { + "version": "9.6.5", + "resolved": "https://registry.npmjs.org/@evocateur/pacote/-/pacote-9.6.5.tgz", + "integrity": "sha512-EI552lf0aG2nOV8NnZpTxNo2PcXKPmDbF9K8eCBFQdIZwHNGN/mi815fxtmUMa2wTa1yndotICIDt/V0vpEx2w==", + "dev": true, + "requires": { + "@evocateur/npm-registry-fetch": "^4.0.0", + "bluebird": "^3.5.3", + "cacache": "^12.0.3", + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.1.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "minimatch": "^3.0.4", + "minipass": "^2.3.5", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "normalize-package-data": "^2.5.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.4.4", + "npm-pick-manifest": "^3.0.0", + "osenv": "^0.1.5", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^5.0.1", + "rimraf": "^2.6.3", + "safe-buffer": "^5.2.0", + "semver": "^5.7.0", + "ssri": "^6.0.1", + "tar": "^4.4.10", + "unique-filename": "^1.1.1", + "which": "^1.3.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@lerna/add": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/add/-/add-3.21.0.tgz", + "integrity": "sha512-vhUXXF6SpufBE1EkNEXwz1VLW03f177G9uMOFMQkp6OJ30/PWg4Ekifuz9/3YfgB2/GH8Tu4Lk3O51P2Hskg/A==", + "dev": true, + "requires": { + "@evocateur/pacote": "^9.6.3", + "@lerna/bootstrap": "3.21.0", + "@lerna/command": "3.21.0", + "@lerna/filter-options": "3.20.0", + "@lerna/npm-conf": "3.16.0", + "@lerna/validation-error": "3.13.0", + "dedent": "^0.7.0", + "npm-package-arg": "^6.1.0", + "p-map": "^2.1.0", + "semver": "^6.2.0" + } + }, + "@lerna/bootstrap": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.21.0.tgz", + "integrity": "sha512-mtNHlXpmvJn6JTu0KcuTTPl2jLsDNud0QacV/h++qsaKbhAaJr/FElNZ5s7MwZFUM3XaDmvWzHKaszeBMHIbBw==", + "dev": true, + "requires": { + "@lerna/command": "3.21.0", + "@lerna/filter-options": "3.20.0", + "@lerna/has-npm-version": "3.16.5", + "@lerna/npm-install": "3.16.5", + "@lerna/package-graph": "3.18.5", + "@lerna/pulse-till-done": "3.13.0", + "@lerna/rimraf-dir": "3.16.5", + "@lerna/run-lifecycle": "3.16.2", + "@lerna/run-topologically": "3.18.5", + "@lerna/symlink-binary": "3.17.0", + "@lerna/symlink-dependencies": "3.17.0", + "@lerna/validation-error": "3.13.0", + "dedent": "^0.7.0", + "get-port": "^4.2.0", + "multimatch": "^3.0.0", + "npm-package-arg": "^6.1.0", + "npmlog": "^4.1.2", + "p-finally": "^1.0.0", + "p-map": "^2.1.0", + "p-map-series": "^1.0.0", + "p-waterfall": "^1.0.0", + "read-package-tree": "^5.1.6", + "semver": "^6.2.0" + } + }, + "@lerna/changed": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-3.21.0.tgz", + "integrity": "sha512-hzqoyf8MSHVjZp0gfJ7G8jaz+++mgXYiNs9iViQGA8JlN/dnWLI5sWDptEH3/B30Izo+fdVz0S0s7ydVE3pWIw==", + "dev": true, + "requires": { + "@lerna/collect-updates": "3.20.0", + "@lerna/command": "3.21.0", + "@lerna/listable": "3.18.5", + "@lerna/output": "3.13.0" + } + }, + "@lerna/check-working-tree": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-3.16.5.tgz", + "integrity": "sha512-xWjVBcuhvB8+UmCSb5tKVLB5OuzSpw96WEhS2uz6hkWVa/Euh1A0/HJwn2cemyK47wUrCQXtczBUiqnq9yX5VQ==", + "dev": true, + "requires": { + "@lerna/collect-uncommitted": "3.16.5", + "@lerna/describe-ref": "3.16.5", + "@lerna/validation-error": "3.13.0" + } + }, + "@lerna/child-process": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-3.16.5.tgz", + "integrity": "sha512-vdcI7mzei9ERRV4oO8Y1LHBZ3A5+ampRKg1wq5nutLsUA4mEBN6H7JqjWOMY9xZemv6+kATm2ofjJ3lW5TszQg==", + "dev": true, + "requires": { + "chalk": "^2.3.1", + "execa": "^1.0.0", + "strong-log-transformer": "^2.0.0" + } + }, + "@lerna/clean": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-3.21.0.tgz", + "integrity": "sha512-b/L9l+MDgE/7oGbrav6rG8RTQvRiZLO1zTcG17zgJAAuhlsPxJExMlh2DFwJEVi2les70vMhHfST3Ue1IMMjpg==", + "dev": true, + "requires": { + "@lerna/command": "3.21.0", + "@lerna/filter-options": "3.20.0", + "@lerna/prompt": "3.18.5", + "@lerna/pulse-till-done": "3.13.0", + "@lerna/rimraf-dir": "3.16.5", + "p-map": "^2.1.0", + "p-map-series": "^1.0.0", + "p-waterfall": "^1.0.0" + } + }, + "@lerna/cli": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-3.18.5.tgz", + "integrity": "sha512-erkbxkj9jfc89vVs/jBLY/fM0I80oLmJkFUV3Q3wk9J3miYhP14zgVEBsPZY68IZlEjT6T3Xlq2xO1AVaatHsA==", + "dev": true, + "requires": { + "@lerna/global-options": "3.13.0", + "dedent": "^0.7.0", + "npmlog": "^4.1.2", + "yargs": "^14.2.2" + } + }, + "@lerna/collect-uncommitted": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-3.16.5.tgz", + "integrity": "sha512-ZgqnGwpDZiWyzIQVZtQaj9tRizsL4dUOhuOStWgTAw1EMe47cvAY2kL709DzxFhjr6JpJSjXV5rZEAeU3VE0Hg==", + "dev": true, + "requires": { + "@lerna/child-process": "3.16.5", + "chalk": "^2.3.1", + "figgy-pudding": "^3.5.1", + "npmlog": "^4.1.2" + } + }, + "@lerna/collect-updates": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-3.20.0.tgz", + "integrity": "sha512-qBTVT5g4fupVhBFuY4nI/3FSJtQVcDh7/gEPOpRxoXB/yCSnT38MFHXWl+y4einLciCjt/+0x6/4AG80fjay2Q==", + "dev": true, + "requires": { + "@lerna/child-process": "3.16.5", + "@lerna/describe-ref": "3.16.5", + "minimatch": "^3.0.4", + "npmlog": "^4.1.2", + "slash": "^2.0.0" + } + }, + "@lerna/command": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/command/-/command-3.21.0.tgz", + "integrity": "sha512-T2bu6R8R3KkH5YoCKdutKv123iUgUbW8efVjdGCDnCMthAQzoentOJfDeodBwn0P2OqCl3ohsiNVtSn9h78fyQ==", + "dev": true, + "requires": { + "@lerna/child-process": "3.16.5", + "@lerna/package-graph": "3.18.5", + "@lerna/project": "3.21.0", + "@lerna/validation-error": "3.13.0", + "@lerna/write-log-file": "3.13.0", + "clone-deep": "^4.0.1", + "dedent": "^0.7.0", + "execa": "^1.0.0", + "is-ci": "^2.0.0", + "npmlog": "^4.1.2" + } + }, + "@lerna/conventional-commits": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-3.22.0.tgz", + "integrity": "sha512-z4ZZk1e8Mhz7+IS8NxHr64wyklHctCJyWpJKEZZPJiLFJ8yKto/x38O80R10pIzC0rr8Sy/OsjSH4bl0TbbgqA==", + "dev": true, + "requires": { + "@lerna/validation-error": "3.13.0", + "conventional-changelog-angular": "^5.0.3", + "conventional-changelog-core": "^3.1.6", + "conventional-recommended-bump": "^5.0.0", + "fs-extra": "^8.1.0", + "get-stream": "^4.0.0", + "lodash.template": "^4.5.0", + "npm-package-arg": "^6.1.0", + "npmlog": "^4.1.2", + "pify": "^4.0.1", + "semver": "^6.2.0" + } + }, + "@lerna/create": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@lerna/create/-/create-3.22.0.tgz", + "integrity": "sha512-MdiQQzCcB4E9fBF1TyMOaAEz9lUjIHp1Ju9H7f3lXze5JK6Fl5NYkouAvsLgY6YSIhXMY8AHW2zzXeBDY4yWkw==", + "dev": true, + "requires": { + "@evocateur/pacote": "^9.6.3", + "@lerna/child-process": "3.16.5", + "@lerna/command": "3.21.0", + "@lerna/npm-conf": "3.16.0", + "@lerna/validation-error": "3.13.0", + "camelcase": "^5.0.0", + "dedent": "^0.7.0", + "fs-extra": "^8.1.0", + "globby": "^9.2.0", + "init-package-json": "^1.10.3", + "npm-package-arg": "^6.1.0", + "p-reduce": "^1.0.0", + "pify": "^4.0.1", + "semver": "^6.2.0", + "slash": "^2.0.0", + "validate-npm-package-license": "^3.0.3", + "validate-npm-package-name": "^3.0.0", + "whatwg-url": "^7.0.0" + } + }, + "@lerna/create-symlink": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-3.16.2.tgz", + "integrity": "sha512-pzXIJp6av15P325sgiIRpsPXLFmkisLhMBCy4764d+7yjf2bzrJ4gkWVMhsv4AdF0NN3OyZ5jjzzTtLNqfR+Jw==", + "dev": true, + "requires": { + "@zkochan/cmd-shim": "^3.1.0", + "fs-extra": "^8.1.0", + "npmlog": "^4.1.2" + } + }, + "@lerna/describe-ref": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-3.16.5.tgz", + "integrity": "sha512-c01+4gUF0saOOtDBzbLMFOTJDHTKbDFNErEY6q6i9QaXuzy9LNN62z+Hw4acAAZuJQhrVWncVathcmkkjvSVGw==", + "dev": true, + "requires": { + "@lerna/child-process": "3.16.5", + "npmlog": "^4.1.2" + } + }, + "@lerna/diff": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-3.21.0.tgz", + "integrity": "sha512-5viTR33QV3S7O+bjruo1SaR40m7F2aUHJaDAC7fL9Ca6xji+aw1KFkpCtVlISS0G8vikUREGMJh+c/VMSc8Usw==", + "dev": true, + "requires": { + "@lerna/child-process": "3.16.5", + "@lerna/command": "3.21.0", + "@lerna/validation-error": "3.13.0", + "npmlog": "^4.1.2" + } + }, + "@lerna/exec": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-3.21.0.tgz", + "integrity": "sha512-iLvDBrIE6rpdd4GIKTY9mkXyhwsJ2RvQdB9ZU+/NhR3okXfqKc6py/24tV111jqpXTtZUW6HNydT4dMao2hi1Q==", + "dev": true, + "requires": { + "@lerna/child-process": "3.16.5", + "@lerna/command": "3.21.0", + "@lerna/filter-options": "3.20.0", + "@lerna/profiler": "3.20.0", + "@lerna/run-topologically": "3.18.5", + "@lerna/validation-error": "3.13.0", + "p-map": "^2.1.0" + } + }, + "@lerna/filter-options": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.20.0.tgz", + "integrity": "sha512-bmcHtvxn7SIl/R9gpiNMVG7yjx7WyT0HSGw34YVZ9B+3xF/83N3r5Rgtjh4hheLZ+Q91Or0Jyu5O3Nr+AwZe2g==", + "dev": true, + "requires": { + "@lerna/collect-updates": "3.20.0", + "@lerna/filter-packages": "3.18.0", + "dedent": "^0.7.0", + "figgy-pudding": "^3.5.1", + "npmlog": "^4.1.2" + } + }, + "@lerna/filter-packages": { + "version": "3.18.0", + "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-3.18.0.tgz", + "integrity": "sha512-6/0pMM04bCHNATIOkouuYmPg6KH3VkPCIgTfQmdkPJTullERyEQfNUKikrefjxo1vHOoCACDpy65JYyKiAbdwQ==", + "dev": true, + "requires": { + "@lerna/validation-error": "3.13.0", + "multimatch": "^3.0.0", + "npmlog": "^4.1.2" + } + }, + "@lerna/get-npm-exec-opts": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-3.13.0.tgz", + "integrity": "sha512-Y0xWL0rg3boVyJk6An/vurKzubyJKtrxYv2sj4bB8Mc5zZ3tqtv0ccbOkmkXKqbzvNNF7VeUt1OJ3DRgtC/QZw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "@lerna/get-packed": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-3.16.0.tgz", + "integrity": "sha512-AjsFiaJzo1GCPnJUJZiTW6J1EihrPkc2y3nMu6m3uWFxoleklsSCyImumzVZJssxMi3CPpztj8LmADLedl9kXw==", + "dev": true, + "requires": { + "fs-extra": "^8.1.0", + "ssri": "^6.0.1", + "tar": "^4.4.8" + } + }, + "@lerna/github-client": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-3.22.0.tgz", + "integrity": "sha512-O/GwPW+Gzr3Eb5bk+nTzTJ3uv+jh5jGho9BOqKlajXaOkMYGBELEAqV5+uARNGWZFvYAiF4PgqHb6aCUu7XdXg==", + "dev": true, + "requires": { + "@lerna/child-process": "3.16.5", + "@octokit/plugin-enterprise-rest": "^6.0.1", + "@octokit/rest": "^16.28.4", + "git-url-parse": "^11.1.2", + "npmlog": "^4.1.2" + } + }, + "@lerna/gitlab-client": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-3.15.0.tgz", + "integrity": "sha512-OsBvRSejHXUBMgwWQqNoioB8sgzL/Pf1pOUhHKtkiMl6aAWjklaaq5HPMvTIsZPfS6DJ9L5OK2GGZuooP/5c8Q==", + "dev": true, + "requires": { + "node-fetch": "^2.5.0", + "npmlog": "^4.1.2", + "whatwg-url": "^7.0.0" + } + }, + "@lerna/global-options": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-3.13.0.tgz", + "integrity": "sha512-SlZvh1gVRRzYLVluz9fryY1nJpZ0FHDGB66U9tFfvnnxmueckRQxLopn3tXj3NU1kc3QANT2I5BsQkOqZ4TEFQ==", + "dev": true + }, + "@lerna/has-npm-version": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-3.16.5.tgz", + "integrity": "sha512-WL7LycR9bkftyqbYop5rEGJ9sRFIV55tSGmbN1HLrF9idwOCD7CLrT64t235t3t4O5gehDnwKI5h2U3oxTrF8Q==", + "dev": true, + "requires": { + "@lerna/child-process": "3.16.5", + "semver": "^6.2.0" + } + }, + "@lerna/import": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@lerna/import/-/import-3.22.0.tgz", + "integrity": "sha512-uWOlexasM5XR6tXi4YehODtH9Y3OZrFht3mGUFFT3OIl2s+V85xIGFfqFGMTipMPAGb2oF1UBLL48kR43hRsOg==", + "dev": true, + "requires": { + "@lerna/child-process": "3.16.5", + "@lerna/command": "3.21.0", + "@lerna/prompt": "3.18.5", + "@lerna/pulse-till-done": "3.13.0", + "@lerna/validation-error": "3.13.0", + "dedent": "^0.7.0", + "fs-extra": "^8.1.0", + "p-map-series": "^1.0.0" + } + }, + "@lerna/info": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/info/-/info-3.21.0.tgz", + "integrity": "sha512-0XDqGYVBgWxUquFaIptW2bYSIu6jOs1BtkvRTWDDhw4zyEdp6q4eaMvqdSap1CG+7wM5jeLCi6z94wS0AuiuwA==", + "dev": true, + "requires": { + "@lerna/command": "3.21.0", + "@lerna/output": "3.13.0", + "envinfo": "^7.3.1" + } + }, + "@lerna/init": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/init/-/init-3.21.0.tgz", + "integrity": "sha512-6CM0z+EFUkFfurwdJCR+LQQF6MqHbYDCBPyhu/d086LRf58GtYZYj49J8mKG9ktayp/TOIxL/pKKjgLD8QBPOg==", + "dev": true, + "requires": { + "@lerna/child-process": "3.16.5", + "@lerna/command": "3.21.0", + "fs-extra": "^8.1.0", + "p-map": "^2.1.0", + "write-json-file": "^3.2.0" + } + }, + "@lerna/link": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/link/-/link-3.21.0.tgz", + "integrity": "sha512-tGu9GxrX7Ivs+Wl3w1+jrLi1nQ36kNI32dcOssij6bg0oZ2M2MDEFI9UF2gmoypTaN9uO5TSsjCFS7aR79HbdQ==", + "dev": true, + "requires": { + "@lerna/command": "3.21.0", + "@lerna/package-graph": "3.18.5", + "@lerna/symlink-dependencies": "3.17.0", + "p-map": "^2.1.0", + "slash": "^2.0.0" + } + }, + "@lerna/list": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/list/-/list-3.21.0.tgz", + "integrity": "sha512-KehRjE83B1VaAbRRkRy6jLX1Cin8ltsrQ7FHf2bhwhRHK0S54YuA6LOoBnY/NtA8bHDX/Z+G5sMY78X30NS9tg==", + "dev": true, + "requires": { + "@lerna/command": "3.21.0", + "@lerna/filter-options": "3.20.0", + "@lerna/listable": "3.18.5", + "@lerna/output": "3.13.0" + } + }, + "@lerna/listable": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-3.18.5.tgz", + "integrity": "sha512-Sdr3pVyaEv5A7ZkGGYR7zN+tTl2iDcinryBPvtuv20VJrXBE8wYcOks1edBTcOWsPjCE/rMP4bo1pseyk3UTsg==", + "dev": true, + "requires": { + "@lerna/query-graph": "3.18.5", + "chalk": "^2.3.1", + "columnify": "^1.5.4" + } + }, + "@lerna/log-packed": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-3.16.0.tgz", + "integrity": "sha512-Fp+McSNBV/P2mnLUYTaSlG8GSmpXM7krKWcllqElGxvAqv6chk2K3c2k80MeVB4WvJ9tRjUUf+i7HUTiQ9/ckQ==", + "dev": true, + "requires": { + "byte-size": "^5.0.1", + "columnify": "^1.5.4", + "has-unicode": "^2.0.1", + "npmlog": "^4.1.2" + } + }, + "@lerna/npm-conf": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-3.16.0.tgz", + "integrity": "sha512-HbO3DUrTkCAn2iQ9+FF/eisDpWY5POQAOF1m7q//CZjdC2HSW3UYbKEGsSisFxSfaF9Z4jtrV+F/wX6qWs3CuA==", + "dev": true, + "requires": { + "config-chain": "^1.1.11", + "pify": "^4.0.1" + } + }, + "@lerna/npm-dist-tag": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-3.18.5.tgz", + "integrity": "sha512-xw0HDoIG6HreVsJND9/dGls1c+lf6vhu7yJoo56Sz5bvncTloYGLUppIfDHQr4ZvmPCK8rsh0euCVh2giPxzKQ==", + "dev": true, + "requires": { + "@evocateur/npm-registry-fetch": "^4.0.0", + "@lerna/otplease": "3.18.5", + "figgy-pudding": "^3.5.1", + "npm-package-arg": "^6.1.0", + "npmlog": "^4.1.2" + } + }, + "@lerna/npm-install": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-3.16.5.tgz", + "integrity": "sha512-hfiKk8Eku6rB9uApqsalHHTHY+mOrrHeWEs+gtg7+meQZMTS3kzv4oVp5cBZigndQr3knTLjwthT/FX4KvseFg==", + "dev": true, + "requires": { + "@lerna/child-process": "3.16.5", + "@lerna/get-npm-exec-opts": "3.13.0", + "fs-extra": "^8.1.0", + "npm-package-arg": "^6.1.0", + "npmlog": "^4.1.2", + "signal-exit": "^3.0.2", + "write-pkg": "^3.1.0" + } + }, + "@lerna/npm-publish": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-3.18.5.tgz", + "integrity": "sha512-3etLT9+2L8JAx5F8uf7qp6iAtOLSMj+ZYWY6oUgozPi/uLqU0/gsMsEXh3F0+YVW33q0M61RpduBoAlOOZnaTg==", + "dev": true, + "requires": { + "@evocateur/libnpmpublish": "^1.2.2", + "@lerna/otplease": "3.18.5", + "@lerna/run-lifecycle": "3.16.2", + "figgy-pudding": "^3.5.1", + "fs-extra": "^8.1.0", + "npm-package-arg": "^6.1.0", + "npmlog": "^4.1.2", + "pify": "^4.0.1", + "read-package-json": "^2.0.13" + } + }, + "@lerna/npm-run-script": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-3.16.5.tgz", + "integrity": "sha512-1asRi+LjmVn3pMjEdpqKJZFT/3ZNpb+VVeJMwrJaV/3DivdNg7XlPK9LTrORuKU4PSvhdEZvJmSlxCKyDpiXsQ==", + "dev": true, + "requires": { + "@lerna/child-process": "3.16.5", + "@lerna/get-npm-exec-opts": "3.13.0", + "npmlog": "^4.1.2" + } + }, + "@lerna/otplease": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-3.18.5.tgz", + "integrity": "sha512-S+SldXAbcXTEDhzdxYLU0ZBKuYyURP/ND2/dK6IpKgLxQYh/z4ScljPDMyKymmEvgiEJmBsPZAAPfmNPEzxjog==", + "dev": true, + "requires": { + "@lerna/prompt": "3.18.5", + "figgy-pudding": "^3.5.1" + } + }, + "@lerna/output": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@lerna/output/-/output-3.13.0.tgz", + "integrity": "sha512-7ZnQ9nvUDu/WD+bNsypmPG5MwZBwu86iRoiW6C1WBuXXDxM5cnIAC1m2WxHeFnjyMrYlRXM9PzOQ9VDD+C15Rg==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "@lerna/pack-directory": { + "version": "3.16.4", + "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-3.16.4.tgz", + "integrity": "sha512-uxSF0HZeGyKaaVHz5FroDY9A5NDDiCibrbYR6+khmrhZtY0Bgn6hWq8Gswl9iIlymA+VzCbshWIMX4o2O8C8ng==", + "dev": true, + "requires": { + "@lerna/get-packed": "3.16.0", + "@lerna/package": "3.16.0", + "@lerna/run-lifecycle": "3.16.2", + "figgy-pudding": "^3.5.1", + "npm-packlist": "^1.4.4", + "npmlog": "^4.1.2", + "tar": "^4.4.10", + "temp-write": "^3.4.0" + } + }, + "@lerna/package": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@lerna/package/-/package-3.16.0.tgz", + "integrity": "sha512-2lHBWpaxcBoiNVbtyLtPUuTYEaB/Z+eEqRS9duxpZs6D+mTTZMNy6/5vpEVSCBmzvdYpyqhqaYjjSLvjjr5Riw==", + "dev": true, + "requires": { + "load-json-file": "^5.3.0", + "npm-package-arg": "^6.1.0", + "write-pkg": "^3.1.0" + } + }, + "@lerna/package-graph": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.18.5.tgz", + "integrity": "sha512-8QDrR9T+dBegjeLr+n9WZTVxUYUhIUjUgZ0gvNxUBN8S1WB9r6H5Yk56/MVaB64tA3oGAN9IIxX6w0WvTfFudA==", + "dev": true, + "requires": { + "@lerna/prerelease-id-from-version": "3.16.0", + "@lerna/validation-error": "3.13.0", + "npm-package-arg": "^6.1.0", + "npmlog": "^4.1.2", + "semver": "^6.2.0" + } + }, + "@lerna/prerelease-id-from-version": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-3.16.0.tgz", + "integrity": "sha512-qZyeUyrE59uOK8rKdGn7jQz+9uOpAaF/3hbslJVFL1NqF9ELDTqjCPXivuejMX/lN4OgD6BugTO4cR7UTq/sZA==", + "dev": true, + "requires": { + "semver": "^6.2.0" + } + }, + "@lerna/profiler": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-3.20.0.tgz", + "integrity": "sha512-bh8hKxAlm6yu8WEOvbLENm42i2v9SsR4WbrCWSbsmOElx3foRnMlYk7NkGECa+U5c3K4C6GeBbwgqs54PP7Ljg==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "fs-extra": "^8.1.0", + "npmlog": "^4.1.2", + "upath": "^1.2.0" + } + }, + "@lerna/project": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/project/-/project-3.21.0.tgz", + "integrity": "sha512-xT1mrpET2BF11CY32uypV2GPtPVm6Hgtha7D81GQP9iAitk9EccrdNjYGt5UBYASl4CIDXBRxwmTTVGfrCx82A==", + "dev": true, + "requires": { + "@lerna/package": "3.16.0", + "@lerna/validation-error": "3.13.0", + "cosmiconfig": "^5.1.0", + "dedent": "^0.7.0", + "dot-prop": "^4.2.0", + "glob-parent": "^5.0.0", + "globby": "^9.2.0", + "load-json-file": "^5.3.0", + "npmlog": "^4.1.2", + "p-map": "^2.1.0", + "resolve-from": "^4.0.0", + "write-json-file": "^3.2.0" + } + }, + "@lerna/prompt": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-3.18.5.tgz", + "integrity": "sha512-rkKj4nm1twSbBEb69+Em/2jAERK8htUuV8/xSjN0NPC+6UjzAwY52/x9n5cfmpa9lyKf/uItp7chCI7eDmNTKQ==", + "dev": true, + "requires": { + "inquirer": "^6.2.0", + "npmlog": "^4.1.2" + } + }, + "@lerna/publish": { + "version": "3.22.1", + "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-3.22.1.tgz", + "integrity": "sha512-PG9CM9HUYDreb1FbJwFg90TCBQooGjj+n/pb3gw/eH5mEDq0p8wKdLFe0qkiqUkm/Ub5C8DbVFertIo0Vd0zcw==", + "dev": true, + "requires": { + "@evocateur/libnpmaccess": "^3.1.2", + "@evocateur/npm-registry-fetch": "^4.0.0", + "@evocateur/pacote": "^9.6.3", + "@lerna/check-working-tree": "3.16.5", + "@lerna/child-process": "3.16.5", + "@lerna/collect-updates": "3.20.0", + "@lerna/command": "3.21.0", + "@lerna/describe-ref": "3.16.5", + "@lerna/log-packed": "3.16.0", + "@lerna/npm-conf": "3.16.0", + "@lerna/npm-dist-tag": "3.18.5", + "@lerna/npm-publish": "3.18.5", + "@lerna/otplease": "3.18.5", + "@lerna/output": "3.13.0", + "@lerna/pack-directory": "3.16.4", + "@lerna/prerelease-id-from-version": "3.16.0", + "@lerna/prompt": "3.18.5", + "@lerna/pulse-till-done": "3.13.0", + "@lerna/run-lifecycle": "3.16.2", + "@lerna/run-topologically": "3.18.5", + "@lerna/validation-error": "3.13.0", + "@lerna/version": "3.22.1", + "figgy-pudding": "^3.5.1", + "fs-extra": "^8.1.0", + "npm-package-arg": "^6.1.0", + "npmlog": "^4.1.2", + "p-finally": "^1.0.0", + "p-map": "^2.1.0", + "p-pipe": "^1.2.0", + "semver": "^6.2.0" + } + }, + "@lerna/pulse-till-done": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-3.13.0.tgz", + "integrity": "sha512-1SOHpy7ZNTPulzIbargrgaJX387csN7cF1cLOGZiJQA6VqnS5eWs2CIrG8i8wmaUavj2QlQ5oEbRMVVXSsGrzA==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "@lerna/query-graph": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-3.18.5.tgz", + "integrity": "sha512-50Lf4uuMpMWvJ306be3oQDHrWV42nai9gbIVByPBYJuVW8dT8O8pA3EzitNYBUdLL9/qEVbrR0ry1HD7EXwtRA==", + "dev": true, + "requires": { + "@lerna/package-graph": "3.18.5", + "figgy-pudding": "^3.5.1" + } + }, + "@lerna/resolve-symlink": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-3.16.0.tgz", + "integrity": "sha512-Ibj5e7njVHNJ/NOqT4HlEgPFPtPLWsO7iu59AM5bJDcAJcR96mLZ7KGVIsS2tvaO7akMEJvt2P+ErwCdloG3jQ==", + "dev": true, + "requires": { + "fs-extra": "^8.1.0", + "npmlog": "^4.1.2", + "read-cmd-shim": "^1.0.1" + } + }, + "@lerna/rimraf-dir": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-3.16.5.tgz", + "integrity": "sha512-bQlKmO0pXUsXoF8lOLknhyQjOZsCc0bosQDoX4lujBXSWxHVTg1VxURtWf2lUjz/ACsJVDfvHZbDm8kyBk5okA==", + "dev": true, + "requires": { + "@lerna/child-process": "3.16.5", + "npmlog": "^4.1.2", + "path-exists": "^3.0.0", + "rimraf": "^2.6.2" + } + }, + "@lerna/run": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@lerna/run/-/run-3.21.0.tgz", + "integrity": "sha512-fJF68rT3veh+hkToFsBmUJ9MHc9yGXA7LSDvhziAojzOb0AI/jBDp6cEcDQyJ7dbnplba2Lj02IH61QUf9oW0Q==", + "dev": true, + "requires": { + "@lerna/command": "3.21.0", + "@lerna/filter-options": "3.20.0", + "@lerna/npm-run-script": "3.16.5", + "@lerna/output": "3.13.0", + "@lerna/profiler": "3.20.0", + "@lerna/run-topologically": "3.18.5", + "@lerna/timer": "3.13.0", + "@lerna/validation-error": "3.13.0", + "p-map": "^2.1.0" + } + }, + "@lerna/run-lifecycle": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-3.16.2.tgz", + "integrity": "sha512-RqFoznE8rDpyyF0rOJy3+KjZCeTkO8y/OB9orPauR7G2xQ7PTdCpgo7EO6ZNdz3Al+k1BydClZz/j78gNCmL2A==", + "dev": true, + "requires": { + "@lerna/npm-conf": "3.16.0", + "figgy-pudding": "^3.5.1", + "npm-lifecycle": "^3.1.2", + "npmlog": "^4.1.2" + } + }, + "@lerna/run-topologically": { + "version": "3.18.5", + "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-3.18.5.tgz", + "integrity": "sha512-6N1I+6wf4hLOnPW+XDZqwufyIQ6gqoPfHZFkfWlvTQ+Ue7CuF8qIVQ1Eddw5HKQMkxqN10thKOFfq/9NQZ4NUg==", + "dev": true, + "requires": { + "@lerna/query-graph": "3.18.5", + "figgy-pudding": "^3.5.1", + "p-queue": "^4.0.0" + } + }, + "@lerna/symlink-binary": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-3.17.0.tgz", + "integrity": "sha512-RLpy9UY6+3nT5J+5jkM5MZyMmjNHxZIZvXLV+Q3MXrf7Eaa1hNqyynyj4RO95fxbS+EZc4XVSk25DGFQbcRNSQ==", + "dev": true, + "requires": { + "@lerna/create-symlink": "3.16.2", + "@lerna/package": "3.16.0", + "fs-extra": "^8.1.0", + "p-map": "^2.1.0" + } + }, + "@lerna/symlink-dependencies": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-3.17.0.tgz", + "integrity": "sha512-KmjU5YT1bpt6coOmdFueTJ7DFJL4H1w5eF8yAQ2zsGNTtZ+i5SGFBWpb9AQaw168dydc3s4eu0W0Sirda+F59Q==", + "dev": true, + "requires": { + "@lerna/create-symlink": "3.16.2", + "@lerna/resolve-symlink": "3.16.0", + "@lerna/symlink-binary": "3.17.0", + "fs-extra": "^8.1.0", + "p-finally": "^1.0.0", + "p-map": "^2.1.0", + "p-map-series": "^1.0.0" + } + }, + "@lerna/timer": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-3.13.0.tgz", + "integrity": "sha512-RHWrDl8U4XNPqY5MQHkToWS9jHPnkLZEt5VD+uunCKTfzlxGnRCr3/zVr8VGy/uENMYpVP3wJa4RKGY6M0vkRw==", + "dev": true + }, + "@lerna/validation-error": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-3.13.0.tgz", + "integrity": "sha512-SiJP75nwB8GhgwLKQfdkSnDufAaCbkZWJqEDlKOUPUvVOplRGnfL+BPQZH5nvq2BYSRXsksXWZ4UHVnQZI/HYA==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "@lerna/version": { + "version": "3.22.1", + "resolved": "https://registry.npmjs.org/@lerna/version/-/version-3.22.1.tgz", + "integrity": "sha512-PSGt/K1hVqreAFoi3zjD0VEDupQ2WZVlVIwesrE5GbrL2BjXowjCsTDPqblahDUPy0hp6h7E2kG855yLTp62+g==", + "dev": true, + "requires": { + "@lerna/check-working-tree": "3.16.5", + "@lerna/child-process": "3.16.5", + "@lerna/collect-updates": "3.20.0", + "@lerna/command": "3.21.0", + "@lerna/conventional-commits": "3.22.0", + "@lerna/github-client": "3.22.0", + "@lerna/gitlab-client": "3.15.0", + "@lerna/output": "3.13.0", + "@lerna/prerelease-id-from-version": "3.16.0", + "@lerna/prompt": "3.18.5", + "@lerna/run-lifecycle": "3.16.2", + "@lerna/run-topologically": "3.18.5", + "@lerna/validation-error": "3.13.0", + "chalk": "^2.3.1", + "dedent": "^0.7.0", + "load-json-file": "^5.3.0", + "minimatch": "^3.0.4", + "npmlog": "^4.1.2", + "p-map": "^2.1.0", + "p-pipe": "^1.2.0", + "p-reduce": "^1.0.0", + "p-waterfall": "^1.0.0", + "semver": "^6.2.0", + "slash": "^2.0.0", + "temp-write": "^3.4.0", + "write-json-file": "^3.2.0" + } + }, + "@lerna/write-log-file": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-3.13.0.tgz", + "integrity": "sha512-RibeMnDPvlL8bFYW5C8cs4mbI3AHfQef73tnJCQ/SgrXZHehmHnsyWUiE7qDQCAo+B1RfTapvSyFF69iPj326A==", + "dev": true, + "requires": { + "npmlog": "^4.1.2", + "write-file-atomic": "^2.3.0" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3" + } + }, + "@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "dev": true, + "peer": true, + "requires": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dev": true, + "peer": true, + "requires": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true, + "peer": true + } + } + }, + "@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + } + } + }, + "@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "dev": true, + "peer": true, + "requires": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true, + "peer": true + } + } + }, + "@octokit/openapi-types": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", + "dev": true + }, + "@octokit/plugin-enterprise-rest": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", + "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==", + "dev": true + }, + "@octokit/plugin-paginate-rest": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz", + "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==", + "dev": true, + "requires": { + "@octokit/types": "^2.0.1" + }, + "dependencies": { + "@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + } + } + }, + "@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "dev": true, + "requires": {} + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz", + "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==", + "dev": true, + "requires": { + "@octokit/types": "^2.0.1", + "deprecation": "^2.3.1" + }, + "dependencies": { + "@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + } + } + }, + "@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "dev": true, + "requires": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + } + } + }, + "@octokit/request-error": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz", + "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==", + "dev": true, + "requires": { + "@octokit/types": "^2.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "dependencies": { + "@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + } + } + }, + "@octokit/rest": { + "version": "16.43.2", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz", + "integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==", + "dev": true, + "requires": { + "@octokit/auth-token": "^2.4.0", + "@octokit/plugin-paginate-rest": "^1.1.1", + "@octokit/plugin-request-log": "^1.0.0", + "@octokit/plugin-rest-endpoint-methods": "2.4.0", + "@octokit/request": "^5.2.0", + "@octokit/request-error": "^1.0.2", + "atob-lite": "^2.0.0", + "before-after-hook": "^2.0.0", + "btoa-lite": "^1.0.0", + "deprecation": "^2.0.0", + "lodash.get": "^4.4.2", + "lodash.set": "^4.3.2", + "lodash.uniq": "^4.5.0", + "octokit-pagination-methods": "^1.1.0", + "once": "^1.4.0", + "universal-user-agent": "^4.0.0" + } + }, + "@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "requires": { + "@octokit/openapi-types": "^11.2.0" + } + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "@types/node": { + "version": "17.0.41", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.41.tgz", + "integrity": "sha512-xA6drNNeqb5YyV5fO3OAEsnXLfO7uF0whiOfPTz5AeDo8KeZFmODKnvwPymMNO8qE/an8pVY/O50tig2SQCrGw==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "@zkochan/cmd-shim": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@zkochan/cmd-shim/-/cmd-shim-3.1.0.tgz", + "integrity": "sha512-o8l0+x7C7sMZU3v9GuJIAU10qQLtwR1dtRQIOmlNMtyaqhmpXOzx1HWiYoWfmmf9HHZoAkXpc9TM9PQYF9d4Jg==", + "dev": true, + "requires": { + "is-windows": "^1.0.0", + "mkdirp-promise": "^5.0.1", + "mz": "^2.5.0" + } + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "agentkeepalive": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", + "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", + "dev": true, + "requires": { + "humanize-ms": "^1.2.1" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, + "array-differ": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-2.1.0.tgz", + "integrity": "sha512-KbUpJgx909ZscOc/7CLATBFam7P1Z1QRQInvgT0UztM9Q72aGKCunKASAl7WNW0tnPmPyEMeMhdsfWhfmW037w==", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", + "dev": true + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, + "array.prototype.reduce": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", + "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "atob-lite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", + "integrity": "sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "before-after-hook": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==", + "dev": true + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", + "dev": true + }, + "byline": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", + "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==", + "dev": true + }, + "byte-size": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-5.0.1.tgz", + "integrity": "sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw==", + "dev": true + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "columnify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", + "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", + "dev": true, + "requires": { + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + }, + "dependencies": { + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + } + } + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } + }, + "conventional-changelog-core": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz", + "integrity": "sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==", + "dev": true, + "requires": { + "conventional-changelog-writer": "^4.0.6", + "conventional-commits-parser": "^3.0.3", + "dateformat": "^3.0.0", + "get-pkg-repo": "^1.0.0", + "git-raw-commits": "2.0.0", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^2.0.3", + "lodash": "^4.2.1", + "normalize-package-data": "^2.3.5", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^3.0.0" + } + }, + "conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true + }, + "conventional-changelog-writer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", + "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.6", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + } + } + }, + "conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, + "requires": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + } + }, + "conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "dev": true, + "requires": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + } + } + }, + "conventional-recommended-bump": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-5.0.1.tgz", + "integrity": "sha512-RVdt0elRcCxL90IrNP0fYCpq1uGt2MALko0eyeQ+zQuDVWtMGAy9ng6yYn3kax42lCj9+XBxQ8ZN6S9bdKxDhQ==", + "dev": true, + "requires": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.1.1", + "conventional-commits-filter": "^2.0.2", + "conventional-commits-parser": "^3.0.3", + "git-raw-commits": "2.0.0", + "git-semver-tags": "^2.0.3", + "meow": "^4.0.0", + "q": "^1.5.1" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", + "dev": true + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", + "dev": true + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==", + "dev": true + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + } + } + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==", + "dev": true + }, + "dargs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", + "integrity": "sha512-jyweV/k0rbv2WK4r9KLayuBrSh2Py0tNmV7LBoSMH4hMQyrG8OPyIOWB2VEx4DJKXWmK4lopYMVvORlDt2S8Aw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "debuglog": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true + } + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "dev": true + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, + "detect-indent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==", + "dev": true + }, + "dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "dot-prop": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", + "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "genfun": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", + "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-pkg-repo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", + "integrity": "sha512-xPCyvcEOxCJDxhBfXDNH+zA7mIRGb2aY1gIUJWsZkpJbp1BLHl+/Sycg26Dv+ZbZAJkO61tzbBtqHUi30NGBvg==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "meow": "^3.3.0", + "normalize-package-data": "^2.3.0", + "parse-github-repo-url": "^1.3.0", + "through2": "^2.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } + } + }, + "get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "git-raw-commits": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", + "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", + "dev": true, + "requires": { + "dargs": "^4.0.1", + "lodash.template": "^4.0.2", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", + "dev": true + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", + "dev": true + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, + "requires": { + "through2": "^2.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + } + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } + } + }, + "git-semver-tags": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz", + "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==", + "dev": true, + "requires": { + "meow": "^4.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", + "dev": true + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", + "dev": true + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==", + "dev": true + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + } + } + }, + "git-up": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz", + "integrity": "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==", + "dev": true, + "requires": { + "is-ssh": "^1.3.0", + "parse-url": "^6.0.0" + } + }, + "git-url-parse": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz", + "integrity": "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==", + "dev": true, + "requires": { + "git-up": "^4.0.0" + } + }, + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "dev": true, + "requires": { + "ini": "^1.3.2" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==", + "dev": true + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "dev": true, + "requires": { + "agent-base": "4", + "debug": "3.1.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "dev": true + } + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "init-package-json": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz", + "integrity": "sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==", + "dev": true, + "requires": { + "glob": "^7.1.1", + "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^3.0.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha512-rBtCAQAJm8A110nbwn6YdveUnuZH3WrC36IwkRXxDnq53JvXA2NVQvB7IHyKomxK1MJ4VDNw3UtFDdXQ+AvLYA==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "dev": true + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-ssh": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz", + "integrity": "sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==", + "dev": true, + "requires": { + "protocols": "^1.1.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "lerna": { + "version": "3.22.1", + "resolved": "https://registry.npmjs.org/lerna/-/lerna-3.22.1.tgz", + "integrity": "sha512-vk1lfVRFm+UuEFA7wkLKeSF7Iz13W+N/vFd48aW2yuS7Kv0RbNm2/qcDPV863056LMfkRlsEe+QYOw3palj5Lg==", + "dev": true, + "requires": { + "@lerna/add": "3.21.0", + "@lerna/bootstrap": "3.21.0", + "@lerna/changed": "3.21.0", + "@lerna/clean": "3.21.0", + "@lerna/cli": "3.18.5", + "@lerna/create": "3.22.0", + "@lerna/diff": "3.21.0", + "@lerna/exec": "3.21.0", + "@lerna/import": "3.22.0", + "@lerna/info": "3.21.0", + "@lerna/init": "3.21.0", + "@lerna/link": "3.21.0", + "@lerna/list": "3.21.0", + "@lerna/publish": "3.22.1", + "@lerna/run": "3.21.0", + "@lerna/version": "3.22.1", + "import-local": "^2.0.0", + "npmlog": "^4.1.2" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "load-json-file": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", + "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "parse-json": "^4.0.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0", + "type-fest": "^0.3.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "dev": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true + }, + "lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "macos-release": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz", + "integrity": "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==", + "dev": true + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } + } + }, + "make-fetch-happen": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz", + "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", + "dev": true, + "requires": { + "agentkeepalive": "^3.4.1", + "cacache": "^12.0.0", + "http-cache-semantics": "^3.8.1", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "node-fetch-npm": "^2.0.2", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^4.0.0", + "ssri": "^6.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "mkdirp-promise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", + "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==", + "dev": true, + "requires": { + "mkdirp": "*" + } + }, + "modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "multimatch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-3.0.0.tgz", + "integrity": "sha512-22foS/gqQfANZ3o+W7ST2x25ueHDVNWl/b9OlGcLpy/iKxjCpvcNCM51YCenUi7Mt/jAjjqv8JwZRs8YP5sRjA==", + "dev": true, + "requires": { + "array-differ": "^2.0.3", + "array-union": "^1.0.2", + "arrify": "^1.0.1", + "minimatch": "^3.0.4" + } + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, + "node-fetch-npm": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz", + "integrity": "sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==", + "dev": true, + "requires": { + "encoding": "^0.1.11", + "json-parse-better-errors": "^1.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node-gyp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz", + "integrity": "sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw==", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "mkdirp": "^0.5.1", + "nopt": "^4.0.1", + "npmlog": "^4.1.2", + "request": "^2.88.0", + "rimraf": "^2.6.3", + "semver": "^5.7.1", + "tar": "^4.4.12", + "which": "^1.3.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "dev": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-lifecycle": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz", + "integrity": "sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g==", + "dev": true, + "requires": { + "byline": "^5.0.0", + "graceful-fs": "^4.1.15", + "node-gyp": "^5.0.2", + "resolve-from": "^4.0.0", + "slide": "^1.1.6", + "uid-number": "0.0.6", + "umask": "^1.1.0", + "which": "^1.3.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "npm-package-arg": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", + "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", + "dev": true, + "requires": { + "hosted-git-info": "^2.7.1", + "osenv": "^0.1.5", + "semver": "^5.6.0", + "validate-npm-package-name": "^3.0.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "npm-packlist": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", + "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "dev": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-pick-manifest": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", + "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "npm-package-arg": "^6.0.0", + "semver": "^5.4.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "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": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", + "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", + "dev": true, + "requires": { + "array.prototype.reduce": "^1.0.4", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "octokit-pagination-methods": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz", + "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true + }, + "os-name": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", + "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==", + "dev": true, + "requires": { + "macos-release": "^2.2.0", + "windows-release": "^3.1.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-map-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", + "integrity": "sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg==", + "dev": true, + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-pipe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", + "integrity": "sha512-IA8SqjIGA8l9qOksXJvsvkeQ+VGb0TAzNCzvKvz9wt5wWLqfWbV6fXy43gpR2L4Te8sOq3S+Ql9biAaMKPdbtw==", + "dev": true + }, + "p-queue": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-4.0.0.tgz", + "integrity": "sha512-3cRXXn3/O0o3+eVmUroJPSj/esxoEFIm0ZOno/T+NzG/VZgPOqQ8WKmlNqubSEpZmCIngEy34unkHGg83ZIBmg==", + "dev": true, + "requires": { + "eventemitter3": "^3.1.0" + } + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==", + "dev": true + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "p-waterfall": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-waterfall/-/p-waterfall-1.0.0.tgz", + "integrity": "sha512-KeXddIp6jBT8qzyxfQGOGzNYc/7ftxKtRc5Uggre02yvbZrSBHE2M2C842/WizMBFD4s0Ngwz3QFOit2A+Ezrg==", + "dev": true, + "requires": { + "p-reduce": "^1.0.0" + } + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "parse-github-repo-url": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", + "integrity": "sha512-bSWyzBKqcSL4RrncTpGsEKoJ7H8a4L3++ifTAbTFeMHyq2wRV+42DGmQcHIrJIvdcacjIOxEuKH/w4tthF17gg==", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse-path": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.4.tgz", + "integrity": "sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw==", + "dev": true, + "requires": { + "is-ssh": "^1.3.0", + "protocols": "^1.4.0", + "qs": "^6.9.4", + "query-string": "^6.13.8" + } + }, + "parse-url": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz", + "integrity": "sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw==", + "dev": true, + "requires": { + "is-ssh": "^1.3.0", + "normalize-url": "^6.1.0", + "parse-path": "^4.0.0", + "protocols": "^1.4.0" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "promise-retry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", + "integrity": "sha512-StEy2osPr28o17bIW776GtwO6+Q+M9zPiZkYfosciUUMYqjhU/ffwRAH0zN2+uvGyUsn8/YICIHRzLbPacpZGw==", + "dev": true, + "requires": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + } + }, + "promzard": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", + "integrity": "sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw==", + "dev": true, + "requires": { + "read": "1" + } + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true + }, + "protocols": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", + "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==", + "dev": true + }, + "protoduck": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", + "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", + "dev": true, + "requires": { + "genfun": "^5.0.0" + } + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true + }, + "qs": { + "version": "6.10.5", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.5.tgz", + "integrity": "sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "query-string": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", + "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", + "dev": true, + "requires": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", + "dev": true, + "requires": { + "mute-stream": "~0.0.4" + } + }, + "read-cmd-shim": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz", + "integrity": "sha512-v5yCqQ/7okKoZZkBQUAfTsQ3sVJtXdNfbPnI5cceppoxEVLYA3k+VtV2omkeo8MS94JCy4fSiUwlRBAwCVRPUA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "read-package-json": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz", + "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==", + "dev": true, + "requires": { + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" + } + }, + "read-package-tree": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", + "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", + "dev": true, + "requires": { + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "util-promisify": "^2.1.0" + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true + } + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdir-scoped-modules": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", + "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", + "dev": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dev": true, + "requires": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "retry": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dev": true, + "requires": { + "aproba": "^1.1.1" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + } + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": 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 + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "dev": true + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "socks": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", + "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", + "dev": true, + "requires": { + "ip": "1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", + "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", + "dev": true, + "requires": { + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "dependencies": { + "agent-base": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + } + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true + }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "requires": { + "through": "2" + } + }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "requires": { + "readable-stream": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, + "strong-log-transformer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", + "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "minimist": "^1.2.0", + "through": "^2.3.4" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "dev": true, + "requires": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + } + }, + "temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", + "dev": true + }, + "temp-write": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-3.4.0.tgz", + "integrity": "sha1-jP9jD7fp2gXwR8dM5M5NaFRX1JI=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "is-stream": "^1.1.0", + "make-dir": "^1.0.0", + "pify": "^3.0.0", + "temp-dir": "^1.0.0", + "uuid": "^3.0.1" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } + } + }, + "text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": 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 + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.0.tgz", + "integrity": "sha512-FEikl6bR30n0T3amyBh3LoiBdqHRy/f4H80+My34HOesOKyHfOsxAPAxOoqC0JUnC1amnO0IwkYC3sko51caSw==", + "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 + }, + "umask": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz", + "integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universal-user-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz", + "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==", + "dev": true, + "requires": { + "os-name": "^3.1.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util-promisify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", + "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", + "dev": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, + "requires": { + "builtins": "^1.0.3" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "windows-release": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz", + "integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==", + "dev": true, + "requires": { + "execa": "^1.0.0" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "write-json-file": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", + "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", + "dev": true, + "requires": { + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.15", + "make-dir": "^2.1.0", + "pify": "^4.0.1", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.4.2" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "write-pkg": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-3.2.0.tgz", + "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", + "dev": true, + "requires": { + "sort-keys": "^2.0.0", + "write-json-file": "^2.2.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + }, + "write-json-file": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-2.3.0.tgz", + "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", + "dev": true, + "requires": { + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "pify": "^3.0.0", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.0.0" + } + } + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "yargs-parser": { + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", + "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } + } +} diff --git a/packages/scratch-gui/package-lock.json b/packages/scratch-gui/package-lock.json index ece23d525..147bfcc5b 100644 --- a/packages/scratch-gui/package-lock.json +++ b/packages/scratch-gui/package-lock.json @@ -1,14133 +1,30873 @@ { - "name": "scratch-gui", - "version": "0.1.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/cli": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.6.4.tgz", - "integrity": "sha512-tqrDyvPryBM6xjIyKKUwr3s8CzmmYidwgdswd7Uc/Cv0ogZcuS1TYQTLx/eWKP3UbJ6JxZAiYlBZabXm/rtRsQ==", - "dev": true, - "requires": { - "chokidar": "^2.1.8", - "commander": "^2.8.1", - "convert-source-map": "^1.1.0", - "fs-readdir-recursive": "^1.1.0", - "glob": "^7.0.0", - "lodash": "^4.17.13", - "mkdirp": "^0.5.1", - "output-file-sync": "^2.0.0", - "slash": "^2.0.0", - "source-map": "^0.5.0" - } - }, - "@babel/code-frame": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", - "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "@babel/core": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.4.tgz", - "integrity": "sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.6.4", - "@babel/helpers": "^7.6.2", - "@babel/parser": "^7.6.4", - "@babel/template": "^7.6.0", - "@babel/traverse": "^7.6.3", - "@babel/types": "^7.6.3", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz", - "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==", - "dev": true, - "requires": { - "@babel/types": "^7.6.3", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", - "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", - "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-builder-react-jsx": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz", - "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0", - "esutils": "^2.0.0" - } - }, - "@babel/helper-call-delegate": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", - "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.4.4", - "@babel/traverse": "^7.4.4", - "@babel/types": "^7.4.4" - } - }, - "@babel/helper-define-map": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", - "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.5.5", - "lodash": "^4.17.13" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", - "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", - "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", - "dev": true, - "requires": { - "@babel/types": "^7.4.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", - "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", - "dev": true, - "requires": { - "@babel/types": "^7.5.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", - "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-module-transforms": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", - "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/template": "^7.4.4", - "@babel/types": "^7.5.5", - "lodash": "^4.17.13" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", - "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", - "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", - "dev": true - }, - "@babel/helper-regex": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", - "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", - "dev": true, - "requires": { - "lodash": "^4.17.13" - } - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", - "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-wrap-function": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-replace-supers": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", - "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.5.5", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", - "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", - "dev": true, - "requires": { - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", - "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", - "dev": true, - "requires": { - "@babel/types": "^7.4.4" - } - }, - "@babel/helper-wrap-function": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", - "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.2.0" - } - }, - "@babel/helpers": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz", - "integrity": "sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==", - "dev": true, - "requires": { - "@babel/template": "^7.6.0", - "@babel/traverse": "^7.6.2", - "@babel/types": "^7.6.0" - } - }, - "@babel/highlight": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.4.tgz", - "integrity": "sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A==", - "dev": true - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", - "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0", - "@babel/plugin-syntax-async-generators": "^7.2.0" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", - "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", - "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-json-strings": "^7.2.0" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz", - "integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz", - "integrity": "sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.6.0" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", - "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", - "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", - "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", - "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", - "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", - "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", - "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", - "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz", - "integrity": "sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.13" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", - "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.5.5", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5", - "@babel/helper-split-export-declaration": "^7.4.4", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", - "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz", - "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz", - "integrity": "sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.6.0" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", - "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", - "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", - "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", - "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", - "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", - "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", - "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0", - "babel-plugin-dynamic-import-node": "^2.3.0" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz", - "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.4.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "babel-plugin-dynamic-import-node": "^2.3.0" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", - "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.4.4", - "@babel/helper-plugin-utils": "^7.0.0", - "babel-plugin-dynamic-import-node": "^2.3.0" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", - "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz", - "integrity": "sha512-jTkk7/uE6H2s5w6VlMHeWuH+Pcy2lmdwFoeWCVnvIrDUnB5gQqTVI8WfmEAhF2CDEarGrknZcmSFg1+bkfCoSw==", - "dev": true, - "requires": { - "regexpu-core": "^4.6.0" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", - "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", - "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", - "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", - "dev": true, - "requires": { - "@babel/helper-call-delegate": "^7.4.4", - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", - "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", - "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz", - "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==", - "dev": true, - "requires": { - "@babel/helper-builder-react-jsx": "^7.3.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz", - "integrity": "sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz", - "integrity": "sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", - "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.0" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", - "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", - "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz", - "integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", - "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", - "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", - "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz", - "integrity": "sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.6.0" - } - }, - "@babel/preset-env": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.3.tgz", - "integrity": "sha512-CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.2.0", - "@babel/plugin-proposal-dynamic-import": "^7.5.0", - "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.6.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.6.2", - "@babel/plugin-syntax-async-generators": "^7.2.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/plugin-syntax-json-strings": "^7.2.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", - "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.5.0", - "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.6.3", - "@babel/plugin-transform-classes": "^7.5.5", - "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.6.0", - "@babel/plugin-transform-dotall-regex": "^7.6.2", - "@babel/plugin-transform-duplicate-keys": "^7.5.0", - "@babel/plugin-transform-exponentiation-operator": "^7.2.0", - "@babel/plugin-transform-for-of": "^7.4.4", - "@babel/plugin-transform-function-name": "^7.4.4", - "@babel/plugin-transform-literals": "^7.2.0", - "@babel/plugin-transform-member-expression-literals": "^7.2.0", - "@babel/plugin-transform-modules-amd": "^7.5.0", - "@babel/plugin-transform-modules-commonjs": "^7.6.0", - "@babel/plugin-transform-modules-systemjs": "^7.5.0", - "@babel/plugin-transform-modules-umd": "^7.2.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.3", - "@babel/plugin-transform-new-target": "^7.4.4", - "@babel/plugin-transform-object-super": "^7.5.5", - "@babel/plugin-transform-parameters": "^7.4.4", - "@babel/plugin-transform-property-literals": "^7.2.0", - "@babel/plugin-transform-regenerator": "^7.4.5", - "@babel/plugin-transform-reserved-words": "^7.2.0", - "@babel/plugin-transform-shorthand-properties": "^7.2.0", - "@babel/plugin-transform-spread": "^7.6.2", - "@babel/plugin-transform-sticky-regex": "^7.2.0", - "@babel/plugin-transform-template-literals": "^7.4.4", - "@babel/plugin-transform-typeof-symbol": "^7.2.0", - "@babel/plugin-transform-unicode-regex": "^7.6.2", - "@babel/types": "^7.6.3", - "browserslist": "^4.6.0", - "core-js-compat": "^3.1.1", - "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", - "semver": "^5.5.0" - } - }, - "@babel/preset-react": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.6.3.tgz", - "integrity": "sha512-07yQhmkZmRAfwREYIQgW0HEwMY9GBJVuPY4Q12UC72AbfaawuupVWa8zQs2tlL+yun45Nv/1KreII/0PLfEsgA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0" - } - }, - "@babel/runtime": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.3.tgz", - "integrity": "sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.2" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", - "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", - "dev": true - } - } - }, - "@babel/template": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", - "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.6.0", - "@babel/types": "^7.6.0" - } - }, - "@babel/traverse": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz", - "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.6.3", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/parser": "^7.6.3", - "@babel/types": "^7.6.3", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz", - "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - } - }, - "@scratch/paper": { - "version": "0.11.20190729152410", - "resolved": "https://registry.npmjs.org/@scratch/paper/-/paper-0.11.20190729152410.tgz", - "integrity": "sha512-8DvLPFbipP7O8fii6xItaA041fdW4pdr63m34xlSs15sYP5fX9yiZiO3G44qk5eBPbFNQTG7uxMd5Jo+cVS5Ow==", - "dev": true - }, - "@types/babel__core": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz", - "integrity": "sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", - "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz", - "integrity": "sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", - "dev": true - }, - "@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", - "dev": true, - "requires": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", - "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", - "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", - "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/json-schema": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.3.tgz", - "integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/node": { - "version": "12.7.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.12.tgz", - "integrity": "sha512-KPYGmfD0/b1eXurQ59fXD1GBzhSQfz6/lKBxkaHX9dKTzjXbK68Zt7yGUxUsCS1jeTy/8aL+d9JEr+S54mpkWQ==", - "dev": true - }, - "@types/yargs": { - "version": "13.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.3.tgz", - "integrity": "sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz", - "integrity": "sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==", - "dev": true - }, - "@typescript-eslint/experimental-utils": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz", - "integrity": "sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "1.13.0", - "eslint-scope": "^4.0.0" - } - }, - "@typescript-eslint/typescript-estree": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz", - "integrity": "sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==", - "dev": true, - "requires": { - "lodash.unescape": "4.0.1", - "semver": "5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true - } - } - }, - "@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "abab": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", - "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", - "dev": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", - "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", - "dev": true - }, - "acorn-globals": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", - "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", - "dev": true, - "requires": { - "acorn": "^4.0.4" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - } - } - }, - "acorn-jsx": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz", - "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==", - "dev": true - }, - "airbnb-prop-types": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.15.0.tgz", - "integrity": "sha512-jUh2/hfKsRjNFC4XONQrxo/n/3GG4Tn6Hl0WlFQN5PY9OMC9loSCoAYKnZsWaP8wEfd5xcrPloK0Zg6iS1xwVA==", - "dev": true, - "requires": { - "array.prototype.find": "^2.1.0", - "function.prototype.name": "^1.1.1", - "has": "^1.0.3", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object.assign": "^4.1.0", - "object.entries": "^1.1.0", - "prop-types": "^15.7.2", - "prop-types-exact": "^1.2.0", - "react-is": "^16.9.0" - } - }, - "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "append-transform": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", - "dev": true, - "requires": { - "default-require-extensions": "^1.0.0" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, - "array-filter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", - "dev": true - }, - "array-find": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", - "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", - "dev": true - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "array-includes": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", - "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "array.prototype.find": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.0.tgz", - "integrity": "sha512-Wn41+K1yuO5p7wRZDl7890c3xvv5UBrfVXTVIe28rSQb6LS0fZMDrQB6PAcxQFRFy6vJTLDc3A2+3CjQdzVKRg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.13.0" - } - }, - "array.prototype.flat": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz", - "integrity": "sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.10.0", - "function-bind": "^1.1.1" - } - }, - "arraybuffer-loader": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer-loader/-/arraybuffer-loader-1.0.7.tgz", - "integrity": "sha512-8FPjFP26OF723Oiaj5E208WW2tAgE0noCsrtQZ20TwdHt6qs5iuAaKqX5WY/C3wYdF/2cRUiuIXj98qy/2NB7g==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0" - } - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.1.2.tgz", - "integrity": "sha1-YSpKtF70KnDN6Aa62G7m2wR+g4U=", - "dev": true, - "requires": { - "lodash": "^4.14.0" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "audio-context": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/audio-context/-/audio-context-1.0.1.tgz", - "integrity": "sha1-zsTbis5u9KrL8Q7vCXekVxRo1Ks=", - "dev": true, - "requires": { - "global": "^4.3.1" - } - }, - "autoprefixer": { - "version": "9.6.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.4.tgz", - "integrity": "sha512-Koz2cJU9dKOxG8P1f8uVaBntOv9lP4yz9ffWvWaicv9gHBPhpQB22nGijwd8gqW9CNT+UdkbQOQNLVI8jN1ZfQ==", - "dev": true, - "requires": { - "browserslist": "^4.7.0", - "caniuse-lite": "^1.0.30000998", - "chalk": "^2.4.2", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.18", - "postcss-value-parser": "^4.0.2" - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "dev": true - }, - "babel-eslint": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz", - "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dev": true, - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - } - } - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-jest": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-21.2.0.tgz", - "integrity": "sha512-O0W2qLoWu1QOoOGgxiR2JID4O6WSpxPiQanrkyi9SSlM0PJ60Ptzlck47lhtnr9YZO3zYOsxHwnyeWJ6AffoBQ==", - "dev": true, - "requires": { - "babel-plugin-istanbul": "^4.0.0", - "babel-preset-jest": "^21.2.0" - } - }, - "babel-loader": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", - "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", - "dev": true, - "requires": { - "find-cache-dir": "^2.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1", - "pify": "^4.0.1" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-istanbul": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", - "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", - "dev": true, - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.13.0", - "find-up": "^2.1.0", - "istanbul-lib-instrument": "^1.10.1", - "test-exclude": "^4.2.1" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - } - } - }, - "babel-plugin-jest-hoist": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-21.2.0.tgz", - "integrity": "sha512-yi5QuiVyyvhBUDLP4ButAnhYzkdrUwWDtvUJv71hjH3fclhnZg4HkDeqaitcR2dZZx/E67kGkRcPVjtVu+SJfQ==", - "dev": true - }, - "babel-plugin-react-intl": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-3.5.1.tgz", - "integrity": "sha512-1jlEJCSmLaJM4tjIKpu64UZ833COCHmwR77bFJDOye+zlwf80uR1b8p41l4tClx1QsrfI+qV6w/5AiPYQgaMUQ==", - "dev": true, - "requires": { - "@babel/core": "^7.4.5", - "@babel/helper-plugin-utils": "^7.0.0", - "@types/babel__core": "^7.1.2", - "fs-extra": "^8.0.1", - "intl-messageformat-parser": "^1.8.1" - }, - "dependencies": { - "intl-messageformat-parser": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.8.1.tgz", - "integrity": "sha512-IMSCKVf0USrM/959vj3xac7s8f87sc+80Y/ipBzdKy4ifBv5Gsj2tZ41EAaURVg01QU71fYr77uA8Meh6kELbg==", - "dev": true - } - } - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "dev": true - }, - "babel-preset-jest": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-21.2.0.tgz", - "integrity": "sha512-hm9cBnr2h3J7yXoTtAVV0zg+3vg0Q/gT2GYuzlreTU0EPkJRtlNgKJJ3tBKEn0+VjAi3JykV6xCJkuUYttEEfA==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^21.2.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0" - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true, - "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - }, - "dependencies": { - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - } - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - } - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - }, - "dependencies": { - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - } - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - }, - "dependencies": { - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - } - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "base64-loader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64-loader/-/base64-loader-1.0.0.tgz", - "integrity": "sha1-5TC62I6QbdKh+tCvLZ5oP6i9kqg=", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "bluebird": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz", - "integrity": "sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==", - "dev": true - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "bowser": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz", - "integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "dev": true, - "requires": { - "resolve": "1.1.7" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } - } - }, - "browser-stdout": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", - "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz", - "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30000989", - "electron-to-chromium": "^1.3.247", - "node-releases": "^1.1.29" - } - }, - "bser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz", - "integrity": "sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "cacache": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - }, - "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - } - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30000999", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz", - "integrity": "sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg==", - "dev": true - }, - "capture-exit": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", - "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", - "dev": true, - "requires": { - "rsvp": "^3.3.3" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "cheerio": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", - "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", - "dev": true, - "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.1", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "chownr": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "chromedriver": { - "version": "78.0.1", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-78.0.1.tgz", - "integrity": "sha512-eOsyFk4xb9EECs1VMrDbxO713qN+Bu1XUE8K9AuePc3839TPdAegg72kpXSzkeNqRNZiHbnJUItIVCLFkDqceA==", - "dev": true, - "requires": { - "del": "^4.1.1", - "extract-zip": "^1.6.7", - "mkdirp": "^0.5.1", - "request": "^2.88.0", - "tcp-port-used": "^1.0.1" - } - }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==", - "dev": true - }, - "clean-css": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", - "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "collections": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/collections/-/collections-0.2.2.tgz", - "integrity": "sha1-HyMCay7zb5J+7MkB6ZxfDUj6M04=", - "dev": true, - "requires": { - "weak-map": "1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz", - "integrity": "sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - }, - "dependencies": { - "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", - "dev": true - } - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - } - }, - "computed-style-to-inline-style": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/computed-style-to-inline-style/-/computed-style-to-inline-style-3.0.0.tgz", - "integrity": "sha1-klECRGPFVcfhdo13oZ66m49Bivw=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "requires": { - "date-now": "^0.1.4" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "content-type-parser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz", - "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==", - "dev": true - }, - "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", - "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", - "dev": true, - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "globby": "^7.1.1", - "is-glob": "^4.0.0", - "loader-utils": "^1.1.0", - "minimatch": "^3.0.4", - "p-limit": "^1.0.0", - "serialize-javascript": "^1.4.0" - }, - "dependencies": { - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - } - } - }, - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", - "dev": true - }, - "core-js-compat": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz", - "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==", - "dev": true, - "requires": { - "browserslist": "^4.6.6", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "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 - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } - } - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css-loader": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", - "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "css-selector-tokenizer": "^0.7.0", - "icss-utils": "^2.1.0", - "loader-utils": "^1.0.2", - "lodash": "^4.17.11", - "postcss": "^6.0.23", - "postcss-modules-extract-imports": "^1.2.0", - "postcss-modules-local-by-default": "^1.2.0", - "postcss-modules-scope": "^1.1.0", - "postcss-modules-values": "^1.3.0", - "postcss-value-parser": "^3.3.0", - "source-list-map": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-mediaquery": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz", - "integrity": "sha1-aiw3NEkoYYYxxUvTPO3TAdoYvqA=", - "dev": true - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-selector-tokenizer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", - "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", - "dev": true, - "requires": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - } - } - }, - "css-vendor": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", - "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", - "dev": true, - "requires": { - "is-in-browser": "^1.0.2" - } - }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "dev": true - }, - "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", - "dev": true - }, - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "cssstyle": { - "version": "0.2.37", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", - "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", - "dev": true, - "requires": { - "cssom": "0.3.x" - } - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "dependencies": { - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "default-require-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", - "dev": true, - "requires": { - "strip-bom": "^2.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - } - }, - "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 - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, - "requires": { - "path-type": "^3.0.0" - } - }, - "discontinuous-range": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", - "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=", - "dev": true - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-helpers": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", - "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.1.2" - } - }, - "dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "dev": true, - "requires": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" - } - }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", - "dev": true - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.280", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.280.tgz", - "integrity": "sha512-qYWNMjKLEfQAWZF2Sarvo+ahigu0EArnpCFSoUuZJS3W5wIeVfeEvsgmT2mgIrieQkeQ0+xFmykK3nx2ezekPQ==", - "dev": true - }, - "elliptic": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", - "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dev": true, - "requires": { - "iconv-lite": "~0.4.13" - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", - "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.2.0", - "tapable": "^0.1.8" - } - }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "enzyme": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.10.0.tgz", - "integrity": "sha512-p2yy9Y7t/PFbPoTvrWde7JIYB2ZyGC+NgTNbVEGvZ5/EyoYSr9aG/2rSbVvyNvMHEhw9/dmGUJHWtfQIEiX9pg==", - "dev": true, - "requires": { - "array.prototype.flat": "^1.2.1", - "cheerio": "^1.0.0-rc.2", - "function.prototype.name": "^1.1.0", - "has": "^1.0.3", - "html-element-map": "^1.0.0", - "is-boolean-object": "^1.0.0", - "is-callable": "^1.1.4", - "is-number-object": "^1.0.3", - "is-regex": "^1.0.4", - "is-string": "^1.0.4", - "is-subset": "^0.1.1", - "lodash.escape": "^4.0.1", - "lodash.isequal": "^4.5.0", - "object-inspect": "^1.6.0", - "object-is": "^1.0.1", - "object.assign": "^4.1.0", - "object.entries": "^1.0.4", - "object.values": "^1.0.4", - "raf": "^3.4.0", - "rst-selector-parser": "^2.2.3", - "string.prototype.trim": "^1.1.2" - } - }, - "enzyme-adapter-react-16": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.3.0.tgz", - "integrity": "sha512-TRX+Y5QPreGmqfFU3bPsJUmqNZX9paQCmQ93kj7hnfQoZzufO/pahGN/OviWn60YcgaQojhf0AWv3PxrIDARbA==", - "dev": true, - "requires": { - "enzyme-adapter-utils": "^1.6.0", - "function.prototype.name": "^1.1.0", - "object.assign": "^4.1.0", - "object.values": "^1.0.4", - "prop-types": "^15.6.2", - "react-is": "^16.4.2", - "react-test-renderer": "^16.0.0-0" - } - }, - "enzyme-adapter-utils": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.0.tgz", - "integrity": "sha512-wkZvE0VxcFx/8ZsBw0iAbk3gR1d9hK447ebnSYBf95+r32ezBq+XDSAvRErkc4LZosgH8J7et7H7/7CtUuQfBA==", - "dev": true, - "requires": { - "airbnb-prop-types": "^2.13.2", - "function.prototype.name": "^1.1.0", - "object.assign": "^4.1.0", - "object.fromentries": "^2.0.0", - "prop-types": "^15.7.2", - "semver": "^5.6.0" - } - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz", - "integrity": "sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.0", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.0", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-inspect": "^1.6.0", - "object-keys": "^1.1.1", - "string.prototype.trimleft": "^2.1.0", - "string.prototype.trimright": "^2.1.0" - } - }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es6-object-assign": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", - "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "escodegen": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", - "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", - "dev": true, - "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "eslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.3", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.13.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "eslint-config-scratch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-scratch/-/eslint-config-scratch-5.1.0.tgz", - "integrity": "sha512-JQMxERL3eo0TMy87NZFm6yS0i2XOMplffKz9CD/2ta2i/+3FTgajxzF9n7R7vi9C+GMLSTSLZJ5X90tINuAhjg==", - "dev": true, - "requires": { - "eslint-plugin-react": ">=7.14.2" - } - }, - "eslint-import-resolver-node": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", - "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", - "dev": true, - "requires": { - "debug": "^2.6.9", - "resolve": "^1.5.0" - } - }, - "eslint-import-resolver-webpack": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.11.1.tgz", - "integrity": "sha512-eK3zR7xVQR/MaoBWwGuD+CULYVuqe5QFlDukman71aI6IboCGzggDUohHNfu1ZeBnbHcUHJc0ywWoXUBNB6qdg==", - "dev": true, - "requires": { - "array-find": "^1.0.0", - "debug": "^2.6.8", - "enhanced-resolve": "~0.9.0", - "find-root": "^1.1.0", - "has": "^1.0.1", - "interpret": "^1.0.0", - "lodash": "^4.17.4", - "node-libs-browser": "^1.0.0 || ^2.0.0", - "resolve": "^1.10.0", - "semver": "^5.3.0" - } - }, - "eslint-module-utils": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz", - "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==", - "dev": true, - "requires": { - "debug": "^2.6.8", - "pkg-dir": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - } - } - }, - "eslint-plugin-import": { - "version": "2.18.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", - "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", - "dev": true, - "requires": { - "array-includes": "^3.0.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.2", - "eslint-module-utils": "^2.4.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.0", - "read-pkg-up": "^2.0.0", - "resolve": "^1.11.0" - }, - "dependencies": { - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - } - } - }, - "eslint-plugin-jest": { - "version": "22.17.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.17.0.tgz", - "integrity": "sha512-WT4DP4RoGBhIQjv+5D0FM20fAdAUstfYAf/mkufLNTojsfgzc5/IYW22cIg/Q4QBavAZsROQlqppiWDpFZDS8Q==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "^1.13.0" - } - }, - "eslint-plugin-react": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz", - "integrity": "sha512-GacBAATewhhptbK3/vTP09CbFrgUJmBSaaRcWdbQLFvUZy9yVcQxigBNHGPU/KE2AyHpzj3AWXpxoMTsIDiHug==", - "dev": true, - "requires": { - "array-includes": "^3.0.3", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.2.1", - "object.entries": "^1.1.0", - "object.fromentries": "^2.0.0", - "object.values": "^1.1.0", - "prop-types": "^15.7.2", - "resolve": "^1.12.0" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - } - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", - "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.0.0" - } - }, - "eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", - "dev": true - }, - "espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", - "dev": true, - "requires": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", - "dev": true, - "requires": { - "estraverse": "^4.0.0" - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "eventemitter3": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", - "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", - "dev": true - }, - "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", - "dev": true - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "exec-sh": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", - "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", - "dev": true, - "requires": { - "merge": "^1.2.0" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } - } - }, - "exenv": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", - "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "expect": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-21.2.1.tgz", - "integrity": "sha512-orfQQqFRTX0jH7znRIGi8ZMR8kTNpXklTTz8+HGTpmTKZo3Occ6JNB5FXMb8cRuiiC/GyDqsr30zUa66ACYlYw==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "jest-diff": "^21.2.1", - "jest-get-type": "^21.2.0", - "jest-matcher-utils": "^21.2.1", - "jest-message-util": "^21.2.1", - "jest-regex-util": "^21.2.0" - } - }, - "exports-loader": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.3.tgz", - "integrity": "sha1-V9x4kX9wm5byR/qR5ptVTIVQE8g=", - "dev": true, - "requires": { - "loader-utils": "0.2.x", - "source-map": "0.1.x" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", - "dev": true, - "requires": { - "concat-stream": "1.6.2", - "debug": "2.6.9", - "mkdirp": "0.5.1", - "yauzl": "2.4.1" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", - "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", - "dev": true, - "requires": { - "bser": "^2.0.0" - } - }, - "fbjs": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", - "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", - "dev": true, - "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", - "dev": true - } - } - }, - "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "file-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz", - "integrity": "sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^1.0.0" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fileset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", - "dev": true, - "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", - "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "follow-redirects": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz", - "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==", - "dev": true, - "requires": { - "debug": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": false, - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": false, - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "resolved": false, - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": false, - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": false, - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": false, - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "resolved": false, - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": false, - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": false, - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": false, - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": false, - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true, - "optional": true - }, - "debug": { - "version": "4.1.1", - "resolved": false, - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": false, - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "resolved": false, - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "resolved": false, - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "resolved": false, - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": false, - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "resolved": false, - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "resolved": false, - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": false, - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": false, - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "resolved": false, - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": false, - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": false, - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "resolved": false, - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": false, - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": false, - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": false, - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": false, - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.3.5", - "resolved": false, - "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "resolved": false, - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": false, - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.1", - "resolved": false, - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true, - "optional": true - }, - "needle": { - "version": "2.3.0", - "resolved": false, - "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", - "dev": true, - "optional": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.12.0", - "resolved": false, - "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "resolved": false, - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "resolved": false, - "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.1", - "resolved": false, - "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": false, - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": false, - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": false, - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": false, - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": false, - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": false, - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "resolved": false, - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": false, - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": false, - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "resolved": false, - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": false, - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": false, - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.3", - "resolved": false, - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": false, - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": false, - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "resolved": false, - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.0", - "resolved": false, - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": false, - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": false, - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "resolved": false, - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": false, - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": false, - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": false, - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "resolved": false, - "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": false, - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "resolved": false, - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": false, - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.0.3", - "resolved": false, - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", - "dev": true, - "optional": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "function.prototype.name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.1.tgz", - "integrity": "sha512-e1NzkiJuw6xqVH7YSdiW/qDHebcmMhPNe6w+4ZYYEg0VA+LaLzx37RimbPLuonHhYGFGPx1ME2nSi74JiaCr/Q==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1", - "functions-have-names": "^1.1.1", - "is-callable": "^1.1.4" - } - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "functions-have-names": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.1.1.tgz", - "integrity": "sha512-U0kNHUoxwPNPWOJaMG7Z00d4a/qZVrFtzWJRaK8V9goaVOCXBSQSJpt3MYGNtkScKEBKovxLjnNdC9MlXwo5Pw==", - "dev": true - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "get-float-time-domain-data": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-float-time-domain-data/-/get-float-time-domain-data-0.1.0.tgz", - "integrity": "sha1-XYVZJKQwOITJY4qrEnzOTQBlljs=", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "get-user-media-promise": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/get-user-media-promise/-/get-user-media-promise-1.1.4.tgz", - "integrity": "sha512-k49YuV2z0d3gKHLPTFKYfzEA9kduuQk7YBf8ev2dxrKk+DhMyuzfQnK9ZSxkEhE/jv3BZY62M0eICWa7lak9nw==", - "dev": true - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "gh-pages": { - "version": "github:rschamp/gh-pages#47e5e5c376ca65f4b407325e115174172d9c12ae", - "from": "github:rschamp/gh-pages#publish-branch-to-subfolder", - "dev": true, - "requires": { - "async": "2.1.2", - "commander": "2.9.0", - "globby": "^6.1.0", - "graceful-fs": "4.1.10", - "q": "1.4.1", - "q-io": "1.13.2", - "rimraf": "^2.5.4" - }, - "dependencies": { - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true, - "requires": { - "graceful-readlink": ">= 1.0.0" - } - }, - "graceful-fs": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.10.tgz", - "integrity": "sha1-8tcgwiCS90Mih3XHXjYSYyUB8TE=", - "dev": true - } - } - }, - "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "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.0" - }, - "dependencies": { - "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.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dev": true, - "requires": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - }, - "dependencies": { - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - } - } - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", - "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", - "dev": true - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, - "growl": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", - "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true - }, - "handle-thing": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", - "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", - "dev": true - }, - "handlebars": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.3.tgz", - "integrity": "sha512-B0W4A2U1ww3q7VVthTKfh+epHx+q4mCt6iK+zEAzbMBpWQAwxCeKxEGpj/1oQTpzPXDNSOG7hmG14TsISH50yw==", - "dev": true, - "requires": { - "neo-async": "^2.6.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoist-non-react-statics": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", - "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", - "dev": true, - "requires": { - "react-is": "^16.7.0" - } - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "hosted-git-info": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", - "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "html-element-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.1.0.tgz", - "integrity": "sha512-iqiG3dTZmy+uUaTmHarTL+3/A2VW9ox/9uasKEZC+R/wAtUrTcRlXPSaPqsnWPfIu8wqn09jQNwMRqzL54jSYA==", - "dev": true, - "requires": { - "array-filter": "^1.0.0" - } - }, - "html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.1" - } - }, - "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "dev": true - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - } - } - }, - "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", - "dev": true, - "requires": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - } - } - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", - "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "http-parser-js": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", - "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", - "dev": true - }, - "http-proxy": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", - "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "hyphenate-style-name": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz", - "integrity": "sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "icss-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", - "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", - "dev": true, - "requires": { - "postcss": "^6.0.1" - }, - "dependencies": { - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true - }, - "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=", - "dev": true - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", - "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imports-loader": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.6.5.tgz", - "integrity": "sha1-rnRlMDHVnjezwvslRKxhrq41MKY=", - "dev": true, - "requires": { - "loader-utils": "0.2.x", - "source-map": "0.1.x" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - } - }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, - "intl": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/intl/-/intl-1.2.5.tgz", - "integrity": "sha1-giRKIZDE5Bn4Nx9ao02qNCDiq94=", - "dev": true - }, - "intl-format-cache": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.2.9.tgz", - "integrity": "sha512-Zv/u8wRpekckv0cLkwpVdABYST4hZNTDaX7reFetrYTJwxExR2VyTqQm+l0WmL0Qo8Mjb9Tf33qnfj0T7pjxdQ==", - "dev": true - }, - "intl-messageformat": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-2.2.0.tgz", - "integrity": "sha1-NFvNRt5jC3aDMwwuUhd/9eq0hPw=", - "dev": true, - "requires": { - "intl-messageformat-parser": "1.4.0" - } - }, - "intl-messageformat-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz", - "integrity": "sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU=", - "dev": true - }, - "intl-relativeformat": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-2.2.0.tgz", - "integrity": "sha512-4bV/7kSKaPEmu6ArxXf9xjv1ny74Zkwuey8Pm01NH4zggPP7JHwg2STk8Y3JdspCKRDriwIyLRfEXnj2ZLr4Bw==", - "dev": true, - "requires": { - "intl-messageformat": "^2.0.0" - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", - "dev": true - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-boolean-object": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.0.tgz", - "integrity": "sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M=", - "dev": true - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "^1.0.0" - } - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true - }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "dev": true, - "requires": { - "ci-info": "^1.5.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "^2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-function": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", - "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-in-browser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-number-object": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.3.tgz", - "integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "^1.0.1" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz", - "integrity": "sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ=", - "dev": true - }, - "is-subset": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", - "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", - "dev": true - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "is2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.1.tgz", - "integrity": "sha512-+WaJvnaA7aJySz2q/8sLjMb2Mw14KTplHmSwcSpZ/fWJPkUmqw3YTzSWbPJ7OAwRvdYTWF2Wg+yYJ1AdP5Z8CA==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "ip-regex": "^2.1.0", - "is-url": "^1.2.2" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "dev": true, - "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - } - }, - "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 - }, - "istanbul-api": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.7.tgz", - "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", - "dev": true, - "requires": { - "async": "^2.1.4", - "fileset": "^2.0.2", - "istanbul-lib-coverage": "^1.2.1", - "istanbul-lib-hook": "^1.2.2", - "istanbul-lib-instrument": "^1.10.2", - "istanbul-lib-report": "^1.1.5", - "istanbul-lib-source-maps": "^1.2.6", - "istanbul-reports": "^1.5.1", - "js-yaml": "^3.7.0", - "mkdirp": "^0.5.1", - "once": "^1.4.0" - }, - "dependencies": { - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - } - } - }, - "istanbul-lib-coverage": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", - "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz", - "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", - "dev": true, - "requires": { - "append-transform": "^0.4.0" - } - }, - "istanbul-lib-instrument": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", - "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", - "dev": true, - "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.1", - "semver": "^5.3.0" - } - }, - "istanbul-lib-report": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz", - "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^1.2.1", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz", - "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", - "dev": true, - "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.2.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz", - "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", - "dev": true, - "requires": { - "handlebars": "^4.0.3" - } - }, - "jest": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-21.2.1.tgz", - "integrity": "sha512-mXN0ppPvWYoIcC+R+ctKxAJ28xkt/Z5Js875padm4GbgUn6baeR5N4Ng6LjatIRpUQDZVJABT7Y4gucFjPryfw==", - "dev": true, - "requires": { - "jest-cli": "^21.2.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "jest-cli": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-21.2.1.tgz", - "integrity": "sha512-T1BzrbFxDIW/LLYQqVfo94y/hhaj1NzVQkZgBumAC+sxbjMROI7VkihOdxNR758iYbQykL2ZOWUBurFgkQrzdg==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "istanbul-api": "^1.1.1", - "istanbul-lib-coverage": "^1.0.1", - "istanbul-lib-instrument": "^1.4.2", - "istanbul-lib-source-maps": "^1.1.0", - "jest-changed-files": "^21.2.0", - "jest-config": "^21.2.1", - "jest-environment-jsdom": "^21.2.1", - "jest-haste-map": "^21.2.0", - "jest-message-util": "^21.2.1", - "jest-regex-util": "^21.2.0", - "jest-resolve-dependencies": "^21.2.0", - "jest-runner": "^21.2.1", - "jest-runtime": "^21.2.1", - "jest-snapshot": "^21.2.1", - "jest-util": "^21.2.1", - "micromatch": "^2.3.11", - "node-notifier": "^5.0.2", - "pify": "^3.0.0", - "slash": "^1.0.0", - "string-length": "^2.0.0", - "strip-ansi": "^4.0.0", - "which": "^1.2.12", - "worker-farm": "^1.3.1", - "yargs": "^9.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "jest-changed-files": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-21.2.0.tgz", - "integrity": "sha512-+lCNP1IZLwN1NOIvBcV5zEL6GENK6TXrDj4UxWIeLvIsIDa+gf6J7hkqsW2qVVt/wvH65rVvcPwqXdps5eclTQ==", - "dev": true, - "requires": { - "throat": "^4.0.0" - } - }, - "jest-config": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-21.2.1.tgz", - "integrity": "sha512-fJru5HtlD/5l2o25eY9xT0doK3t2dlglrqoGpbktduyoI0T5CwuB++2YfoNZCrgZipTwPuAGonYv0q7+8yDc/A==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^21.2.1", - "jest-environment-node": "^21.2.1", - "jest-get-type": "^21.2.0", - "jest-jasmine2": "^21.2.1", - "jest-regex-util": "^21.2.0", - "jest-resolve": "^21.2.0", - "jest-util": "^21.2.1", - "jest-validate": "^21.2.1", - "pretty-format": "^21.2.1" - } - }, - "jest-diff": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-21.2.1.tgz", - "integrity": "sha512-E5fu6r7PvvPr5qAWE1RaUwIh/k6Zx/3OOkZ4rk5dBJkEWRrUuSgbMt2EO8IUTPTd6DOqU3LW6uTIwX5FRvXoFA==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "diff": "^3.2.0", - "jest-get-type": "^21.2.0", - "pretty-format": "^21.2.1" - } - }, - "jest-docblock": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", - "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", - "dev": true - }, - "jest-environment-jsdom": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-21.2.1.tgz", - "integrity": "sha512-mecaeNh0eWmzNrUNMWARysc0E9R96UPBamNiOCYL28k7mksb1d0q6DD38WKP7ABffjnXyUWJPVaWRgUOivwXwg==", - "dev": true, - "requires": { - "jest-mock": "^21.2.0", - "jest-util": "^21.2.1", - "jsdom": "^9.12.0" - } - }, - "jest-environment-node": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-21.2.1.tgz", - "integrity": "sha512-R211867wx9mVBVHzrjGRGTy5cd05K7eqzQl/WyZixR/VkJ4FayS8qkKXZyYnwZi6Rxo6WEV81cDbiUx/GfuLNw==", - "dev": true, - "requires": { - "jest-mock": "^21.2.0", - "jest-util": "^21.2.1" - } - }, - "jest-get-type": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-21.2.0.tgz", - "integrity": "sha512-y2fFw3C+D0yjNSDp7ab1kcd6NUYfy3waPTlD8yWkAtiocJdBRQqNoRqVfMNxgj+IjT0V5cBIHJO0z9vuSSZ43Q==", - "dev": true - }, - "jest-haste-map": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-21.2.0.tgz", - "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==", - "dev": true, - "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "jest-docblock": "^21.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0", - "worker-farm": "^1.3.1" - }, - "dependencies": { - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "jest-jasmine2": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-21.2.1.tgz", - "integrity": "sha512-lw8FXXIEekD+jYNlStfgNsUHpfMWhWWCgHV7n0B7mA/vendH7vBFs8xybjQsDzJSduptBZJHqQX9SMssya9+3A==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "expect": "^21.2.1", - "graceful-fs": "^4.1.11", - "jest-diff": "^21.2.1", - "jest-matcher-utils": "^21.2.1", - "jest-message-util": "^21.2.1", - "jest-snapshot": "^21.2.1", - "p-cancelable": "^0.3.0" - } - }, - "jest-junit": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-7.0.0.tgz", - "integrity": "sha512-ljUdO0hLyu0A92xk7R2Wet3kj99fmazTo+ZFYQP6b7AGOBxJUj8ZkJWzJ632ajpXko2Y5oNoGR2kvOwiDdu6hg==", - "dev": true, - "requires": { - "jest-validate": "^24.0.0", - "mkdirp": "^0.5.1", - "strip-ansi": "^4.0.0", - "xml": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", - "dev": true - }, - "jest-validate": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", - "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "camelcase": "^5.3.1", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "leven": "^3.1.0", - "pretty-format": "^24.9.0" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" - } - }, - "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" - }, - "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 - } - } - } - } - }, - "jest-matcher-utils": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-21.2.1.tgz", - "integrity": "sha512-kn56My+sekD43dwQPrXBl9Zn9tAqwoy25xxe7/iY4u+mG8P3ALj5IK7MLHZ4Mi3xW7uWVCjGY8cm4PqgbsqMCg==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^21.2.0", - "pretty-format": "^21.2.1" - } - }, - "jest-message-util": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-21.2.1.tgz", - "integrity": "sha512-EbC1X2n0t9IdeMECJn2BOg7buOGivCvVNjqKMXTzQOu7uIfLml+keUfCALDh8o4rbtndIeyGU8/BKfoTr/LVDQ==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0" - }, - "dependencies": { - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - } - } - }, - "jest-mock": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-21.2.0.tgz", - "integrity": "sha512-aZDfyVf0LEoABWiY6N0d+O963dUQSyUa4qgzurHR3TBDPen0YxKCJ6l2i7lQGh1tVdsuvdrCZ4qPj+A7PievCw==", - "dev": true - }, - "jest-regex-util": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-21.2.0.tgz", - "integrity": "sha512-BKQ1F83EQy0d9Jen/mcVX7D+lUt2tthhK/2gDWRgLDJRNOdRgSp1iVqFxP8EN1ARuypvDflRfPzYT8fQnoBQFQ==", - "dev": true - }, - "jest-resolve": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-21.2.0.tgz", - "integrity": "sha512-vefQ/Lr+VdNvHUZFQXWtOqHX3HEdOc2MtSahBO89qXywEbUxGPB9ZLP9+BHinkxb60UT2Q/tTDOS6rYc6Mwigw==", - "dev": true, - "requires": { - "browser-resolve": "^1.11.2", - "chalk": "^2.0.1", - "is-builtin-module": "^1.0.0" - } - }, - "jest-resolve-dependencies": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-21.2.0.tgz", - "integrity": "sha512-ok8ybRFU5ScaAcfufIQrCbdNJSRZ85mkxJ1EhUp8Bhav1W1/jv/rl1Q6QoVQHObNxmKnbHVKrfLZbCbOsXQ+bQ==", - "dev": true, - "requires": { - "jest-regex-util": "^21.2.0" - } - }, - "jest-runner": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-21.2.1.tgz", - "integrity": "sha512-Anb72BOQlHqF/zETqZ2K20dbYsnqW/nZO7jV8BYENl+3c44JhMrA8zd1lt52+N7ErnsQMd2HHKiVwN9GYSXmrg==", - "dev": true, - "requires": { - "jest-config": "^21.2.1", - "jest-docblock": "^21.2.0", - "jest-haste-map": "^21.2.0", - "jest-jasmine2": "^21.2.1", - "jest-message-util": "^21.2.1", - "jest-runtime": "^21.2.1", - "jest-util": "^21.2.1", - "pify": "^3.0.0", - "throat": "^4.0.0", - "worker-farm": "^1.3.1" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "jest-runtime": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-21.2.1.tgz", - "integrity": "sha512-6omlpA3+NSE+rHwD0PQjNEjZeb2z+oRmuehMfM1tWQVum+E0WV3pFt26Am0DUfQkkPyTABvxITRjCUclYgSOsA==", - "dev": true, - "requires": { - "babel-core": "^6.0.0", - "babel-jest": "^21.2.0", - "babel-plugin-istanbul": "^4.0.0", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "graceful-fs": "^4.1.11", - "jest-config": "^21.2.1", - "jest-haste-map": "^21.2.0", - "jest-regex-util": "^21.2.0", - "jest-resolve": "^21.2.0", - "jest-util": "^21.2.1", - "json-stable-stringify": "^1.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", - "strip-bom": "3.0.0", - "write-file-atomic": "^2.1.0", - "yargs": "^9.0.0" - }, - "dependencies": { - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - } - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - } - } - }, - "jest-snapshot": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-21.2.1.tgz", - "integrity": "sha512-bpaeBnDpdqaRTzN8tWg0DqOTo2DvD3StOemxn67CUd1p1Po+BUpvePAp44jdJ7Pxcjfg+42o4NHw1SxdCA2rvg==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-diff": "^21.2.1", - "jest-matcher-utils": "^21.2.1", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^21.2.1" - } - }, - "jest-util": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-21.2.1.tgz", - "integrity": "sha512-r20W91rmHY3fnCoO7aOAlyfC51x2yeV3xF+prGsJAUsYhKeV670ZB8NO88Lwm7ASu8SdH0S+U+eFf498kjhA4g==", - "dev": true, - "requires": { - "callsites": "^2.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.11", - "jest-message-util": "^21.2.1", - "jest-mock": "^21.2.0", - "jest-validate": "^21.2.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - } - } - }, - "jest-validate": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-21.2.1.tgz", - "integrity": "sha512-k4HLI1rZQjlU+EC682RlQ6oZvLrE5SCh3brseQc24vbZTxzT/k/3urar5QMCVgjadmSO7lECeGdc6YxnM3yEGg==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^21.2.0", - "leven": "^2.1.0", - "pretty-format": "^21.2.1" - } - }, - "js-base64": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz", - "integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ==", - "dev": true - }, - "js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", - "dev": true - }, - "js-md5": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz", - "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsdom": { - "version": "9.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", - "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", - "dev": true, - "requires": { - "abab": "^1.0.3", - "acorn": "^4.0.4", - "acorn-globals": "^3.1.0", - "array-equal": "^1.0.0", - "content-type-parser": "^1.0.1", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": ">= 0.2.37 < 0.3.0", - "escodegen": "^1.6.1", - "html-encoding-sniffer": "^1.0.1", - "nwmatcher": ">= 1.3.9 < 2.0.0", - "parse5": "^1.5.1", - "request": "^2.79.0", - "sax": "^1.2.1", - "symbol-tree": "^3.2.1", - "tough-cookie": "^2.3.2", - "webidl-conversions": "^4.0.0", - "whatwg-encoding": "^1.0.1", - "whatwg-url": "^4.3.0", - "xml-name-validator": "^2.0.1" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - }, - "parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", - "dev": true - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", - "dev": true - }, - "json5": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", - "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "jsx-ast-utils": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz", - "integrity": "sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==", - "dev": true, - "requires": { - "array-includes": "^3.0.3", - "object.assign": "^4.1.0" - } - }, - "jszip": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz", - "integrity": "sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==", - "dev": true, - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "set-immediate-shim": "~1.0.1" - } - }, - "keymirror": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/keymirror/-/keymirror-0.1.1.tgz", - "integrity": "sha1-kYiJ6hP40KQufFVyUO7nE63JXDU=", - "dev": true - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dev": true, - "requires": { - "immediate": "~3.0.5" - } - }, - "load-img": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/load-img/-/load-img-1.0.0.tgz", - "integrity": "sha1-CVN0SYk8MqhwkHRkVWbExfqprCY=", - "dev": true - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, - "lodash-es": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz", - "integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ==", - "dev": true - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", - "dev": true - }, - "lodash.bindall": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.bindall/-/lodash.bindall-4.4.0.tgz", - "integrity": "sha1-p7/Ugro9LnBxad/NyZPrv2w9eZg=", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.defaultsdeep": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.0.tgz", - "integrity": "sha1-vsECT4WxvZbL6kBbI8FK1kQ6b4E=", - "dev": true - }, - "lodash.escape": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", - "integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=", - "dev": true - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "dev": true - }, - "lodash.omit": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", - "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=", - "dev": true - }, - "lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", - "dev": true - }, - "lodash.throttle": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.0.1.tgz", - "integrity": "sha1-syEWYu6dgvVpA9BzEmKqqoc6YzA=", - "dev": true, - "requires": { - "lodash.debounce": "^4.0.0" - } - }, - "lodash.unescape": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", - "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=", - "dev": true - }, - "loglevel": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz", - "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "requires": { - "tmpl": "1.0.x" - } - }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "matchmediaquery": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/matchmediaquery/-/matchmediaquery-0.3.0.tgz", - "integrity": "sha512-u0dlv+VENJ+3YepvwSPBieuvnA6DWfaYa/ctwysAR13y4XLJNyt7bEVKzNj/Nvjo+50d88Pj+xL9xaSo6JmX/w==", - "dev": true, - "requires": { - "css-mediaquery": "^0.1.2" - } - }, - "math-random": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", - "dev": true - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "memory-fs": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", - "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", - "dev": true - }, - "merge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", - "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", - "dev": true - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "microee": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/microee/-/microee-0.0.6.tgz", - "integrity": "sha1-oSvbAQNoHosSapsHHrpMRnx4//4=", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", - "dev": true - }, - "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", - "dev": true, - "requires": { - "mime-db": "1.40.0" - } - }, - "mimeparse": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/mimeparse/-/mimeparse-0.1.4.tgz", - "integrity": "sha1-2vsCdSNw/SJgk64xUsJxrwGsJUo=", - "dev": true - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "dev": true, - "requires": { - "dom-walk": "^0.1.0" - } - }, - "minilog": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/minilog/-/minilog-3.1.0.tgz", - "integrity": "sha1-0tDxiHyjY9Gs8OqG1cTfKTs/tnU=", - "dev": true, - "requires": { - "microee": "0.0.6" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mississippi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", - "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^2.0.1", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "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" - } - }, - "mkpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz", - "integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=", - "dev": true - }, - "mocha": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz", - "integrity": "sha512-0RVnjg1HJsXY2YFDoTNzcc1NKhYuXKRrBAG2gDygmJJA136Cs2QlRliZG1mA0ap7cuaT30mw16luAeln+4RiNA==", - "dev": true, - "requires": { - "browser-stdout": "1.3.0", - "commander": "2.11.0", - "debug": "3.1.0", - "diff": "3.3.1", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.3", - "he": "1.1.1", - "mkdirp": "0.5.1", - "supports-color": "4.4.0" - }, - "dependencies": { - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "diff": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", - "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", - "dev": 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.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "^2.0.0" - } - } - } - }, - "moo": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/moo/-/moo-0.4.3.tgz", - "integrity": "sha512-gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw==", - "dev": true - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "nearley": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.19.0.tgz", - "integrity": "sha512-2v52FTw7RPqieZr3Gth1luAXZR7Je6q3KaDHY5bjl/paDUdMu35fZ8ICNgiYJRr3tf3NMvIQQR1r27AvEr9CRA==", - "dev": true, - "requires": { - "commander": "^2.19.0", - "moo": "^0.4.3", - "railroad-diagrams": "^1.0.0", - "randexp": "0.4.6", - "semver": "^5.4.1" - } - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, - "nets": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nets/-/nets-3.2.0.tgz", - "integrity": "sha1-1RH7q3rxHaAT8huX7pF0fTOFLTg=", - "dev": true, - "requires": { - "request": "^2.65.0", - "xhr": "^2.1.0" - } - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dev": true, - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, - "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "node-notifier": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", - "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", - "dev": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - } - }, - "node-releases": { - "version": "1.1.35", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.35.tgz", - "integrity": "sha512-JGcM/wndCN/2elJlU0IGdVEJQQnJwsLbgPCFd2pY7V0mxf17bZ0Gb/lgOtL29ZQhvEX5shnVhxQyZz3ex94N8w==", - "dev": true, - "requires": { - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "nwmatcher": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", - "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", - "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", - "dev": true - }, - "object-is": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", - "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.entries": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", - "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "object.fromentries": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.1.tgz", - "integrity": "sha512-PUQv8Hbg3j2QX0IQYv3iAGCbGcu4yY4KQ92/dhA4sFSixBmSmp13UpDLs6jGK8rBtbmhNNIK99LD2k293jpiGA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.15.0", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", - "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "omggif": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.9.tgz", - "integrity": "sha1-3LcCTazVDFK00wPwSALJHAV8dl8=", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } - } - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - } - }, - "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 - }, - "output-file-sync": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", - "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "is-plain-obj": "^1.1.0", - "mkdirp": "^0.5.1" - } - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "dev": true - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dev": true, - "requires": { - "retry": "^0.12.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", - "dev": true - }, - "papaparse": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.1.1.tgz", - "integrity": "sha512-KPkW4GNQxunmYTeJIjHFrvilcNuHBWrfgbyvmagEmfGOA4hnP1WIkPbv4yABhj1Nam3as4w+7MBiI27BntwqVg==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-color": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz", - "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=", - "dev": true, - "requires": { - "color-convert": "~0.5.0" - }, - "dependencies": { - "color-convert": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", - "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=", - "dev": true - } - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "parse-headers": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz", - "integrity": "sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==", - "dev": true, - "requires": { - "for-each": "^0.3.3", - "string.prototype.trim": "^1.1.2" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "parse5": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "portfinder": { - "version": "1.0.25", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", - "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "7.0.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", - "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-import": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz", - "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==", - "dev": true, - "requires": { - "postcss": "^7.0.1", - "postcss-value-parser": "^3.2.3", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-load-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", - "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - } - }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - } - }, - "postcss-modules-extract-imports": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", - "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", - "dev": true, - "requires": { - "postcss": "^6.0.1" - }, - "dependencies": { - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "dev": true, - "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-simple-vars": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-simple-vars/-/postcss-simple-vars-5.0.2.tgz", - "integrity": "sha512-xWIufxBoINJv6JiLb7jl5oElgp+6puJwvT5zZHliUSydoLz4DADRB3NDDsYgfKVwojn4TDLiseoC65MuS8oGGg==", - "dev": true, - "requires": { - "postcss": "^7.0.14" - } - }, - "postcss-value-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", - "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "pretty-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "dev": true, - "requires": { - "renderkid": "^2.0.1", - "utila": "~0.4" - } - }, - "pretty-format": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-21.2.1.tgz", - "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - } - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dev": true, - "requires": { - "asap": "~2.0.3" - } - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "dev": true, - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "prop-types-exact": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.0.tgz", - "integrity": "sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA==", - "dev": true, - "requires": { - "has": "^1.0.3", - "object.assign": "^4.1.0", - "reflect.ownkeys": "^0.2.0" - } - }, - "proxy-addr": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", - "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", - "dev": true, - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.0" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", - "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true - }, - "q-io": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/q-io/-/q-io-1.13.2.tgz", - "integrity": "sha1-7qEw1IHdteGqG8WmaFX3OR0G8AM=", - "dev": true, - "requires": { - "collections": "^0.2.0", - "mime": "^1.2.11", - "mimeparse": "^0.1.4", - "q": "^1.0.1", - "qs": "^1.2.1", - "url2": "^0.0.0" - }, - "dependencies": { - "qs": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-1.2.2.tgz", - "integrity": "sha1-GbV/8k3CqZzh+L32r82ln472H4g=", - "dev": true - } - } - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dev": true, - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", - "dev": true - }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "dev": true, - "requires": { - "performance-now": "^2.1.0" - } - }, - "railroad-diagrams": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", - "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=", - "dev": true - }, - "randexp": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", - "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", - "dev": true, - "requires": { - "discontinuous-range": "1.0.0", - "ret": "~0.1.10" - } - }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "dev": true, - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - } - } - }, - "raw-loader": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", - "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", - "dev": true - }, - "react": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.2.0.tgz", - "integrity": "sha512-ZmIomM7EE1DvPEnSFAHZn9Vs9zJl5A9H7el0EGTE6ZbW9FKe/14IYAlPbC8iH25YarEQxZL+E8VW7Mi7kfQrDQ==", - "dev": true, - "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" - } - }, - "react-contextmenu": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/react-contextmenu/-/react-contextmenu-2.9.4.tgz", - "integrity": "sha512-ma4YQw4J7JNv8L8mMVd1NHHbvH3+gaK/rQ6FC5Tft7OCUweKi7PHqHEE0fDF2009FLSGoV5JnjPnTTEyThqaJg==", - "dev": true, - "requires": { - "classnames": "^2.2.5", - "object-assign": "^4.1.0" - } - }, - "react-dom": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.2.0.tgz", - "integrity": "sha512-zpGAdwHVn9K0091d+hr+R0qrjoJ84cIBFL2uU60KvWBPfZ7LPSrfqviTxGHWN0sjPZb2hxWzMexwrvJdKePvjg==", - "dev": true, - "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" - } - }, - "react-draggable": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-3.0.5.tgz", - "integrity": "sha512-qo76q6+pafyGllbmfc+CgWfOkwY9v3UoJa3jp6xG2vdsRY8uJTN1kqNievLj0uVNjEqCvZ0OFiEBxlAJNj3OTg==", - "dev": true, - "requires": { - "classnames": "^2.2.5", - "prop-types": "^15.6.0" - } - }, - "react-ga": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/react-ga/-/react-ga-2.5.3.tgz", - "integrity": "sha512-25wvPv1PVLDLhw1gEYP33h0V2sJHahKMfUCAxhq8JPYmNQwx1fcjJAkJk+WmSqGN93lHLhExDkxy3SQizQnx3A==", - "dev": true, - "requires": { - "prop-types": "^15.6.0", - "react": "^15.6.2 || ^16.0" - } - }, - "react-intl": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-2.9.0.tgz", - "integrity": "sha512-27jnDlb/d2A7mSJwrbOBnUgD+rPep+abmoJE511Tf8BnoONIAUehy/U1zZCHGO17mnOwMWxqN4qC0nW11cD6rA==", - "dev": true, - "requires": { - "hoist-non-react-statics": "^3.3.0", - "intl-format-cache": "^2.0.5", - "intl-messageformat": "^2.1.0", - "intl-relativeformat": "^2.1.0", - "invariant": "^2.1.1" - } - }, - "react-is": { - "version": "16.10.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.10.2.tgz", - "integrity": "sha512-INBT1QEgtcCCgvccr5/86CfD71fw9EPmDxgiJX4I2Ddr6ZsV6iFXsuby+qWJPtmNuMY0zByTsG4468P7nHuNWA==", - "dev": true - }, - "react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", - "dev": true - }, - "react-modal": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.9.1.tgz", - "integrity": "sha512-k+TUkhGWpIVHLsEyjNmlyOYL0Uz03fNZvlkhCImd1h+6fhNgTi6H6jexVXPVhD2LMMDzJyfugxMN+APN/em+eQ==", - "dev": true, - "requires": { - "exenv": "^1.2.0", - "prop-types": "^15.5.10", - "react-lifecycles-compat": "^3.0.0", - "warning": "^4.0.3" - } - }, - "react-popover": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/react-popover/-/react-popover-0.5.10.tgz", - "integrity": "sha512-5SYDTfncywSH00I70oHd4gFRUR8V0rJ4sRADSI/P6G0RVXp9jUgaWloJ0Bk+SFnjpLPuipTKuzQNNd2CTs5Hrw==", - "dev": true, - "requires": { - "css-vendor": "^0.3.1", - "debug": "^2.6.8", - "lodash.throttle": "^3.0.3", - "prop-types": "^15.5.10" - }, - "dependencies": { - "lodash.debounce": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-3.1.1.tgz", - "integrity": "sha1-gSIRw3ipTMKdWqTjNGzwv846ffU=", - "dev": true, - "requires": { - "lodash._getnative": "^3.0.0" - } - }, - "lodash.throttle": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-3.0.4.tgz", - "integrity": "sha1-vE9HH7Mo5Nb9xt8rPTyvET8Pick=", - "dev": true, - "requires": { - "lodash.debounce": "^3.0.0" - } - } - } - }, - "react-redux": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz", - "integrity": "sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==", - "dev": true, - "requires": { - "hoist-non-react-statics": "^2.5.0", - "invariant": "^2.0.0", - "lodash": "^4.17.5", - "lodash-es": "^4.17.5", - "loose-envify": "^1.1.0", - "prop-types": "^15.6.0" - }, - "dependencies": { - "hoist-non-react-statics": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", - "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==", - "dev": true - } - } - }, - "react-responsive": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/react-responsive/-/react-responsive-5.0.0.tgz", - "integrity": "sha512-oEimZ0FTCC3/pjGDEBHOz06nWbBNDIbMGOdRYp6K9SBUmrqgNAX77hTiqvmRQeLyI97zz4F4kiaFRxFspDxE+w==", - "dev": true, - "requires": { - "hyphenate-style-name": "^1.0.0", - "matchmediaquery": "^0.3.0", - "prop-types": "^15.6.1" - } - }, - "react-style-proptype": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/react-style-proptype/-/react-style-proptype-3.2.2.tgz", - "integrity": "sha512-ywYLSjNkxKHiZOqNlso9PZByNEY+FTyh3C+7uuziK0xFXu9xzdyfHwg4S9iyiRRoPCR4k2LqaBBsWVmSBwCWYQ==", - "dev": true, - "requires": { - "prop-types": "^15.5.4" - } - }, - "react-tabs": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-2.3.0.tgz", - "integrity": "sha512-pYaefgVy76/36AMEP+B8YuVVzDHa3C5UFZ3REU78zolk0qMxEhKvUFofvDCXyLZwf0RZjxIfiwok1BEb18nHyA==", - "dev": true, - "requires": { - "classnames": "^2.2.0", - "prop-types": "^15.5.0" - } - }, - "react-test-renderer": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.2.0.tgz", - "integrity": "sha512-Kd4gJFtpNziR9ElOE/C23LeflKLZPRpNQYWP3nQBY43SJ5a+xyEGSeMrm2zxNKXcnCbBS/q1UpD9gqd5Dv+rew==", - "dev": true, - "requires": { - "fbjs": "^0.8.16", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" - } - }, - "react-tooltip": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-3.8.0.tgz", - "integrity": "sha512-Uj/vVd0uGuqwTkWeRjKS56T2iwOSvsSMbjqTK7AseHZEMND+WCXXUajaF7+ZsJWTZgnpeT9kBnaBFhchzeDTbw==", - "dev": true, - "requires": { - "classnames": "^2.2.5", - "prop-types": "^15.6.0" - } - }, - "react-virtualized": { - "version": "9.20.1", - "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.20.1.tgz", - "integrity": "sha512-xIWxBsyNAjceqD3hsE0nw5TcDVxKbIepsHhvS2XneHmNz0KlKxdLdGBmGZBM9ZesEmbZ5EO0Sw70TB1MeCmpbQ==", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "classnames": "^2.2.3", - "dom-helpers": "^2.4.0 || ^3.0.0", - "loose-envify": "^1.3.0", - "prop-types": "^15.6.0", - "react-lifecycles-compat": "^3.0.4" - } - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", - "dev": true, - "requires": { - "pify": "^2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "dependencies": { - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "redux": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", - "dev": true, - "requires": { - "lodash": "^4.2.1", - "lodash-es": "^4.2.1", - "loose-envify": "^1.1.0", - "symbol-observable": "^1.0.3" - } - }, - "redux-mock-store": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/redux-mock-store/-/redux-mock-store-1.5.3.tgz", - "integrity": "sha512-ryhkkb/4D4CUGpAV2ln1GOY/uh51aczjcRz9k2L2bPx/Xja3c5pSGJJPyR25GNVRXtKIExScdAgFdiXp68GmJA==", - "dev": true, - "requires": { - "lodash.isplainobject": "^4.0.6" - } - }, - "redux-throttle": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/redux-throttle/-/redux-throttle-0.1.1.tgz", - "integrity": "sha1-QwcFc/AzHRKuFvrmVyrZ1/y3Ya4=", - "dev": true, - "requires": { - "lodash.throttle": "4.0.1" - } - }, - "reflect.ownkeys": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz", - "integrity": "sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=", - "dev": true - }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", - "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", - "dev": true, - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "regenerator-transform": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", - "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", - "dev": true, - "requires": { - "private": "^0.1.6" - } - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "^0.1.3" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", - "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true - }, - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true - }, - "string.prototype.trimleft": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", - "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "string.prototype.trimright": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", - "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - } - } - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - }, - "regexpu-core": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", - "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.1.0", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" - } - }, - "regjsgen": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", - "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", - "dev": true - }, - "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "renderkid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", - "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", - "dev": true, - "requires": { - "css-select": "^1.1.0", - "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", - "strip-ansi": "^3.0.0", - "utila": "^0.4.0" - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", - "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } - } - }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "dependencies": { - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rst-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", - "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=", - "dev": true, - "requires": { - "lodash.flattendeep": "^4.4.0", - "nearley": "^2.7.10" - } - }, - "rsvp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", - "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", - "dev": true - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "requires": { - "is-promise": "^2.1.0" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sane": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", - "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "scratch-audio": { - "version": "0.1.0-prerelease.20190925183642", - "resolved": "https://registry.npmjs.org/scratch-audio/-/scratch-audio-0.1.0-prerelease.20190925183642.tgz", - "integrity": "sha512-cvnNawIThkIKyMZdo+cRmYO+ndCG9dcQeaG8rTgok2iSMvG510OUs3DBnFz/GUncu+OryT1VKdeusEfwKf/+ow==", - "dev": true, - "requires": { - "audio-context": "1.0.1", - "minilog": "^3.0.1", - "startaudiocontext": "1.2.1" - } - }, - "scratch-blocks": { - "version": "0.1.0-prerelease.1578322100", - "resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.1578322100.tgz", - "integrity": "sha512-36CNHELBehHX0pjyVLrkP7vqVhpkvBONDLTKx1LoYZhVXtTvP+Vknd6iKDM3gUzzAOMdpUUxVO6e/XBHz8+i1w==", - "dev": true, - "requires": { - "exports-loader": "0.6.3", - "imports-loader": "0.6.5" - } - }, - "scratch-l10n": { - "version": "3.7.20200108141814", - "resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.7.20200108141814.tgz", - "integrity": "sha512-96XEoJGqmR3f/394hcyBjHdyc3VNapaU6hQ+3/4TAvfD/8keYsJuSVkHHMD+UpodHKkkSTyQZIjbDKc9T60UMQ==", - "dev": true, - "requires": { - "@babel/cli": "^7.1.2", - "@babel/core": "^7.1.2", - "babel-plugin-react-intl": "^3.0.1", - "transifex": "1.6.6" - } - }, - "scratch-paint": { - "version": "0.2.0-prerelease.20200109073728", - "resolved": "https://registry.npmjs.org/scratch-paint/-/scratch-paint-0.2.0-prerelease.20200109073728.tgz", - "integrity": "sha512-PJTYShD5gl4OReRN+ZOTjSFeEuarO5YV10bbmw1BSn/pAnuEYU2dglgymNSBiGXunYaDYyaPgsJldzcnydSxHQ==", - "dev": true, - "requires": { - "@scratch/paper": "0.11.20190729152410", - "classnames": "2.2.5", - "keymirror": "0.1.1", - "lodash.bindall": "4.4.0", - "lodash.omit": "4.5.0", - "minilog": "3.1.0", - "parse-color": "1.0.0", - "prop-types": "^15.5.10", - "scratch-svg-renderer": "0.2.0-prerelease.20200109070519" - }, - "dependencies": { - "classnames": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", - "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0=", - "dev": true - } - } - }, - "scratch-render-fonts": { - "version": "1.0.0-prerelease.20180906193204", - "resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.0-prerelease.20180906193204.tgz", - "integrity": "sha512-tVDUTKO/gJnEv94HTyBWW/e/JwsZIslByzehuXQ7QvrngEh28gvHaCRwKMX/cqprizu4TFqvfx4Xh2n9e5XekA==", - "dev": true, - "requires": { - "base64-loader": "1.0.0" - } - }, - "scratch-storage": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/scratch-storage/-/scratch-storage-1.3.2.tgz", - "integrity": "sha512-Xi169m/k6yYJU7aXTLgIxWjIumYamMSkRdSQiQ39p6kQeniGzm8ncBbJuGOs1UDh0Y3b6g1DrqX24YaSQL201w==", - "dev": true, - "requires": { - "arraybuffer-loader": "^1.0.3", - "base64-js": "1.3.0", - "js-md5": "0.7.3", - "minilog": "3.1.0", - "nets": "3.2.0", - "text-encoding": "0.7.0", - "worker-loader": "^2.0.0" - }, - "dependencies": { - "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", - "dev": true - } - } - }, - "scratch-svg-renderer": { - "version": "0.2.0-prerelease.20200109070519", - "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-0.2.0-prerelease.20200109070519.tgz", - "integrity": "sha512-THdZW9gA8mFKvDImHDrWWhvyOymUW3JgMBjpPsaFk2URl1kfNIRQIndfwto2B8a8YbtuyKSv6CWW8Nu+VzBZVA==", - "dev": true, - "requires": { - "base64-js": "1.2.1", - "base64-loader": "1.0.0", - "minilog": "3.1.0", - "scratch-render-fonts": "1.0.0-prerelease.20180906193204", - "transformation-matrix": "1.15.0" - }, - "dependencies": { - "base64-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", - "dev": true - } - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selenium-webdriver": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", - "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", - "dev": true, - "requires": { - "jszip": "^3.1.3", - "rimraf": "^2.5.4", - "tmp": "0.0.30", - "xml2js": "^0.4.17" - }, - "dependencies": { - "tmp": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - } - } - }, - "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", - "dev": true, - "requires": { - "node-forge": "0.9.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", - "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", - "dev": true - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true - }, - "should": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", - "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", - "dev": true, - "requires": { - "should-equal": "^2.0.0", - "should-format": "^3.0.3", - "should-type": "^1.4.0", - "should-type-adaptors": "^1.0.1", - "should-util": "^1.0.0" - } - }, - "should-equal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", - "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", - "dev": true, - "requires": { - "should-type": "^1.4.0" - } - }, - "should-format": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", - "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", - "dev": true, - "requires": { - "should-type": "^1.3.0", - "should-type-adaptors": "^1.0.1" - } - }, - "should-type": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", - "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", - "dev": true - }, - "should-type-adaptors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", - "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", - "dev": true, - "requires": { - "should-type": "^1.3.0", - "should-util": "^1.0.0" - } - }, - "should-util": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", - "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", - "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" - } - }, - "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", - "dev": true, - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "^0.5.6" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "spdy": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", - "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "readable-stream": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", - "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "startaudiocontext": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/startaudiocontext/-/startaudiocontext-1.2.1.tgz", - "integrity": "sha1-RtLKtUYseRGArMciPju7wycshZU=", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string-length": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", - "dev": true, - "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string.prototype.trim": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz", - "integrity": "sha512-9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.13.0", - "function-bind": "^1.1.1" - } - }, - "string.prototype.trimleft": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", - "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "string.prototype.trimright": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", - "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "style-loader": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", - "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^1.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "svg-to-image": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/svg-to-image/-/svg-to-image-1.1.3.tgz", - "integrity": "sha1-1v9NiDyo9+P3krQrIyixXL4vsPM=", - "dev": true, - "requires": { - "load-img": "^1.0.0" - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "tapable": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", - "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", - "dev": true - }, - "tcp-port-used": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.1.tgz", - "integrity": "sha512-rwi5xJeU6utXoEIiMvVBMc9eJ2/ofzB+7nLOdnZuFTmNCLqRiQh2sMG9MqCxHU/69VC/Fwp5dV9306Qd54ll1Q==", - "dev": true, - "requires": { - "debug": "4.1.0", - "is2": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", - "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "terser": { - "version": "4.3.8", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.8.tgz", - "integrity": "sha512-otmIRlRVmLChAWsnSFNO0Bfk6YySuBp6G9qrHiJwlLDd4mxe2ta4sjI7TzIR+W1nBMjilzrMcPOz9pSusgx3hQ==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } - } - }, - "terser-webpack-plugin": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", - "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^1.7.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "cacache": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", - "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "test-exclude": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", - "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "micromatch": "^2.3.11", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" - }, - "dependencies": { - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "text-encoding": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz", - "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "to-style": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/to-style/-/to-style-1.3.3.tgz", - "integrity": "sha1-Y6K3Cm9KfU/cLtV6C+TnI1y2aZw=", - "dev": true - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true - }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "dev": true - }, - "transformation-matrix": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/transformation-matrix/-/transformation-matrix-1.15.0.tgz", - "integrity": "sha512-808EqPQbmUD6/IMpWUXLOZcblCHf9xaiB+un0RYNNE9+6VRjoiw6Be8R32tZ0ips1PX/15tlnA2Ev4UUgg827Q==", - "dev": true - }, - "transifex": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/transifex/-/transifex-1.6.6.tgz", - "integrity": "sha512-uHeRvhfLfZN+JdH+X0zR1jkQAbMGkgExZgcXm31CzaVVd4kq98YaPr4MCgCU0LwA7cgOuB97d2HZQ/WikOAxlg==", - "dev": true, - "requires": { - "commander": "^2.9.0", - "lodash": "^4.17.1", - "mkpath": "^1.0.0", - "mocha": "^4.0.0", - "request": "^2.34.0", - "should": "^13.0.0" - } - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", - "dev": true - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": 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 - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "ua-parser-js": { - "version": "0.7.20", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz", - "integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw==", - "dev": true - }, - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", - "dev": true, - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "uglifyjs-webpack-plugin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", - "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", - "dev": true, - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "schema-utils": "^0.4.5", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "uglify-es": "^3.3.4", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" - }, - "dependencies": { - "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", - "dev": true - }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", - "dev": true, - "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - } - } - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", - "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", - "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", - "dev": true - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "url2": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/url2/-/url2-0.0.0.tgz", - "integrity": "sha1-Tqq9HVw6yQ1iq0SFyZhCKGWgSxo=", - "dev": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", - "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vm-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", - "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", - "dev": true - }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "requires": { - "makeerror": "1.0.x" - } - }, - "warning": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", - "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "watch": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", - "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", - "dev": true, - "requires": { - "exec-sh": "^0.2.0", - "minimist": "^1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", - "dev": true, - "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - } - }, - "wav-encoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/wav-encoder/-/wav-encoder-1.3.0.tgz", - "integrity": "sha512-FXJdEu2qDOI+wbVYZpu21CS1vPEg5NaxNskBr4SaULpOJMrLE6xkH8dECa7PiS+ZoeyvP7GllWUAxPN3AvFSEw==", - "dev": true - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "weak-map": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.0.tgz", - "integrity": "sha1-tm5Wqd8L0lp2u/G1FNsSkIBhSjc=", - "dev": true - }, - "web-audio-test-api": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/web-audio-test-api/-/web-audio-test-api-0.5.2.tgz", - "integrity": "sha1-weJNIc7QYD8aSVJyoetmnbKIc/o=", - "dev": true - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "webpack": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.0.tgz", - "integrity": "sha512-yNV98U4r7wX1VJAj5kyMsu36T8RPPQntcb5fJLOsMz/pt/WrKC0Vp1bAlqPLkA1LegSwQwf6P+kAbyhRKVQ72g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/wasm-edit": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.2.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.1", - "watchpack": "^1.6.0", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "enhanced-resolve": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", - "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - } - } - }, - "webpack-cli": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.9.tgz", - "integrity": "sha512-xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==", - "dev": true, - "requires": { - "chalk": "2.4.2", - "cross-spawn": "6.0.5", - "enhanced-resolve": "4.1.0", - "findup-sync": "3.0.0", - "global-modules": "2.0.0", - "import-local": "2.0.0", - "interpret": "1.2.0", - "loader-utils": "1.2.3", - "supports-color": "6.1.0", - "v8-compile-cache": "2.0.3", - "yargs": "13.2.4" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "yargs": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", - "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.0" - } - }, - "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", - "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", - "dev": true - } - } - }, - "webpack-dev-server": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.1.tgz", - "integrity": "sha512-AGG4+XrrXn4rbZUueyNrQgO4KGnol+0wm3MPdqGLmmA+NofZl3blZQKxZ9BND6RDNuvAK9OMYClhjOSnxpWRoA==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.2.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.6", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.25", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "0.3.19", - "sockjs-client": "1.4.0", - "spdy": "^4.0.1", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "12.0.5" - }, - "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 - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "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" - } - } - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "websocket-driver": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", - "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", - "dev": true, - "requires": { - "http-parser-js": ">=0.4.0 <0.4.11", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", - "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==", - "dev": true - }, - "whatwg-url": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", - "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", - "dev": true - } - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "worker-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-2.0.0.tgz", - "integrity": "sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==", - "dev": true, - "requires": { - "loader-utils": "^1.0.0", - "schema-utils": "^0.4.0" - }, - "dependencies": { - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "xhr": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", - "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", - "dev": true, - "requires": { - "global": "~4.3.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "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.1" - } - }, - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", - "dev": true - } - } - }, - "xml": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", - "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", - "dev": true - }, - "xml-name-validator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", - "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", - "dev": true - }, - "xml2js": { - "version": "0.4.22", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.22.tgz", - "integrity": "sha512-MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw==", - "dev": true, - "requires": { - "sax": ">=0.6.0", - "util.promisify": "~1.0.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", - "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" - }, - "dependencies": { - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - } - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - }, - "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", - "dev": true, - "requires": { - "fd-slicer": "~1.0.1" - } - } - } + "name": "scratch-gui", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "scratch-gui", + "version": "0.1.0", + "license": "BSD-3-Clause", + "devDependencies": { + "@babel/cli": "^7.1.2", + "@babel/core": "^7.1.2", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.1.0", + "@babel/preset-env": "^7.1.0", + "@babel/preset-react": "^7.0.0", + "arraybuffer-loader": "^1.0.6", + "autoprefixer": "^9.0.1", + "babel-core": "7.0.0-bridge.0", + "babel-eslint": "^10.0.1", + "babel-loader": "^8.0.4", + "base64-loader": "1.0.0", + "bowser": "1.9.4", + "chromedriver": "78.0.1", + "classnames": "2.2.6", + "computed-style-to-inline-style": "3.0.0", + "copy-webpack-plugin": "^4.5.1", + "core-js": "2.5.7", + "css-loader": "^1.0.0", + "enzyme": "^3.5.0", + "enzyme-adapter-react-16": "1.3.0", + "es6-object-assign": "1.1.0", + "eslint": "^5.0.1", + "eslint-config-scratch": "^5.0.0", + "eslint-import-resolver-webpack": "^0.11.1", + "eslint-plugin-import": "^2.18.2", + "eslint-plugin-jest": "^22.14.1", + "eslint-plugin-react": "^7.12.4", + "file-loader": "2.0.0", + "get-float-time-domain-data": "0.1.0", + "get-user-media-promise": "1.1.4", + "gh-pages": "github:rschamp/gh-pages#publish-branch-to-subfolder", + "html-webpack-plugin": "^3.2.0", + "immutable": "3.8.2", + "intl": "1.2.5", + "jest": "^21.0.0", + "jest-junit": "^7.0.0", + "js-base64": "2.4.9", + "keymirror": "0.1.1", + "lodash.bindall": "4.4.0", + "lodash.debounce": "4.0.8", + "lodash.defaultsdeep": "4.6.0", + "lodash.isequal": "4.5.0", + "lodash.omit": "4.5.0", + "lodash.pick": "4.4.0", + "lodash.throttle": "4.0.1", + "minilog": "3.1.0", + "mkdirp": "^0.5.1", + "omggif": "1.0.9", + "papaparse": "5.1.1", + "postcss-import": "^12.0.0", + "postcss-loader": "^3.0.0", + "postcss-simple-vars": "^5.0.1", + "prop-types": "^15.5.10", + "query-string": "^5.1.1", + "raf": "^3.4.0", + "raw-loader": "^0.5.1", + "react": "16.2.0", + "react-contextmenu": "2.9.4", + "react-dom": "16.2.0", + "react-draggable": "3.0.5", + "react-ga": "2.5.3", + "react-intl": "2.9.0", + "react-modal": "3.9.1", + "react-popover": "0.5.10", + "react-redux": "5.0.7", + "react-responsive": "5.0.0", + "react-style-proptype": "3.2.2", + "react-tabs": "2.3.0", + "react-test-renderer": "16.2.0", + "react-tooltip": "3.8.0", + "react-virtualized": "9.20.1", + "redux": "3.7.2", + "redux-mock-store": "^1.2.3", + "redux-throttle": "0.1.1", + "rimraf": "^2.6.1", + "scratch-audio": "0.1.0-prerelease.20190925183642", + "scratch-blocks": "0.1.0-prerelease.1578322100", + "scratch-l10n": "3.7.20200108141814", + "scratch-paint": "0.2.0-prerelease.20200109073728", + "scratch-storage": "1.3.2", + "scratch-svg-renderer": "0.2.0-prerelease.20200109070519", + "selenium-webdriver": "3.6.0", + "startaudiocontext": "1.2.1", + "style-loader": "^0.23.0", + "svg-to-image": "1.1.3", + "text-encoding": "0.7.0", + "to-style": "1.3.3", + "uglifyjs-webpack-plugin": "^1.2.5", + "wav-encoder": "1.3.0", + "web-audio-test-api": "^0.5.2", + "webpack": "^4.6.0", + "webpack-cli": "^3.1.0", + "webpack-dev-server": "^3.10.0", + "xhr": "2.5.0" + }, + "peerDependencies": { + "react": "^16.0.0", + "react-dom": "^16.0.0" + } + }, + "node_modules/@babel/cli": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.6.4.tgz", + "integrity": "sha512-tqrDyvPryBM6xjIyKKUwr3s8CzmmYidwgdswd7Uc/Cv0ogZcuS1TYQTLx/eWKP3UbJ6JxZAiYlBZabXm/rtRsQ==", + "dev": true, + "dependencies": { + "commander": "^2.8.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.13", + "mkdirp": "^0.5.1", + "output-file-sync": "^2.0.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "optionalDependencies": { + "chokidar": "^2.1.8" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.0.0" + } + }, + "node_modules/@babel/core": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.4.tgz", + "integrity": "sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.4", + "@babel/helpers": "^7.6.2", + "@babel/parser": "^7.6.4", + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.3", + "@babel/types": "^7.6.3", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@babel/generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz", + "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.6.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-builder-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz", + "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0", + "esutils": "^2.0.0" + } + }, + "node_modules/@babel/helper-call-delegate": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", + "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "node_modules/@babel/helper-define-map": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", + "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", + "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.4.4" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", + "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.5.5" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", + "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "node_modules/@babel/helper-regex": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", + "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.13" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", + "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.4.4" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz", + "integrity": "sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.2", + "@babel/types": "^7.6.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "dev": true, + "dependencies": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.4.tgz", + "integrity": "sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", + "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", + "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz", + "integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz", + "integrity": "sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", + "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", + "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", + "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz", + "integrity": "sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", + "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.5.5", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5", + "@babel/helper-split-export-declaration": "^7.4.4", + "globals": "^11.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz", + "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz", + "integrity": "sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", + "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", + "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", + "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", + "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", + "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz", + "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", + "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", + "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz", + "integrity": "sha512-jTkk7/uE6H2s5w6VlMHeWuH+Pcy2lmdwFoeWCVnvIrDUnB5gQqTVI8WfmEAhF2CDEarGrknZcmSFg1+bkfCoSw==", + "dev": true, + "dependencies": { + "regexpu-core": "^4.6.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", + "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", + "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", + "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", + "dev": true, + "dependencies": { + "@babel/helper-call-delegate": "^7.4.4", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", + "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", + "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz", + "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==", + "dev": true, + "dependencies": { + "@babel/helper-builder-react-jsx": "^7.3.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz", + "integrity": "sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz", + "integrity": "sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", + "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.14.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", + "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz", + "integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", + "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", + "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz", + "integrity": "sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.3.tgz", + "integrity": "sha512-CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-dynamic-import": "^7.5.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.6.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.6.2", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.5.0", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.6.3", + "@babel/plugin-transform-classes": "^7.5.5", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.6.0", + "@babel/plugin-transform-dotall-regex": "^7.6.2", + "@babel/plugin-transform-duplicate-keys": "^7.5.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.4.4", + "@babel/plugin-transform-function-name": "^7.4.4", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-member-expression-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.5.0", + "@babel/plugin-transform-modules-commonjs": "^7.6.0", + "@babel/plugin-transform-modules-systemjs": "^7.5.0", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.3", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.5.5", + "@babel/plugin-transform-parameters": "^7.4.4", + "@babel/plugin-transform-property-literals": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-reserved-words": "^7.2.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.6.2", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.4.4", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.6.2", + "@babel/types": "^7.6.3", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.6.3.tgz", + "integrity": "sha512-07yQhmkZmRAfwREYIQgW0HEwMY9GBJVuPY4Q12UC72AbfaawuupVWa8zQs2tlL+yun45Nv/1KreII/0PLfEsgA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.3.tgz", + "integrity": "sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.2" + } + }, + "node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", + "dev": true + }, + "node_modules/@babel/template": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", + "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz", + "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.3", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.6.3", + "@babel/types": "^7.6.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@babel/types": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz", + "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@scratch/paper": { + "version": "0.11.20190729152410", + "resolved": "https://registry.npmjs.org/@scratch/paper/-/paper-0.11.20190729152410.tgz", + "integrity": "sha512-8DvLPFbipP7O8fii6xItaA041fdW4pdr63m34xlSs15sYP5fX9yiZiO3G44qk5eBPbFNQTG7uxMd5Jo+cVS5Ow==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz", + "integrity": "sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", + "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", + "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz", + "integrity": "sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true + }, + "node_modules/@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "dev": true, + "dependencies": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", + "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.3.tgz", + "integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "12.7.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.12.tgz", + "integrity": "sha512-KPYGmfD0/b1eXurQ59fXD1GBzhSQfz6/lKBxkaHX9dKTzjXbK68Zt7yGUxUsCS1jeTy/8aL+d9JEr+S54mpkWQ==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.3.tgz", + "integrity": "sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz", + "integrity": "sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==", + "dev": true + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz", + "integrity": "sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "1.13.0", + "eslint-scope": "^4.0.0" + }, + "engines": { + "node": "^6.14.0 || ^8.10.0 || >=9.10.0" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz", + "integrity": "sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==", + "dev": true, + "dependencies": { + "lodash.unescape": "4.0.1", + "semver": "5.5.0" + }, + "engines": { + "node": ">=6.14.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "dev": true, + "dependencies": { + "acorn": "^4.0.4" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz", + "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0" + } + }, + "node_modules/airbnb-prop-types": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.15.0.tgz", + "integrity": "sha512-jUh2/hfKsRjNFC4XONQrxo/n/3GG4Tn6Hl0WlFQN5PY9OMC9loSCoAYKnZsWaP8wEfd5xcrPloK0Zg6iS1xwVA==", + "dev": true, + "dependencies": { + "array.prototype.find": "^2.1.0", + "function.prototype.name": "^1.1.1", + "has": "^1.0.3", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object.assign": "^4.1.0", + "object.entries": "^1.1.0", + "prop-types": "^15.7.2", + "prop-types-exact": "^1.2.0", + "react-is": "^16.9.0" + }, + "peerDependencies": { + "react": "^0.14 || ^15.0.0 || ^16.0.0-alpha" + } + }, + "node_modules/ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true, + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/append-transform": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "dev": true, + "dependencies": { + "default-require-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "node_modules/array-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", + "dev": true + }, + "node_modules/array-find": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", + "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", + "dev": true + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.find": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.0.tgz", + "integrity": "sha512-Wn41+K1yuO5p7wRZDl7890c3xvv5UBrfVXTVIe28rSQb6LS0fZMDrQB6PAcxQFRFy6vJTLDc3A2+3CjQdzVKRg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.13.0" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz", + "integrity": "sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer-loader": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer-loader/-/arraybuffer-loader-1.0.7.tgz", + "integrity": "sha512-8FPjFP26OF723Oiaj5E208WW2tAgE0noCsrtQZ20TwdHt6qs5iuAaKqX5WY/C3wYdF/2cRUiuIXj98qy/2NB7g==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/async": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/async/-/async-2.1.2.tgz", + "integrity": "sha1-YSpKtF70KnDN6Aa62G7m2wR+g4U=", + "dev": true, + "dependencies": { + "lodash": "^4.14.0" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/audio-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/audio-context/-/audio-context-1.0.1.tgz", + "integrity": "sha1-zsTbis5u9KrL8Q7vCXekVxRo1Ks=", + "deprecated": "Depends on Web-Audio-API implementation. Use either web-audio-api, web-audio-js or web-audio-engine package.", + "dev": true, + "dependencies": { + "global": "^4.3.1" + } + }, + "node_modules/autoprefixer": { + "version": "9.6.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.4.tgz", + "integrity": "sha512-Koz2cJU9dKOxG8P1f8uVaBntOv9lP4yz9ffWvWaicv9gHBPhpQB22nGijwd8gqW9CNT+UdkbQOQNLVI8jN1ZfQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.7.0", + "caniuse-lite": "^1.0.30000998", + "chalk": "^2.4.2", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.18", + "postcss-value-parser": "^4.0.2" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "node_modules/babel-code-frame/node_modules/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, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "dev": true, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-eslint": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz", + "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==", + "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">= 4.12.1" + } + }, + "node_modules/babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "dependencies": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "node_modules/babel-generator/node_modules/jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-jest": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-21.2.0.tgz", + "integrity": "sha512-O0W2qLoWu1QOoOGgxiR2JID4O6WSpxPiQanrkyi9SSlM0PJ60Ptzlck47lhtnr9YZO3zYOsxHwnyeWJ6AffoBQ==", + "dev": true, + "dependencies": { + "babel-plugin-istanbul": "^4.0.0", + "babel-preset-jest": "^21.2.0" + }, + "peerDependencies": { + "babel-core": "^6.0.0 || ^7.0.0-alpha || ^7.0.0-beta || ^7.0.0" + } + }, + "node_modules/babel-loader": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "pify": "^4.0.1" + }, + "engines": { + "node": ">= 6.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", + "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", + "dev": true, + "dependencies": { + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "find-up": "^2.1.0", + "istanbul-lib-instrument": "^1.10.1", + "test-exclude": "^4.2.1" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-21.2.0.tgz", + "integrity": "sha512-yi5QuiVyyvhBUDLP4ButAnhYzkdrUwWDtvUJv71hjH3fclhnZg4HkDeqaitcR2dZZx/E67kGkRcPVjtVu+SJfQ==", + "dev": true + }, + "node_modules/babel-plugin-react-intl": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-3.5.1.tgz", + "integrity": "sha512-1jlEJCSmLaJM4tjIKpu64UZ833COCHmwR77bFJDOye+zlwf80uR1b8p41l4tClx1QsrfI+qV6w/5AiPYQgaMUQ==", + "deprecated": "this package has been renamed to babel-plugin-formatjs", + "dev": true, + "dependencies": { + "@babel/core": "^7.4.5", + "@babel/helper-plugin-utils": "^7.0.0", + "@types/babel__core": "^7.1.2", + "fs-extra": "^8.0.1", + "intl-messageformat-parser": "^1.8.1" + } + }, + "node_modules/babel-plugin-react-intl/node_modules/intl-messageformat-parser": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.8.1.tgz", + "integrity": "sha512-IMSCKVf0USrM/959vj3xac7s8f87sc+80Y/ipBzdKy4ifBv5Gsj2tZ41EAaURVg01QU71fYr77uA8Meh6kELbg==", + "deprecated": "We've written a new parser that's 6x faster and is backwards compatible. Please use @formatjs/icu-messageformat-parser", + "dev": true + }, + "node_modules/babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "node_modules/babel-preset-jest": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-21.2.0.tgz", + "integrity": "sha512-hm9cBnr2h3J7yXoTtAVV0zg+3vg0Q/gT2GYuzlreTU0EPkJRtlNgKJJ3tBKEn0+VjAi3JykV6xCJkuUYttEEfA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^21.2.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0" + } + }, + "node_modules/babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "dependencies": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "node_modules/babel-register/node_modules/babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "node_modules/babel-register/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/babel-register/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse/node_modules/globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true, + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "node_modules/base64-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64-loader/-/base64-loader-1.0.0.tgz", + "integrity": "sha1-5TC62I6QbdKh+tCvLZ5oP6i9kqg=", + "dev": true + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz", + "integrity": "sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==", + "dev": true + }, + "node_modules/bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "node_modules/bowser": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz", + "integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "node_modules/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "dependencies": { + "resolve": "1.1.7" + } + }, + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "node_modules/browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "dependencies": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz", + "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30000989", + "electron-to-chromium": "^1.3.247", + "node-releases": "^1.1.29" + }, + "bin": { + "browserslist": "cli.js" + } + }, + "node_modules/bser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz", + "integrity": "sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "deprecated": "This version of 'buffer' is out-of-date. You must update to v4.9.2 or newer", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30000999", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz", + "integrity": "sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg==", + "dev": true + }, + "node_modules/capture-exit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", + "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", + "dev": true, + "dependencies": { + "rsvp": "^3.3.3" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", + "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "dev": true, + "dependencies": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.1", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", + "dev": true + }, + "node_modules/chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/chromedriver": { + "version": "78.0.1", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-78.0.1.tgz", + "integrity": "sha512-eOsyFk4xb9EECs1VMrDbxO713qN+Bu1XUE8K9AuePc3839TPdAegg72kpXSzkeNqRNZiHbnJUItIVCLFkDqceA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "del": "^4.1.1", + "extract-zip": "^1.6.7", + "mkdirp": "^0.5.1", + "request": "^2.88.0", + "tcp-port-used": "^1.0.1" + }, + "bin": { + "chromedriver": "bin/chromedriver" + } + }, + "node_modules/ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==", + "dev": true + }, + "node_modules/clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collections": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/collections/-/collections-0.2.2.tgz", + "integrity": "sha1-HyMCay7zb5J+7MkB6ZxfDUj6M04=", + "dev": true, + "dependencies": { + "weak-map": "1.0.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz", + "integrity": "sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compressible/node_modules/mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/computed-style-to-inline-style": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/computed-style-to-inline-style/-/computed-style-to-inline-style-3.0.0.tgz", + "integrity": "sha1-klECRGPFVcfhdo13oZ66m49Bivw=", + "dev": true + }, + "node_modules/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 + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "dependencies": { + "date-now": "^0.1.4" + } + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "node_modules/contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type-parser": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz", + "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", + "dev": true, + "dependencies": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true + }, + "node_modules/core-js-compat": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz", + "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==", + "dev": true, + "dependencies": { + "browserslist": "^4.6.6", + "semver": "^6.3.0" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cosmiconfig/node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cosmiconfig/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cosmiconfig/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/css-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", + "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash": "^4.17.11", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + }, + "engines": { + "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/css-loader/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/css-loader/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/css-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-mediaquery": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz", + "integrity": "sha1-aiw3NEkoYYYxxUvTPO3TAdoYvqA=", + "dev": true + }, + "node_modules/css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "dependencies": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "node_modules/css-selector-tokenizer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", + "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", + "dev": true, + "dependencies": { + "cssesc": "^0.1.0", + "fastparse": "^1.1.1", + "regexpu-core": "^1.0.0" + } + }, + "node_modules/css-selector-tokenizer/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/css-selector-tokenizer/node_modules/regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, + "dependencies": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "node_modules/css-selector-tokenizer/node_modules/regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "node_modules/css-selector-tokenizer/node_modules/regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/css-vendor": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", + "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", + "dev": true, + "dependencies": { + "is-in-browser": "^1.0.2" + } + }, + "node_modules/css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + } + }, + "node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "dev": true, + "dependencies": { + "cssom": "0.3.x" + } + }, + "node_modules/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "dependencies": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/default-require-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "dev": true, + "dependencies": { + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-require-extensions/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true + }, + "node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "dependencies": { + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=", + "dev": true + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "node_modules/dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "dependencies": { + "buffer-indexof": "^1.0.0" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.1.2" + } + }, + "node_modules/dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "dev": true, + "dependencies": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "node_modules/dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", + "dev": true + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.3.280", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.280.tgz", + "integrity": "sha512-qYWNMjKLEfQAWZF2Sarvo+ahigu0EArnpCFSoUuZJS3W5wIeVfeEvsgmT2mgIrieQkeQ0+xFmykK3nx2ezekPQ==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", + "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "dev": true, + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, + "dependencies": { + "iconv-lite": "~0.4.13" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", + "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.2.0", + "tapable": "^0.1.8" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "node_modules/enzyme": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.10.0.tgz", + "integrity": "sha512-p2yy9Y7t/PFbPoTvrWde7JIYB2ZyGC+NgTNbVEGvZ5/EyoYSr9aG/2rSbVvyNvMHEhw9/dmGUJHWtfQIEiX9pg==", + "dev": true, + "dependencies": { + "array.prototype.flat": "^1.2.1", + "cheerio": "^1.0.0-rc.2", + "function.prototype.name": "^1.1.0", + "has": "^1.0.3", + "html-element-map": "^1.0.0", + "is-boolean-object": "^1.0.0", + "is-callable": "^1.1.4", + "is-number-object": "^1.0.3", + "is-regex": "^1.0.4", + "is-string": "^1.0.4", + "is-subset": "^0.1.1", + "lodash.escape": "^4.0.1", + "lodash.isequal": "^4.5.0", + "object-inspect": "^1.6.0", + "object-is": "^1.0.1", + "object.assign": "^4.1.0", + "object.entries": "^1.0.4", + "object.values": "^1.0.4", + "raf": "^3.4.0", + "rst-selector-parser": "^2.2.3", + "string.prototype.trim": "^1.1.2" + } + }, + "node_modules/enzyme-adapter-react-16": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.3.0.tgz", + "integrity": "sha512-TRX+Y5QPreGmqfFU3bPsJUmqNZX9paQCmQ93kj7hnfQoZzufO/pahGN/OviWn60YcgaQojhf0AWv3PxrIDARbA==", + "dev": true, + "dependencies": { + "enzyme-adapter-utils": "^1.6.0", + "function.prototype.name": "^1.1.0", + "object.assign": "^4.1.0", + "object.values": "^1.0.4", + "prop-types": "^15.6.2", + "react-is": "^16.4.2", + "react-test-renderer": "^16.0.0-0" + }, + "peerDependencies": { + "enzyme": "^3.0.0", + "react": "^16.0.0-0", + "react-dom": "^16.0.0-0" + } + }, + "node_modules/enzyme-adapter-utils": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.0.tgz", + "integrity": "sha512-wkZvE0VxcFx/8ZsBw0iAbk3gR1d9hK447ebnSYBf95+r32ezBq+XDSAvRErkc4LZosgH8J7et7H7/7CtUuQfBA==", + "dev": true, + "dependencies": { + "airbnb-prop-types": "^2.13.2", + "function.prototype.name": "^1.1.0", + "object.assign": "^4.1.0", + "object.fromentries": "^2.0.0", + "prop-types": "^15.7.2", + "semver": "^5.6.0" + }, + "peerDependencies": { + "react": "0.13.x || 0.14.x || ^15.0.0-0 || ^16.0.0-0" + } + }, + "node_modules/errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz", + "integrity": "sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.0", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.6.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.1.0", + "string.prototype.trimright": "^2.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=", + "dev": true + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", + "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", + "dev": true, + "dependencies": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", + "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.9.1", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^4.0.3", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.2.2", + "js-yaml": "^3.13.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.11", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^6.14.0 || ^8.10.0 || >=9.10.0" + } + }, + "node_modules/eslint-config-scratch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-scratch/-/eslint-config-scratch-5.1.0.tgz", + "integrity": "sha512-JQMxERL3eo0TMy87NZFm6yS0i2XOMplffKz9CD/2ta2i/+3FTgajxzF9n7R7vi9C+GMLSTSLZJ5X90tINuAhjg==", + "dev": true, + "optionalDependencies": { + "eslint-plugin-react": ">=7.14.2" + }, + "peerDependencies": { + "babel-eslint": ">=8.0.1", + "eslint": ">=4.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", + "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", + "dev": true, + "dependencies": { + "debug": "^2.6.9", + "resolve": "^1.5.0" + } + }, + "node_modules/eslint-import-resolver-webpack": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.11.1.tgz", + "integrity": "sha512-eK3zR7xVQR/MaoBWwGuD+CULYVuqe5QFlDukman71aI6IboCGzggDUohHNfu1ZeBnbHcUHJc0ywWoXUBNB6qdg==", + "dev": true, + "dependencies": { + "array-find": "^1.0.0", + "debug": "^2.6.8", + "enhanced-resolve": "~0.9.0", + "find-root": "^1.1.0", + "has": "^1.0.1", + "interpret": "^1.0.0", + "lodash": "^4.17.4", + "node-libs-browser": "^1.0.0 || ^2.0.0", + "resolve": "^1.10.0", + "semver": "^5.3.0" + }, + "peerDependencies": { + "eslint-plugin-import": ">=1.4.0", + "webpack": ">=1.11.0" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz", + "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==", + "dev": true, + "dependencies": { + "debug": "^2.6.8", + "pkg-dir": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.18.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", + "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.0.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.2", + "eslint-module-utils": "^2.4.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.11.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "2.x - 6.x" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "22.17.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.17.0.tgz", + "integrity": "sha512-WT4DP4RoGBhIQjv+5D0FM20fAdAUstfYAf/mkufLNTojsfgzc5/IYW22cIg/Q4QBavAZsROQlqppiWDpFZDS8Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "^1.13.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz", + "integrity": "sha512-GacBAATewhhptbK3/vTP09CbFrgUJmBSaaRcWdbQLFvUZy9yVcQxigBNHGPU/KE2AyHpzj3AWXpxoMTsIDiHug==", + "dev": true, + "dependencies": { + "array-includes": "^3.0.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.1", + "object.entries": "^1.1.0", + "object.fromentries": "^2.0.0", + "object.values": "^1.1.0", + "prop-types": "^15.7.2", + "resolve": "^1.12.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", + "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/espree": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", + "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", + "dev": true, + "dependencies": { + "acorn": "^6.0.7", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "dependencies": { + "estraverse": "^4.0.0" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "dependencies": { + "estraverse": "^4.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "dev": true + }, + "node_modules/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "dev": true, + "dependencies": { + "original": "^1.0.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/exec-sh": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", + "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", + "dev": true, + "dependencies": { + "merge": "^1.2.0" + } + }, + "node_modules/execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=", + "dev": true + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "dependencies": { + "fill-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range/node_modules/fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "dependencies": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range/node_modules/is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-21.2.1.tgz", + "integrity": "sha512-orfQQqFRTX0jH7znRIGi8ZMR8kTNpXklTTz8+HGTpmTKZo3Occ6JNB5FXMb8cRuiiC/GyDqsr30zUa66ACYlYw==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "jest-diff": "^21.2.1", + "jest-get-type": "^21.2.0", + "jest-matcher-utils": "^21.2.1", + "jest-message-util": "^21.2.1", + "jest-regex-util": "^21.2.0" + } + }, + "node_modules/exports-loader": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.3.tgz", + "integrity": "sha1-V9x4kX9wm5byR/qR5ptVTIVQE8g=", + "dev": true, + "dependencies": { + "loader-utils": "0.2.x", + "source-map": "0.1.x" + } + }, + "node_modules/exports-loader/node_modules/big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/exports-loader/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/exports-loader/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/exports-loader/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "node_modules/express/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extract-zip": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "dev": true, + "dependencies": { + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", + "yauzl": "2.4.1" + }, + "bin": { + "extract-zip": "cli.js" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "node_modules/faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "dev": true, + "dependencies": { + "bser": "^2.0.0" + } + }, + "node_modules/fbjs": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "dev": true, + "dependencies": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + } + }, + "node_modules/fbjs/node_modules/core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true + }, + "node_modules/fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/file-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz", + "integrity": "sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ==", + "dev": true, + "dependencies": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0 < 7.0.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fileset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", + "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "dev": true, + "dependencies": { + "glob": "^7.0.3", + "minimatch": "^3.0.3" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "dev": true + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/follow-redirects": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz", + "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==", + "dev": true, + "dependencies": { + "debug": "^3.0.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/follow-redirects/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/follow-redirects/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "bundleDependencies": [ + "node-pre-gyp" + ], + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/fsevents/node_modules/abbrev": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/ansi-regex": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/aproba": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/are-we-there-yet": { + "version": "1.1.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/fsevents/node_modules/balanced-match": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/fsevents/node_modules/chownr": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/code-point-at": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/console-control-strings": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/core-util-is": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/debug": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/fsevents/node_modules/deep-extend": { + "version": "0.6.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/fsevents/node_modules/delegates": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/detect-libc": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/fsevents/node_modules/fs-minipass": { + "version": "1.2.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^2.2.1" + } + }, + "node_modules/fsevents/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/gauge": { + "version": "2.7.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/fsevents/node_modules/glob": { + "version": "7.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/has-unicode": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/iconv-lite": { + "version": "0.4.24", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/ignore-walk": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/fsevents/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/fsevents/node_modules/inherits": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/ini": { + "version": "1.3.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/minimatch": { + "version": "3.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/minimist": { + "version": "0.0.8", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/minipass": { + "version": "2.3.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/fsevents/node_modules/minizlib": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "minipass": "^2.2.1" + } + }, + "node_modules/fsevents/node_modules/mkdirp": { + "version": "0.5.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/fsevents/node_modules/ms": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/needle": { + "version": "2.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/fsevents/node_modules/node-pre-gyp": { + "version": "0.12.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/fsevents/node_modules/nopt": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/fsevents/node_modules/npm-bundled": { + "version": "1.0.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/npm-packlist": { + "version": "1.4.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "node_modules/fsevents/node_modules/npmlog": { + "version": "4.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/fsevents/node_modules/number-is-nan": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/once": { + "version": "1.4.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/fsevents/node_modules/os-homedir": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/os-tmpdir": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/osenv": { + "version": "0.1.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/fsevents/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/process-nextick-args": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/rc": { + "version": "1.2.8", + "dev": true, + "inBundle": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/fsevents/node_modules/rc/node_modules/minimist": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/readable-stream": { + "version": "2.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/fsevents/node_modules/rimraf": { + "version": "2.6.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/fsevents/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/sax": { + "version": "1.2.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/semver": { + "version": "5.7.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/fsevents/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/signal-exit": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fsevents/node_modules/string-width": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/strip-ansi": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/strip-json-comments": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/tar": { + "version": "4.4.8", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/fsevents/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/wide-align": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/fsevents/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/yallist": { + "version": "3.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.1.tgz", + "integrity": "sha512-e1NzkiJuw6xqVH7YSdiW/qDHebcmMhPNe6w+4ZYYEg0VA+LaLzx37RimbPLuonHhYGFGPx1ME2nSi74JiaCr/Q==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1", + "functions-have-names": "^1.1.1", + "is-callable": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/functions-have-names": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.1.1.tgz", + "integrity": "sha512-U0kNHUoxwPNPWOJaMG7Z00d4a/qZVrFtzWJRaK8V9goaVOCXBSQSJpt3MYGNtkScKEBKovxLjnNdC9MlXwo5Pw==", + "dev": true + }, + "node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "node_modules/get-float-time-domain-data": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-float-time-domain-data/-/get-float-time-domain-data-0.1.0.tgz", + "integrity": "sha1-XYVZJKQwOITJY4qrEnzOTQBlljs=", + "dev": true + }, + "node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/get-user-media-promise": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/get-user-media-promise/-/get-user-media-promise-1.1.4.tgz", + "integrity": "sha512-k49YuV2z0d3gKHLPTFKYfzEA9kduuQk7YBf8ev2dxrKk+DhMyuzfQnK9ZSxkEhE/jv3BZY62M0eICWa7lak9nw==", + "dev": true + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/gh-pages": { + "version": "0.12.0", + "resolved": "git+ssh://git@github.com/rschamp/gh-pages.git#47e5e5c376ca65f4b407325e115174172d9c12ae", + "integrity": "sha512-+eav0WETsX2kZ2rs0mCT/wxkbPiGvR6JMQbWJh2FNpffFT6UJyXiisCQF7adITE6xHWn0qjP9lYxKNj42gh85g==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "2.1.2", + "commander": "2.9.0", + "globby": "^6.1.0", + "graceful-fs": "4.1.10", + "q": "1.4.1", + "q-io": "1.13.2", + "rimraf": "^2.5.4" + }, + "bin": { + "gh-pages": "bin/gh-pages" + } + }, + "node_modules/gh-pages/node_modules/commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "dependencies": { + "graceful-readlink": ">= 1.0.0" + }, + "engines": { + "node": ">= 0.6.x" + } + }, + "node_modules/gh-pages/node_modules/graceful-fs": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.10.tgz", + "integrity": "sha1-8tcgwiCS90Mih3XHXjYSYyUB8TE=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "dependencies": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-base/node_modules/glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "dependencies": { + "is-glob": "^2.0.0" + } + }, + "node_modules/glob-base/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-base/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dev": true, + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-modules/node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", + "dev": true + }, + "node_modules/graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "node_modules/growl": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", + "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "node_modules/handle-thing": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", + "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", + "dev": true + }, + "node_modules/handlebars": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.3.tgz", + "integrity": "sha512-B0W4A2U1ww3q7VVthTKfh+epHx+q4mCt6iK+zEAzbMBpWQAwxCeKxEGpj/1oQTpzPXDNSOG7hmG14TsISH50yw==", + "dev": true, + "dependencies": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", + "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", + "dev": true, + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", + "dev": true + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/html-element-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.1.0.tgz", + "integrity": "sha512-iqiG3dTZmy+uUaTmHarTL+3/A2VW9ox/9uasKEZC+R/wAtUrTcRlXPSaPqsnWPfIu8wqn09jQNwMRqzL54jSYA==", + "dev": true, + "dependencies": { + "array-filter": "^1.0.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true, + "engines": [ + "node >= 0.4.0" + ] + }, + "node_modules/html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "dependencies": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "bin": { + "html-minifier": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/html-minifier/node_modules/commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "node_modules/html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "deprecated": "3.x is no longer supported", + "dev": true, + "dependencies": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "engines": { + "node": ">=6.9" + }, + "peerDependencies": { + "webpack": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/html-webpack-plugin/node_modules/big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/html-webpack-plugin/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/html-webpack-plugin/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/html-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/htmlparser2/node_modules/readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "node_modules/http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "dependencies": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "node_modules/hyphenate-style-name": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz", + "integrity": "sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ==", + "dev": true + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "node_modules/icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, + "dependencies": { + "postcss": "^6.0.1" + } + }, + "node_modules/icss-utils/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/icss-utils/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "node_modules/ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true + }, + "node_modules/immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "dependencies": { + "import-from": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-fresh": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", + "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imports-loader": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.6.5.tgz", + "integrity": "sha1-rnRlMDHVnjezwvslRKxhrq41MKY=", + "dev": true, + "dependencies": { + "loader-utils": "0.2.x", + "source-map": "0.1.x" + } + }, + "node_modules/imports-loader/node_modules/big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/imports-loader/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/imports-loader/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/imports-loader/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "dependencies": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/intl": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/intl/-/intl-1.2.5.tgz", + "integrity": "sha1-giRKIZDE5Bn4Nx9ao02qNCDiq94=", + "dev": true + }, + "node_modules/intl-format-cache": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.2.9.tgz", + "integrity": "sha512-Zv/u8wRpekckv0cLkwpVdABYST4hZNTDaX7reFetrYTJwxExR2VyTqQm+l0WmL0Qo8Mjb9Tf33qnfj0T7pjxdQ==", + "dev": true + }, + "node_modules/intl-messageformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-2.2.0.tgz", + "integrity": "sha1-NFvNRt5jC3aDMwwuUhd/9eq0hPw=", + "dev": true, + "dependencies": { + "intl-messageformat-parser": "1.4.0" + } + }, + "node_modules/intl-messageformat-parser": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz", + "integrity": "sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU=", + "deprecated": "We've written a new parser that's 6x faster and is backwards compatible. Please use @formatjs/icu-messageformat-parser", + "dev": true + }, + "node_modules/intl-relativeformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-2.2.0.tgz", + "integrity": "sha512-4bV/7kSKaPEmu6ArxXf9xjv1ny74Zkwuey8Pm01NH4zggPP7JHwg2STk8Y3JdspCKRDriwIyLRfEXnj2ZLr4Bw==", + "deprecated": "This package has been deprecated, please see migration guide at 'https://github.com/formatjs/formatjs/tree/master/packages/intl-relativeformat#migration-guide'", + "dev": true, + "dependencies": { + "intl-messageformat": "^2.0.0" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-boolean-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.0.tgz", + "integrity": "sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "dependencies": { + "builtin-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "dependencies": { + "ci-info": "^1.5.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "dependencies": { + "is-primitive": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=", + "dev": true + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-in-browser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=", + "dev": true + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.3.tgz", + "integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "dependencies": { + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "dependencies": { + "path-is-inside": "^1.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "dependencies": { + "has": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz", + "integrity": "sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", + "dev": true + }, + "node_modules/is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.1.tgz", + "integrity": "sha512-+WaJvnaA7aJySz2q/8sLjMb2Mw14KTplHmSwcSpZ/fWJPkUmqw3YTzSWbPJ7OAwRvdYTWF2Wg+yYJ1AdP5Z8CA==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "ip-regex": "^2.1.0", + "is-url": "^1.2.2" + }, + "engines": { + "node": ">=v0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "dev": true, + "dependencies": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/istanbul-api": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.7.tgz", + "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", + "dev": true, + "dependencies": { + "async": "^2.1.4", + "fileset": "^2.0.2", + "istanbul-lib-coverage": "^1.2.1", + "istanbul-lib-hook": "^1.2.2", + "istanbul-lib-instrument": "^1.10.2", + "istanbul-lib-report": "^1.1.5", + "istanbul-lib-source-maps": "^1.2.6", + "istanbul-reports": "^1.5.1", + "js-yaml": "^3.7.0", + "mkdirp": "^0.5.1", + "once": "^1.4.0" + } + }, + "node_modules/istanbul-api/node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", + "dev": true + }, + "node_modules/istanbul-lib-hook": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz", + "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", + "dev": true, + "dependencies": { + "append-transform": "^0.4.0" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", + "dev": true, + "dependencies": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" + } + }, + "node_modules/istanbul-lib-report": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz", + "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz", + "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", + "dev": true, + "dependencies": { + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/istanbul-reports": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz", + "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", + "dev": true, + "dependencies": { + "handlebars": "^4.0.3" + } + }, + "node_modules/jest": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-21.2.1.tgz", + "integrity": "sha512-mXN0ppPvWYoIcC+R+ctKxAJ28xkt/Z5Js875padm4GbgUn6baeR5N4Ng6LjatIRpUQDZVJABT7Y4gucFjPryfw==", + "dev": true, + "dependencies": { + "jest-cli": "^21.2.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/jest-changed-files": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-21.2.0.tgz", + "integrity": "sha512-+lCNP1IZLwN1NOIvBcV5zEL6GENK6TXrDj4UxWIeLvIsIDa+gf6J7hkqsW2qVVt/wvH65rVvcPwqXdps5eclTQ==", + "dev": true, + "dependencies": { + "throat": "^4.0.0" + } + }, + "node_modules/jest-config": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-21.2.1.tgz", + "integrity": "sha512-fJru5HtlD/5l2o25eY9xT0doK3t2dlglrqoGpbktduyoI0T5CwuB++2YfoNZCrgZipTwPuAGonYv0q7+8yDc/A==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^21.2.1", + "jest-environment-node": "^21.2.1", + "jest-get-type": "^21.2.0", + "jest-jasmine2": "^21.2.1", + "jest-regex-util": "^21.2.0", + "jest-resolve": "^21.2.0", + "jest-util": "^21.2.1", + "jest-validate": "^21.2.1", + "pretty-format": "^21.2.1" + } + }, + "node_modules/jest-diff": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-21.2.1.tgz", + "integrity": "sha512-E5fu6r7PvvPr5qAWE1RaUwIh/k6Zx/3OOkZ4rk5dBJkEWRrUuSgbMt2EO8IUTPTd6DOqU3LW6uTIwX5FRvXoFA==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^21.2.0", + "pretty-format": "^21.2.1" + } + }, + "node_modules/jest-docblock": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", + "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", + "dev": true + }, + "node_modules/jest-environment-jsdom": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-21.2.1.tgz", + "integrity": "sha512-mecaeNh0eWmzNrUNMWARysc0E9R96UPBamNiOCYL28k7mksb1d0q6DD38WKP7ABffjnXyUWJPVaWRgUOivwXwg==", + "dev": true, + "dependencies": { + "jest-mock": "^21.2.0", + "jest-util": "^21.2.1", + "jsdom": "^9.12.0" + } + }, + "node_modules/jest-environment-node": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-21.2.1.tgz", + "integrity": "sha512-R211867wx9mVBVHzrjGRGTy5cd05K7eqzQl/WyZixR/VkJ4FayS8qkKXZyYnwZi6Rxo6WEV81cDbiUx/GfuLNw==", + "dev": true, + "dependencies": { + "jest-mock": "^21.2.0", + "jest-util": "^21.2.1" + } + }, + "node_modules/jest-get-type": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-21.2.0.tgz", + "integrity": "sha512-y2fFw3C+D0yjNSDp7ab1kcd6NUYfy3waPTlD8yWkAtiocJdBRQqNoRqVfMNxgj+IjT0V5cBIHJO0z9vuSSZ43Q==", + "dev": true + }, + "node_modules/jest-haste-map": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-21.2.0.tgz", + "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==", + "dev": true, + "dependencies": { + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.11", + "jest-docblock": "^21.2.0", + "micromatch": "^2.3.11", + "sane": "^2.0.0", + "worker-farm": "^1.3.1" + } + }, + "node_modules/jest-haste-map/node_modules/arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "dependencies": { + "arr-flatten": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-haste-map/node_modules/array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-haste-map/node_modules/braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "dependencies": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-haste-map/node_modules/expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "dependencies": { + "is-posix-bracket": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-haste-map/node_modules/extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-haste-map/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-haste-map/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-haste-map/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-haste-map/node_modules/micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "dependencies": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-haste-map/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-jasmine2": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-21.2.1.tgz", + "integrity": "sha512-lw8FXXIEekD+jYNlStfgNsUHpfMWhWWCgHV7n0B7mA/vendH7vBFs8xybjQsDzJSduptBZJHqQX9SMssya9+3A==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "expect": "^21.2.1", + "graceful-fs": "^4.1.11", + "jest-diff": "^21.2.1", + "jest-matcher-utils": "^21.2.1", + "jest-message-util": "^21.2.1", + "jest-snapshot": "^21.2.1", + "p-cancelable": "^0.3.0" + } + }, + "node_modules/jest-junit": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-7.0.0.tgz", + "integrity": "sha512-ljUdO0hLyu0A92xk7R2Wet3kj99fmazTo+ZFYQP6b7AGOBxJUj8ZkJWzJ632ajpXko2Y5oNoGR2kvOwiDdu6hg==", + "dev": true, + "dependencies": { + "jest-validate": "^24.0.0", + "mkdirp": "^0.5.1", + "strip-ansi": "^4.0.0", + "xml": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/jest-junit/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-junit/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-junit/node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-junit/node_modules/jest-validate": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", + "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "camelcase": "^5.3.1", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "leven": "^3.1.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-junit/node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-junit/node_modules/pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-junit/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-junit/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-matcher-utils": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-21.2.1.tgz", + "integrity": "sha512-kn56My+sekD43dwQPrXBl9Zn9tAqwoy25xxe7/iY4u+mG8P3ALj5IK7MLHZ4Mi3xW7uWVCjGY8cm4PqgbsqMCg==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-get-type": "^21.2.0", + "pretty-format": "^21.2.1" + } + }, + "node_modules/jest-message-util": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-21.2.1.tgz", + "integrity": "sha512-EbC1X2n0t9IdeMECJn2BOg7buOGivCvVNjqKMXTzQOu7uIfLml+keUfCALDh8o4rbtndIeyGU8/BKfoTr/LVDQ==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "micromatch": "^2.3.11", + "slash": "^1.0.0" + } + }, + "node_modules/jest-message-util/node_modules/arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "dependencies": { + "arr-flatten": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-message-util/node_modules/array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-message-util/node_modules/braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "dependencies": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-message-util/node_modules/expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "dependencies": { + "is-posix-bracket": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-message-util/node_modules/extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-message-util/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-message-util/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-message-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-message-util/node_modules/micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "dependencies": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-message-util/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-message-util/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-mock": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-21.2.0.tgz", + "integrity": "sha512-aZDfyVf0LEoABWiY6N0d+O963dUQSyUa4qgzurHR3TBDPen0YxKCJ6l2i7lQGh1tVdsuvdrCZ4qPj+A7PievCw==", + "dev": true + }, + "node_modules/jest-regex-util": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-21.2.0.tgz", + "integrity": "sha512-BKQ1F83EQy0d9Jen/mcVX7D+lUt2tthhK/2gDWRgLDJRNOdRgSp1iVqFxP8EN1ARuypvDflRfPzYT8fQnoBQFQ==", + "dev": true + }, + "node_modules/jest-resolve": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-21.2.0.tgz", + "integrity": "sha512-vefQ/Lr+VdNvHUZFQXWtOqHX3HEdOc2MtSahBO89qXywEbUxGPB9ZLP9+BHinkxb60UT2Q/tTDOS6rYc6Mwigw==", + "dev": true, + "dependencies": { + "browser-resolve": "^1.11.2", + "chalk": "^2.0.1", + "is-builtin-module": "^1.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-21.2.0.tgz", + "integrity": "sha512-ok8ybRFU5ScaAcfufIQrCbdNJSRZ85mkxJ1EhUp8Bhav1W1/jv/rl1Q6QoVQHObNxmKnbHVKrfLZbCbOsXQ+bQ==", + "dev": true, + "dependencies": { + "jest-regex-util": "^21.2.0" + } + }, + "node_modules/jest-runner": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-21.2.1.tgz", + "integrity": "sha512-Anb72BOQlHqF/zETqZ2K20dbYsnqW/nZO7jV8BYENl+3c44JhMrA8zd1lt52+N7ErnsQMd2HHKiVwN9GYSXmrg==", + "dev": true, + "dependencies": { + "jest-config": "^21.2.1", + "jest-docblock": "^21.2.0", + "jest-haste-map": "^21.2.0", + "jest-jasmine2": "^21.2.1", + "jest-message-util": "^21.2.1", + "jest-runtime": "^21.2.1", + "jest-util": "^21.2.1", + "pify": "^3.0.0", + "throat": "^4.0.0", + "worker-farm": "^1.3.1" + } + }, + "node_modules/jest-runner/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-runtime": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-21.2.1.tgz", + "integrity": "sha512-6omlpA3+NSE+rHwD0PQjNEjZeb2z+oRmuehMfM1tWQVum+E0WV3pFt26Am0DUfQkkPyTABvxITRjCUclYgSOsA==", + "dev": true, + "dependencies": { + "babel-core": "^6.0.0", + "babel-jest": "^21.2.0", + "babel-plugin-istanbul": "^4.0.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "graceful-fs": "^4.1.11", + "jest-config": "^21.2.1", + "jest-haste-map": "^21.2.0", + "jest-regex-util": "^21.2.0", + "jest-resolve": "^21.2.0", + "jest-util": "^21.2.1", + "json-stable-stringify": "^1.0.1", + "micromatch": "^2.3.11", + "slash": "^1.0.0", + "strip-bom": "3.0.0", + "write-file-atomic": "^2.1.0", + "yargs": "^9.0.0" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + } + }, + "node_modules/jest-runtime/node_modules/arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "dependencies": { + "arr-flatten": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "node_modules/jest-runtime/node_modules/braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "dependencies": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "dependencies": { + "is-posix-bracket": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jest-runtime/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "dependencies": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-snapshot": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-21.2.1.tgz", + "integrity": "sha512-bpaeBnDpdqaRTzN8tWg0DqOTo2DvD3StOemxn67CUd1p1Po+BUpvePAp44jdJ7Pxcjfg+42o4NHw1SxdCA2rvg==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-diff": "^21.2.1", + "jest-matcher-utils": "^21.2.1", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^21.2.1" + } + }, + "node_modules/jest-util": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-21.2.1.tgz", + "integrity": "sha512-r20W91rmHY3fnCoO7aOAlyfC51x2yeV3xF+prGsJAUsYhKeV670ZB8NO88Lwm7ASu8SdH0S+U+eFf498kjhA4g==", + "dev": true, + "dependencies": { + "callsites": "^2.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.11", + "jest-message-util": "^21.2.1", + "jest-mock": "^21.2.0", + "jest-validate": "^21.2.1", + "mkdirp": "^0.5.1" + } + }, + "node_modules/jest-util/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-validate": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-21.2.1.tgz", + "integrity": "sha512-k4HLI1rZQjlU+EC682RlQ6oZvLrE5SCh3brseQc24vbZTxzT/k/3urar5QMCVgjadmSO7lECeGdc6YxnM3yEGg==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-get-type": "^21.2.0", + "leven": "^2.1.0", + "pretty-format": "^21.2.1" + } + }, + "node_modules/jest/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest/node_modules/arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "dependencies": { + "arr-flatten": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest/node_modules/array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest/node_modules/braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "dependencies": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest/node_modules/expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "dependencies": { + "is-posix-bracket": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest/node_modules/extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest/node_modules/jest-cli": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-21.2.1.tgz", + "integrity": "sha512-T1BzrbFxDIW/LLYQqVfo94y/hhaj1NzVQkZgBumAC+sxbjMROI7VkihOdxNR758iYbQykL2ZOWUBurFgkQrzdg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "is-ci": "^1.0.10", + "istanbul-api": "^1.1.1", + "istanbul-lib-coverage": "^1.0.1", + "istanbul-lib-instrument": "^1.4.2", + "istanbul-lib-source-maps": "^1.1.0", + "jest-changed-files": "^21.2.0", + "jest-config": "^21.2.1", + "jest-environment-jsdom": "^21.2.1", + "jest-haste-map": "^21.2.0", + "jest-message-util": "^21.2.1", + "jest-regex-util": "^21.2.0", + "jest-resolve-dependencies": "^21.2.0", + "jest-runner": "^21.2.1", + "jest-runtime": "^21.2.1", + "jest-snapshot": "^21.2.1", + "jest-util": "^21.2.1", + "micromatch": "^2.3.11", + "node-notifier": "^5.0.2", + "pify": "^3.0.0", + "slash": "^1.0.0", + "string-length": "^2.0.0", + "strip-ansi": "^4.0.0", + "which": "^1.2.12", + "worker-farm": "^1.3.1", + "yargs": "^9.0.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/jest/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest/node_modules/micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "dependencies": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/js-base64": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz", + "integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ==", + "dev": true + }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/js-md5": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz", + "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "node_modules/jsdom": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", + "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", + "dev": true, + "dependencies": { + "abab": "^1.0.3", + "acorn": "^4.0.4", + "acorn-globals": "^3.1.0", + "array-equal": "^1.0.0", + "content-type-parser": "^1.0.1", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": ">= 0.2.37 < 0.3.0", + "escodegen": "^1.6.1", + "html-encoding-sniffer": "^1.0.1", + "nwmatcher": ">= 1.3.9 < 2.0.0", + "parse5": "^1.5.1", + "request": "^2.79.0", + "sax": "^1.2.1", + "symbol-tree": "^3.2.1", + "tough-cookie": "^2.3.2", + "webidl-conversions": "^4.0.0", + "whatwg-encoding": "^1.0.1", + "whatwg-url": "^4.3.0", + "xml-name-validator": "^2.0.1" + } + }, + "node_modules/jsdom/node_modules/acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsdom/node_modules/parse5": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", + "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", + "dev": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify": { + "version": "1.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, + "dependencies": { + "jsonify": "~0.0.0" + } + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "node_modules/json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "node_modules/json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5/node_modules/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz", + "integrity": "sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.0.3", + "object.assign": "^4.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jszip": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz", + "integrity": "sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==", + "dev": true, + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + } + }, + "node_modules/keymirror": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/keymirror/-/keymirror-0.1.1.tgz", + "integrity": "sha1-kYiJ6hP40KQufFVyUO7nE63JXDU=", + "dev": true + }, + "node_modules/killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/load-img": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-img/-/load-img-1.0.0.tgz", + "integrity": "sha1-CVN0SYk8MqhwkHRkVWbExfqprCY=", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/loader-utils/node_modules/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "node_modules/lodash-es": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz", + "integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ==", + "dev": true + }, + "node_modules/lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "node_modules/lodash.bindall": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.bindall/-/lodash.bindall-4.4.0.tgz", + "integrity": "sha1-p7/Ugro9LnBxad/NyZPrv2w9eZg=", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "node_modules/lodash.defaultsdeep": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.0.tgz", + "integrity": "sha1-vsECT4WxvZbL6kBbI8FK1kQ6b4E=", + "dev": true + }, + "node_modules/lodash.escape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", + "integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=", + "dev": true + }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "node_modules/lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=", + "dev": true + }, + "node_modules/lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", + "dev": true + }, + "node_modules/lodash.throttle": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.0.1.tgz", + "integrity": "sha1-syEWYu6dgvVpA9BzEmKqqoc6YzA=", + "dev": true, + "dependencies": { + "lodash.debounce": "^4.0.0" + } + }, + "node_modules/lodash.unescape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=", + "dev": true + }, + "node_modules/loglevel": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz", + "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-loglevel?utm_medium=referral&utm_source=npm_fund" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "dependencies": { + "tmpl": "1.0.x" + } + }, + "node_modules/mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, + "node_modules/map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchmediaquery": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/matchmediaquery/-/matchmediaquery-0.3.0.tgz", + "integrity": "sha512-u0dlv+VENJ+3YepvwSPBieuvnA6DWfaYa/ctwysAR13y4XLJNyt7bEVKzNj/Nvjo+50d88Pj+xL9xaSo6JmX/w==", + "dev": true, + "dependencies": { + "css-mediaquery": "^0.1.2" + } + }, + "node_modules/math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/memory-fs": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", + "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", + "dev": true + }, + "node_modules/merge": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", + "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", + "dev": true + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/microee": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/microee/-/microee-0.0.6.tgz", + "integrity": "sha1-oSvbAQNoHosSapsHHrpMRnx4//4=", + "dev": true + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "dev": true, + "dependencies": { + "mime-db": "1.40.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimeparse": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/mimeparse/-/mimeparse-0.1.4.tgz", + "integrity": "sha1-2vsCdSNw/SJgk64xUsJxrwGsJUo=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true, + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/minilog": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minilog/-/minilog-3.1.0.tgz", + "integrity": "sha1-0tDxiHyjY9Gs8OqG1cTfKTs/tnU=", + "dev": true, + "dependencies": { + "microee": "0.0.6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "node_modules/mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dev": true, + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz", + "integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=", + "dev": true + }, + "node_modules/mocha": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz", + "integrity": "sha512-0RVnjg1HJsXY2YFDoTNzcc1NKhYuXKRrBAG2gDygmJJA136Cs2QlRliZG1mA0ap7cuaT30mw16luAeln+4RiNA==", + "dev": true, + "dependencies": { + "browser-stdout": "1.3.0", + "commander": "2.11.0", + "debug": "3.1.0", + "diff": "3.3.1", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.3", + "he": "1.1.1", + "mkdirp": "0.5.1", + "supports-color": "4.4.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/mocha/node_modules/commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, + "node_modules/mocha/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/mocha/node_modules/diff": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", + "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mocha/node_modules/he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "dev": true, + "dependencies": { + "has-flag": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/moo": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.4.3.tgz", + "integrity": "sha512-gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw==", + "dev": true + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "node_modules/nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/nearley": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.19.0.tgz", + "integrity": "sha512-2v52FTw7RPqieZr3Gth1luAXZR7Je6q3KaDHY5bjl/paDUdMu35fZ8ICNgiYJRr3tf3NMvIQQR1r27AvEr9CRA==", + "dev": true, + "dependencies": { + "commander": "^2.19.0", + "moo": "^0.4.3", + "railroad-diagrams": "^1.0.0", + "randexp": "0.4.6", + "semver": "^5.4.1" + }, + "bin": { + "nearley-railroad": "bin/nearley-railroad.js", + "nearley-test": "bin/nearley-test.js", + "nearley-unparse": "bin/nearley-unparse.js", + "nearleyc": "bin/nearleyc.js" + } + }, + "node_modules/negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "node_modules/nets": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nets/-/nets-3.2.0.tgz", + "integrity": "sha1-1RH7q3rxHaAT8huX7pF0fTOFLTg=", + "dev": true, + "dependencies": { + "request": "^2.65.0", + "xhr": "^2.1.0" + } + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "dependencies": { + "lower-case": "^1.1.1" + } + }, + "node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dev": true, + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "dev": true, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/node-notifier": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", + "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "dev": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, + "node_modules/node-releases": { + "version": "1.1.35", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.35.tgz", + "integrity": "sha512-JGcM/wndCN/2elJlU0IGdVEJQQnJwsLbgPCFd2pY7V0mxf17bZ0Gb/lgOtL29ZQhvEX5shnVhxQyZz3ex94N8w==", + "dev": true, + "dependencies": { + "semver": "^6.3.0" + } + }, + "node_modules/node-releases/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nwmatcher": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", + "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", + "dev": true + }, + "node_modules/object-is": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", + "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.entries": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", + "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.1.tgz", + "integrity": "sha512-PUQv8Hbg3j2QX0IQYv3iAGCbGcu4yY4KQ92/dhA4sFSixBmSmp13UpDLs6jGK8rBtbmhNNIK99LD2k293jpiGA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.15.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "dependencies": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/omggif": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.9.tgz", + "integrity": "sha1-3LcCTazVDFK00wPwSALJHAV8dl8=", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "dependencies": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "node_modules/optimist/node_modules/wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "dependencies": { + "url-parse": "^1.4.3" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "dependencies": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/output-file-sync": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", + "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "is-plain-obj": "^1.1.0", + "mkdirp": "^0.5.1" + } + }, + "node_modules/p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "dependencies": { + "retry": "^0.12.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true + }, + "node_modules/papaparse": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.1.1.tgz", + "integrity": "sha512-KPkW4GNQxunmYTeJIjHFrvilcNuHBWrfgbyvmagEmfGOA4hnP1WIkPbv4yABhj1Nam3as4w+7MBiI27BntwqVg==", + "dev": true + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "dependencies": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-color": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz", + "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=", + "dev": true, + "dependencies": { + "color-convert": "~0.5.0" + } + }, + "node_modules/parse-color/node_modules/color-convert": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=", + "dev": true + }, + "node_modules/parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "dependencies": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-glob/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-glob/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-headers": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz", + "integrity": "sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==", + "dev": true, + "dependencies": { + "for-each": "^0.3.3", + "string.prototype.trim": "^1.1.2" + } + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/portfinder": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", + "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", + "dev": true, + "dependencies": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/portfinder/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-import": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz", + "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.1", + "postcss-value-parser": "^3.2.3", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-import/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", + "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "dev": true, + "dependencies": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "dev": true, + "dependencies": { + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true, + "dependencies": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true, + "dependencies": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true, + "dependencies": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-values/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-values/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-simple-vars": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-simple-vars/-/postcss-simple-vars-5.0.2.tgz", + "integrity": "sha512-xWIufxBoINJv6JiLb7jl5oElgp+6puJwvT5zZHliUSydoLz4DADRB3NDDsYgfKVwojn4TDLiseoC65MuS8oGGg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.14" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", + "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", + "dev": true + }, + "node_modules/postcss/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "dependencies": { + "renderkid": "^2.0.1", + "utila": "~0.4" + } + }, + "node_modules/pretty-format": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-21.2.1.tgz", + "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "node_modules/prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "node_modules/prop-types-exact": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.0.tgz", + "integrity": "sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA==", + "dev": true, + "dependencies": { + "has": "^1.0.3", + "object.assign": "^4.1.0", + "reflect.ownkeys": "^0.2.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "dev": true, + "dependencies": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "node_modules/psl": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", + "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/q-io": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/q-io/-/q-io-1.13.2.tgz", + "integrity": "sha1-7qEw1IHdteGqG8WmaFX3OR0G8AM=", + "dev": true, + "dependencies": { + "collections": "^0.2.0", + "mime": "^1.2.11", + "mimeparse": "^0.1.4", + "q": "^1.0.1", + "qs": "^1.2.1", + "url2": "^0.0.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/q-io/node_modules/qs": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-1.2.2.tgz", + "integrity": "sha1-GbV/8k3CqZzh+L32r82ln472H4g=", + "dev": true + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "dependencies": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "dev": true + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dev": true, + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/railroad-diagrams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=", + "dev": true + }, + "node_modules/randexp": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", + "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", + "dev": true, + "dependencies": { + "discontinuous-range": "1.0.0", + "ret": "~0.1.10" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "dev": true, + "dependencies": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/randomatic/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", + "dev": true + }, + "node_modules/react": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.2.0.tgz", + "integrity": "sha512-ZmIomM7EE1DvPEnSFAHZn9Vs9zJl5A9H7el0EGTE6ZbW9FKe/14IYAlPbC8iH25YarEQxZL+E8VW7Mi7kfQrDQ==", + "dev": true, + "dependencies": { + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-contextmenu": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/react-contextmenu/-/react-contextmenu-2.9.4.tgz", + "integrity": "sha512-ma4YQw4J7JNv8L8mMVd1NHHbvH3+gaK/rQ6FC5Tft7OCUweKi7PHqHEE0fDF2009FLSGoV5JnjPnTTEyThqaJg==", + "dev": true, + "dependencies": { + "classnames": "^2.2.5", + "object-assign": "^4.1.0" + }, + "peerDependencies": { + "prop-types": "^15.0.0", + "react": "^0.14.0 || ^15.0.0 || ^16.0.0", + "react-dom": "^0.14.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/react-dom": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.2.0.tgz", + "integrity": "sha512-zpGAdwHVn9K0091d+hr+R0qrjoJ84cIBFL2uU60KvWBPfZ7LPSrfqviTxGHWN0sjPZb2hxWzMexwrvJdKePvjg==", + "deprecated": "This version of react-dom/server contains a minor vulnerability. Please update react-dom to 16.2.1 or 16.4.2+. Learn more: https://fb.me/cve-2018-6341", + "dev": true, + "dependencies": { + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" + }, + "peerDependencies": { + "react": "^16.0.0" + } + }, + "node_modules/react-draggable": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-3.0.5.tgz", + "integrity": "sha512-qo76q6+pafyGllbmfc+CgWfOkwY9v3UoJa3jp6xG2vdsRY8uJTN1kqNievLj0uVNjEqCvZ0OFiEBxlAJNj3OTg==", + "dev": true, + "dependencies": { + "classnames": "^2.2.5", + "prop-types": "^15.6.0" + } + }, + "node_modules/react-ga": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/react-ga/-/react-ga-2.5.3.tgz", + "integrity": "sha512-25wvPv1PVLDLhw1gEYP33h0V2sJHahKMfUCAxhq8JPYmNQwx1fcjJAkJk+WmSqGN93lHLhExDkxy3SQizQnx3A==", + "dev": true, + "optionalDependencies": { + "prop-types": "^15.6.0", + "react": "^15.6.2 || ^16.0" + } + }, + "node_modules/react-intl": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-2.9.0.tgz", + "integrity": "sha512-27jnDlb/d2A7mSJwrbOBnUgD+rPep+abmoJE511Tf8BnoONIAUehy/U1zZCHGO17mnOwMWxqN4qC0nW11cD6rA==", + "dev": true, + "dependencies": { + "hoist-non-react-statics": "^3.3.0", + "intl-format-cache": "^2.0.5", + "intl-messageformat": "^2.1.0", + "intl-relativeformat": "^2.1.0", + "invariant": "^2.1.1" + }, + "peerDependencies": { + "prop-types": "^15.5.4", + "react": "^0.14.9 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/react-is": { + "version": "16.10.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.10.2.tgz", + "integrity": "sha512-INBT1QEgtcCCgvccr5/86CfD71fw9EPmDxgiJX4I2Ddr6ZsV6iFXsuby+qWJPtmNuMY0zByTsG4468P7nHuNWA==", + "dev": true + }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "dev": true + }, + "node_modules/react-modal": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.9.1.tgz", + "integrity": "sha512-k+TUkhGWpIVHLsEyjNmlyOYL0Uz03fNZvlkhCImd1h+6fhNgTi6H6jexVXPVhD2LMMDzJyfugxMN+APN/em+eQ==", + "dev": true, + "dependencies": { + "exenv": "^1.2.0", + "prop-types": "^15.5.10", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16", + "react-dom": "^0.14.0 || ^15.0.0 || ^16" + } + }, + "node_modules/react-popover": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/react-popover/-/react-popover-0.5.10.tgz", + "integrity": "sha512-5SYDTfncywSH00I70oHd4gFRUR8V0rJ4sRADSI/P6G0RVXp9jUgaWloJ0Bk+SFnjpLPuipTKuzQNNd2CTs5Hrw==", + "dev": true, + "dependencies": { + "css-vendor": "^0.3.1", + "debug": "^2.6.8", + "lodash.throttle": "^3.0.3", + "prop-types": "^15.5.10" + } + }, + "node_modules/react-popover/node_modules/lodash.debounce": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-3.1.1.tgz", + "integrity": "sha1-gSIRw3ipTMKdWqTjNGzwv846ffU=", + "dev": true, + "dependencies": { + "lodash._getnative": "^3.0.0" + } + }, + "node_modules/react-popover/node_modules/lodash.throttle": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-3.0.4.tgz", + "integrity": "sha1-vE9HH7Mo5Nb9xt8rPTyvET8Pick=", + "dev": true, + "dependencies": { + "lodash.debounce": "^3.0.0" + } + }, + "node_modules/react-redux": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz", + "integrity": "sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==", + "dev": true, + "dependencies": { + "hoist-non-react-statics": "^2.5.0", + "invariant": "^2.0.0", + "lodash": "^4.17.5", + "lodash-es": "^4.17.5", + "loose-envify": "^1.1.0", + "prop-types": "^15.6.0" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0-0 || ^16.0.0-0", + "redux": "^2.0.0 || ^3.0.0 || ^4.0.0-0" + } + }, + "node_modules/react-redux/node_modules/hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==", + "dev": true + }, + "node_modules/react-responsive": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/react-responsive/-/react-responsive-5.0.0.tgz", + "integrity": "sha512-oEimZ0FTCC3/pjGDEBHOz06nWbBNDIbMGOdRYp6K9SBUmrqgNAX77hTiqvmRQeLyI97zz4F4kiaFRxFspDxE+w==", + "dev": true, + "dependencies": { + "hyphenate-style-name": "^1.0.0", + "matchmediaquery": "^0.3.0", + "prop-types": "^15.6.1" + }, + "engines": { + "node": ">= 0.10" + }, + "peerDependencies": { + "react": "^16.0.0" + } + }, + "node_modules/react-style-proptype": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-style-proptype/-/react-style-proptype-3.2.2.tgz", + "integrity": "sha512-ywYLSjNkxKHiZOqNlso9PZByNEY+FTyh3C+7uuziK0xFXu9xzdyfHwg4S9iyiRRoPCR4k2LqaBBsWVmSBwCWYQ==", + "dev": true, + "dependencies": { + "prop-types": "^15.5.4" + } + }, + "node_modules/react-tabs": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-2.3.0.tgz", + "integrity": "sha512-pYaefgVy76/36AMEP+B8YuVVzDHa3C5UFZ3REU78zolk0qMxEhKvUFofvDCXyLZwf0RZjxIfiwok1BEb18nHyA==", + "dev": true, + "dependencies": { + "classnames": "^2.2.0", + "prop-types": "^15.5.0" + }, + "peerDependencies": { + "react": "^0.14.9 || ^15.3.0 || ^16.0.0" + } + }, + "node_modules/react-test-renderer": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.2.0.tgz", + "integrity": "sha512-Kd4gJFtpNziR9ElOE/C23LeflKLZPRpNQYWP3nQBY43SJ5a+xyEGSeMrm2zxNKXcnCbBS/q1UpD9gqd5Dv+rew==", + "dev": true, + "dependencies": { + "fbjs": "^0.8.16", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" + }, + "peerDependencies": { + "react": "^16.0.0" + } + }, + "node_modules/react-tooltip": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-3.8.0.tgz", + "integrity": "sha512-Uj/vVd0uGuqwTkWeRjKS56T2iwOSvsSMbjqTK7AseHZEMND+WCXXUajaF7+ZsJWTZgnpeT9kBnaBFhchzeDTbw==", + "dev": true, + "dependencies": { + "classnames": "^2.2.5", + "prop-types": "^15.6.0" + }, + "engines": { + "node": ">=4.2.1" + }, + "peerDependencies": { + "react": ">=0.14", + "react-dom": ">=0.14" + } + }, + "node_modules/react-virtualized": { + "version": "9.20.1", + "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.20.1.tgz", + "integrity": "sha512-xIWxBsyNAjceqD3hsE0nw5TcDVxKbIepsHhvS2XneHmNz0KlKxdLdGBmGZBM9ZesEmbZ5EO0Sw70TB1MeCmpbQ==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "classnames": "^2.2.3", + "dom-helpers": "^2.4.0 || ^3.0.0", + "loose-envify": "^1.3.0", + "prop-types": "^15.6.0", + "react-lifecycles-compat": "^3.0.4" + }, + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0-alpha", + "react-dom": "^15.3.0 || ^16.0.0-alpha" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "dependencies": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "dependencies": { + "pify": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/redux": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", + "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", + "dev": true, + "dependencies": { + "lodash": "^4.2.1", + "lodash-es": "^4.2.1", + "loose-envify": "^1.1.0", + "symbol-observable": "^1.0.3" + } + }, + "node_modules/redux-mock-store": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/redux-mock-store/-/redux-mock-store-1.5.3.tgz", + "integrity": "sha512-ryhkkb/4D4CUGpAV2ln1GOY/uh51aczjcRz9k2L2bPx/Xja3c5pSGJJPyR25GNVRXtKIExScdAgFdiXp68GmJA==", + "dev": true, + "dependencies": { + "lodash.isplainobject": "^4.0.6" + } + }, + "node_modules/redux-throttle": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/redux-throttle/-/redux-throttle-0.1.1.tgz", + "integrity": "sha1-QwcFc/AzHRKuFvrmVyrZ1/y3Ya4=", + "dev": true, + "dependencies": { + "lodash.throttle": "4.0.1" + } + }, + "node_modules/reflect.ownkeys": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz", + "integrity": "sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=", + "dev": true + }, + "node_modules/regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "dev": true, + "dependencies": { + "private": "^0.1.6" + } + }, + "node_modules/regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "dependencies": { + "is-equal-shallow": "^0.1.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags/node_modules/es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags/node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags/node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags/node_modules/is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags/node_modules/is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags/node_modules/object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags/node_modules/string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags/node_modules/string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "node_modules/renderkid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", + "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", + "dev": true, + "dependencies": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "strip-ansi": "^3.0.0", + "utila": "^0.4.0" + } + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "dev": true, + "dependencies": { + "path-parse": "^1.0.6" + } + }, + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir/node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rst-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", + "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=", + "dev": true, + "dependencies": { + "lodash.flattendeep": "^4.4.0", + "nearley": "^2.7.10" + } + }, + "node_modules/rsvp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", + "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", + "dev": true, + "engines": { + "node": "0.12.* || 4.* || 6.* || >= 7.*" + } + }, + "node_modules/run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "dependencies": { + "is-promise": "^2.1.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sane": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", + "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", + "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": ">=0.6.0" + }, + "optionalDependencies": { + "fsevents": "^1.2.3" + } + }, + "node_modules/sane/node_modules/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/scratch-audio": { + "version": "0.1.0-prerelease.20190925183642", + "resolved": "https://registry.npmjs.org/scratch-audio/-/scratch-audio-0.1.0-prerelease.20190925183642.tgz", + "integrity": "sha512-cvnNawIThkIKyMZdo+cRmYO+ndCG9dcQeaG8rTgok2iSMvG510OUs3DBnFz/GUncu+OryT1VKdeusEfwKf/+ow==", + "dev": true, + "dependencies": { + "audio-context": "1.0.1", + "minilog": "^3.0.1", + "startaudiocontext": "1.2.1" + } + }, + "node_modules/scratch-blocks": { + "version": "0.1.0-prerelease.1578322100", + "resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.1578322100.tgz", + "integrity": "sha512-36CNHELBehHX0pjyVLrkP7vqVhpkvBONDLTKx1LoYZhVXtTvP+Vknd6iKDM3gUzzAOMdpUUxVO6e/XBHz8+i1w==", + "dev": true, + "dependencies": { + "exports-loader": "0.6.3", + "imports-loader": "0.6.5" + } + }, + "node_modules/scratch-l10n": { + "version": "3.7.20200108141814", + "resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.7.20200108141814.tgz", + "integrity": "sha512-96XEoJGqmR3f/394hcyBjHdyc3VNapaU6hQ+3/4TAvfD/8keYsJuSVkHHMD+UpodHKkkSTyQZIjbDKc9T60UMQ==", + "dev": true, + "dependencies": { + "@babel/cli": "^7.1.2", + "@babel/core": "^7.1.2", + "babel-plugin-react-intl": "^3.0.1", + "transifex": "1.6.6" + }, + "bin": { + "build-i18n-src": "scripts/build-i18n-src.js", + "tx-push-src": "scripts/tx-push-src.js" + } + }, + "node_modules/scratch-paint": { + "version": "0.2.0-prerelease.20200109073728", + "resolved": "https://registry.npmjs.org/scratch-paint/-/scratch-paint-0.2.0-prerelease.20200109073728.tgz", + "integrity": "sha512-PJTYShD5gl4OReRN+ZOTjSFeEuarO5YV10bbmw1BSn/pAnuEYU2dglgymNSBiGXunYaDYyaPgsJldzcnydSxHQ==", + "dev": true, + "dependencies": { + "@scratch/paper": "0.11.20190729152410", + "classnames": "2.2.5", + "keymirror": "0.1.1", + "lodash.bindall": "4.4.0", + "lodash.omit": "4.5.0", + "minilog": "3.1.0", + "parse-color": "1.0.0", + "prop-types": "^15.5.10", + "scratch-svg-renderer": "0.2.0-prerelease.20200109070519" + }, + "peerDependencies": { + "react": "^16", + "react-dom": "^16", + "react-intl": "^2", + "react-intl-redux": "^0.7", + "react-popover": "^0.5", + "react-redux": "^5", + "react-responsive": "^4", + "react-style-proptype": "^3", + "react-tooltip": "^3", + "redux": "^3" + } + }, + "node_modules/scratch-paint/node_modules/classnames": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", + "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0=", + "dev": true + }, + "node_modules/scratch-render-fonts": { + "version": "1.0.0-prerelease.20180906193204", + "resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.0-prerelease.20180906193204.tgz", + "integrity": "sha512-tVDUTKO/gJnEv94HTyBWW/e/JwsZIslByzehuXQ7QvrngEh28gvHaCRwKMX/cqprizu4TFqvfx4Xh2n9e5XekA==", + "dev": true, + "dependencies": { + "base64-loader": "1.0.0" + } + }, + "node_modules/scratch-storage": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/scratch-storage/-/scratch-storage-1.3.2.tgz", + "integrity": "sha512-Xi169m/k6yYJU7aXTLgIxWjIumYamMSkRdSQiQ39p6kQeniGzm8ncBbJuGOs1UDh0Y3b6g1DrqX24YaSQL201w==", + "dev": true, + "dependencies": { + "arraybuffer-loader": "^1.0.3", + "base64-js": "1.3.0", + "js-md5": "0.7.3", + "minilog": "3.1.0", + "nets": "3.2.0", + "text-encoding": "0.7.0", + "worker-loader": "^2.0.0" + } + }, + "node_modules/scratch-storage/node_modules/base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "dev": true + }, + "node_modules/scratch-svg-renderer": { + "version": "0.2.0-prerelease.20200109070519", + "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-0.2.0-prerelease.20200109070519.tgz", + "integrity": "sha512-THdZW9gA8mFKvDImHDrWWhvyOymUW3JgMBjpPsaFk2URl1kfNIRQIndfwto2B8a8YbtuyKSv6CWW8Nu+VzBZVA==", + "dev": true, + "dependencies": { + "base64-js": "1.2.1", + "base64-loader": "1.0.0", + "minilog": "3.1.0", + "scratch-render-fonts": "1.0.0-prerelease.20180906193204", + "transformation-matrix": "1.15.0" + } + }, + "node_modules/scratch-svg-renderer/node_modules/base64-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", + "dev": true + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "node_modules/selenium-webdriver": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", + "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", + "dev": true, + "dependencies": { + "jszip": "^3.1.3", + "rimraf": "^2.5.4", + "tmp": "0.0.30", + "xml2js": "^0.4.17" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/selenium-webdriver/node_modules/tmp": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "dev": true, + "dependencies": { + "node-forge": "0.9.0" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "dev": true + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "node_modules/should": { + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", + "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", + "dev": true, + "dependencies": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "node_modules/should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", + "dev": true, + "dependencies": { + "should-type": "^1.4.0" + } + }, + "node_modules/should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", + "dev": true, + "dependencies": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "node_modules/should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", + "dev": true + }, + "node_modules/should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "dev": true, + "dependencies": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "node_modules/should-util": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "node_modules/sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "dev": true, + "dependencies": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + } + }, + "node_modules/sockjs-client/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/sockjs-client/node_modules/faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/sockjs-client/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", + "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/spdy-transport/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/spdy-transport/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/spdy/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/spdy/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.1" + } + }, + "node_modules/startaudiocontext": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/startaudiocontext/-/startaudiocontext-1.2.1.tgz", + "integrity": "sha1-RtLKtUYseRGArMciPju7wycshZU=", + "dev": true + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "dev": true, + "dependencies": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-length/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz", + "integrity": "sha512-9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.13.0", + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.trimleft": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", + "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.trimright": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", + "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/style-loader": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", + "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svg-to-image": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/svg-to-image/-/svg-to-image-1.1.3.tgz", + "integrity": "sha1-1v9NiDyo9+P3krQrIyixXL4vsPM=", + "dev": true, + "dependencies": { + "load-img": "^1.0.0" + } + }, + "node_modules/symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tapable": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", + "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tcp-port-used": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.1.tgz", + "integrity": "sha512-rwi5xJeU6utXoEIiMvVBMc9eJ2/ofzB+7nLOdnZuFTmNCLqRiQh2sMG9MqCxHU/69VC/Fwp5dV9306Qd54ll1Q==", + "dev": true, + "dependencies": { + "debug": "4.1.0", + "is2": "2.0.1" + } + }, + "node_modules/tcp-port-used/node_modules/debug": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/tcp-port-used/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/terser": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.8.tgz", + "integrity": "sha512-otmIRlRVmLChAWsnSFNO0Bfk6YySuBp6G9qrHiJwlLDd4mxe2ta4sjI7TzIR+W1nBMjilzrMcPOz9pSusgx3hQ==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", + "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", + "dev": true, + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/terser-webpack-plugin/node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/test-exclude": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", + "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" + } + }, + "node_modules/test-exclude/node_modules/arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "dependencies": { + "arr-flatten": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "dependencies": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "dependencies": { + "is-posix-bracket": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "dependencies": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/text-encoding": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz", + "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==", + "deprecated": "no longer maintained", + "dev": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-style": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/to-style/-/to-style-1.3.3.tgz", + "integrity": "sha1-Y6K3Cm9KfU/cLtV6C+TnI1y2aZw=", + "dev": true + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "node_modules/tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "dependencies": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tough-cookie/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "node_modules/transformation-matrix": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/transformation-matrix/-/transformation-matrix-1.15.0.tgz", + "integrity": "sha512-808EqPQbmUD6/IMpWUXLOZcblCHf9xaiB+un0RYNNE9+6VRjoiw6Be8R32tZ0ips1PX/15tlnA2Ev4UUgg827Q==", + "dev": true + }, + "node_modules/transifex": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/transifex/-/transifex-1.6.6.tgz", + "integrity": "sha512-uHeRvhfLfZN+JdH+X0zR1jkQAbMGkgExZgcXm31CzaVVd4kq98YaPr4MCgCU0LwA7cgOuB97d2HZQ/WikOAxlg==", + "dev": true, + "dependencies": { + "commander": "^2.9.0", + "lodash": "^4.17.1", + "mkpath": "^1.0.0", + "mocha": "^4.0.0", + "request": "^2.34.0", + "should": "^13.0.0" + }, + "bin": { + "transifex": "bin/index.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/ua-parser-js": { + "version": "0.7.20", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz", + "integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "dependencies": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-js/node_modules/commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "node_modules/uglify-js/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglifyjs-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", + "dev": true, + "dependencies": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "engines": { + "node": ">= 4.8 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", + "dev": true, + "dependencies": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "node_modules/url2": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/url2/-/url2-0.0.0.tgz", + "integrity": "sha1-Tqq9HVw6yQ1iq0SFyZhCKGWgSxo=", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true + }, + "node_modules/walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "dependencies": { + "makeerror": "1.0.x" + } + }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/watch": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", + "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", + "dev": true, + "dependencies": { + "exec-sh": "^0.2.0", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/watch/node_modules/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "node_modules/watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "dependencies": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "node_modules/wav-encoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/wav-encoder/-/wav-encoder-1.3.0.tgz", + "integrity": "sha512-FXJdEu2qDOI+wbVYZpu21CS1vPEg5NaxNskBr4SaULpOJMrLE6xkH8dECa7PiS+ZoeyvP7GllWUAxPN3AvFSEw==", + "dev": true + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/weak-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.0.tgz", + "integrity": "sha1-tm5Wqd8L0lp2u/G1FNsSkIBhSjc=", + "dev": true + }, + "node_modules/web-audio-test-api": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/web-audio-test-api/-/web-audio-test-api-0.5.2.tgz", + "integrity": "sha1-weJNIc7QYD8aSVJyoetmnbKIc/o=", + "dev": true + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/webpack": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.0.tgz", + "integrity": "sha512-yNV98U4r7wX1VJAj5kyMsu36T8RPPQntcb5fJLOsMz/pt/WrKC0Vp1bAlqPLkA1LegSwQwf6P+kAbyhRKVQ72g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.1", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/webpack-cli": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.9.tgz", + "integrity": "sha512-xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==", + "dev": true, + "dependencies": { + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "peerDependencies": { + "webpack": "4.x.x" + } + }, + "node_modules/webpack-cli/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/webpack-cli/node_modules/enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/webpack-cli/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/webpack-cli/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "dependencies": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/webpack-cli/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/webpack-cli/node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/webpack-cli/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-cli/node_modules/yargs": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" + } + }, + "node_modules/webpack-cli/node_modules/yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "dev": true, + "dependencies": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.1.tgz", + "integrity": "sha512-AGG4+XrrXn4rbZUueyNrQgO4KGnol+0wm3MPdqGLmmA+NofZl3blZQKxZ9BND6RDNuvAK9OMYClhjOSnxpWRoA==", + "dev": true, + "dependencies": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.2.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.6", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.25", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.4.0", + "spdy": "^4.0.1", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "12.0.5" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 6.11.5" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/webpack-dev-server/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "dependencies": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/webpack-dev-server/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/webpack-dev-server/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "dependencies": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/webpack/node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/webpack/node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/webpack/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", + "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/whatwg-url/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/worker-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-2.0.0.tgz", + "integrity": "sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==", + "dev": true, + "dependencies": { + "loader-utils": "^1.0.0", + "schema-utils": "^0.4.0" + }, + "engines": { + "node": ">= 6.9.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^3.0.0 || ^4.0.0-alpha.0 || ^4.0.0" + } + }, + "node_modules/worker-loader/node_modules/schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/xhr": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", + "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", + "dev": true, + "dependencies": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/xhr/node_modules/global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "dev": true, + "dependencies": { + "min-document": "^2.19.0", + "process": "~0.5.1" + } + }, + "node_modules/xhr/node_modules/process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", + "dev": true + }, + "node_modules/xml-name-validator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", + "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", + "dev": true + }, + "node_modules/xml2js": { + "version": "0.4.22", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.22.tgz", + "integrity": "sha512-MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw==", + "dev": true, + "dependencies": { + "sax": ">=0.6.0", + "util.promisify": "~1.0.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/yargs": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", + "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" + } + }, + "node_modules/yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/yargs/node_modules/y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "node_modules/yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "dev": true, + "dependencies": { + "fd-slicer": "~1.0.1" + } + } + }, + "dependencies": { + "@babel/cli": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.6.4.tgz", + "integrity": "sha512-tqrDyvPryBM6xjIyKKUwr3s8CzmmYidwgdswd7Uc/Cv0ogZcuS1TYQTLx/eWKP3UbJ6JxZAiYlBZabXm/rtRsQ==", + "dev": true, + "requires": { + "chokidar": "^2.1.8", + "commander": "^2.8.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.13", + "mkdirp": "^0.5.1", + "output-file-sync": "^2.0.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + } + }, + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.4.tgz", + "integrity": "sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.4", + "@babel/helpers": "^7.6.2", + "@babel/parser": "^7.6.4", + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.3", + "@babel/types": "^7.6.3", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz", + "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==", + "dev": true, + "requires": { + "@babel/types": "^7.6.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz", + "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0", + "esutils": "^2.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", + "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-define-map": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", + "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", + "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", + "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", + "dev": true, + "requires": { + "@babel/types": "^7.5.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", + "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", + "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", + "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "dev": true, + "requires": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-wrap-function": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" + } + }, + "@babel/helpers": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz", + "integrity": "sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==", + "dev": true, + "requires": { + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.2", + "@babel/types": "^7.6.0" + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.4.tgz", + "integrity": "sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", + "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", + "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.2.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz", + "integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz", + "integrity": "sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", + "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", + "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", + "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz", + "integrity": "sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", + "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.5.5", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5", + "@babel/helper-split-export-declaration": "^7.4.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz", + "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz", + "integrity": "sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", + "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", + "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", + "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", + "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", + "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz", + "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", + "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", + "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz", + "integrity": "sha512-jTkk7/uE6H2s5w6VlMHeWuH+Pcy2lmdwFoeWCVnvIrDUnB5gQqTVI8WfmEAhF2CDEarGrknZcmSFg1+bkfCoSw==", + "dev": true, + "requires": { + "regexpu-core": "^4.6.0" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", + "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", + "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", + "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.4.4", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", + "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", + "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz", + "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==", + "dev": true, + "requires": { + "@babel/helper-builder-react-jsx": "^7.3.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz", + "integrity": "sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz", + "integrity": "sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", + "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", + "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz", + "integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", + "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", + "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz", + "integrity": "sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/preset-env": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.3.tgz", + "integrity": "sha512-CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-dynamic-import": "^7.5.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.6.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.6.2", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.5.0", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.6.3", + "@babel/plugin-transform-classes": "^7.5.5", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.6.0", + "@babel/plugin-transform-dotall-regex": "^7.6.2", + "@babel/plugin-transform-duplicate-keys": "^7.5.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.4.4", + "@babel/plugin-transform-function-name": "^7.4.4", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-member-expression-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.5.0", + "@babel/plugin-transform-modules-commonjs": "^7.6.0", + "@babel/plugin-transform-modules-systemjs": "^7.5.0", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.3", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.5.5", + "@babel/plugin-transform-parameters": "^7.4.4", + "@babel/plugin-transform-property-literals": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-reserved-words": "^7.2.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.6.2", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.4.4", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.6.2", + "@babel/types": "^7.6.3", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" + } + }, + "@babel/preset-react": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.6.3.tgz", + "integrity": "sha512-07yQhmkZmRAfwREYIQgW0HEwMY9GBJVuPY4Q12UC72AbfaawuupVWa8zQs2tlL+yun45Nv/1KreII/0PLfEsgA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0" + } + }, + "@babel/runtime": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.3.tgz", + "integrity": "sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.2" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", + "dev": true + } + } + }, + "@babel/template": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", + "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.0" + } + }, + "@babel/traverse": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz", + "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.3", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.6.3", + "@babel/types": "^7.6.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz", + "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, + "@scratch/paper": { + "version": "0.11.20190729152410", + "resolved": "https://registry.npmjs.org/@scratch/paper/-/paper-0.11.20190729152410.tgz", + "integrity": "sha512-8DvLPFbipP7O8fii6xItaA041fdW4pdr63m34xlSs15sYP5fX9yiZiO3G44qk5eBPbFNQTG7uxMd5Jo+cVS5Ow==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz", + "integrity": "sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", + "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", + "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz", + "integrity": "sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "dev": true, + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", + "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.3.tgz", + "integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "12.7.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.12.tgz", + "integrity": "sha512-KPYGmfD0/b1eXurQ59fXD1GBzhSQfz6/lKBxkaHX9dKTzjXbK68Zt7yGUxUsCS1jeTy/8aL+d9JEr+S54mpkWQ==", + "dev": true + }, + "@types/yargs": { + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.3.tgz", + "integrity": "sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz", + "integrity": "sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==", + "dev": true + }, + "@typescript-eslint/experimental-utils": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz", + "integrity": "sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "1.13.0", + "eslint-scope": "^4.0.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz", + "integrity": "sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==", + "dev": true, + "requires": { + "lodash.unescape": "4.0.1", + "semver": "5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + } + } + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "dev": true + }, + "acorn-globals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "dev": true, + "requires": { + "acorn": "^4.0.4" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "acorn-jsx": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz", + "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==", + "dev": true, + "requires": {} + }, + "airbnb-prop-types": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.15.0.tgz", + "integrity": "sha512-jUh2/hfKsRjNFC4XONQrxo/n/3GG4Tn6Hl0WlFQN5PY9OMC9loSCoAYKnZsWaP8wEfd5xcrPloK0Zg6iS1xwVA==", + "dev": true, + "requires": { + "array.prototype.find": "^2.1.0", + "function.prototype.name": "^1.1.1", + "has": "^1.0.3", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object.assign": "^4.1.0", + "object.entries": "^1.1.0", + "prop-types": "^15.7.2", + "prop-types-exact": "^1.2.0", + "react-is": "^16.9.0" + } + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "requires": {} + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true, + "requires": {} + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "append-transform": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "dev": true, + "requires": { + "default-require-extensions": "^1.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", + "dev": true + }, + "array-find": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", + "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", + "dev": true + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "array.prototype.find": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.0.tgz", + "integrity": "sha512-Wn41+K1yuO5p7wRZDl7890c3xvv5UBrfVXTVIe28rSQb6LS0fZMDrQB6PAcxQFRFy6vJTLDc3A2+3CjQdzVKRg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.13.0" + } + }, + "array.prototype.flat": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz", + "integrity": "sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1" + } + }, + "arraybuffer-loader": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer-loader/-/arraybuffer-loader-1.0.7.tgz", + "integrity": "sha512-8FPjFP26OF723Oiaj5E208WW2tAgE0noCsrtQZ20TwdHt6qs5iuAaKqX5WY/C3wYdF/2cRUiuIXj98qy/2NB7g==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "async": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/async/-/async-2.1.2.tgz", + "integrity": "sha1-YSpKtF70KnDN6Aa62G7m2wR+g4U=", + "dev": true, + "requires": { + "lodash": "^4.14.0" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "audio-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/audio-context/-/audio-context-1.0.1.tgz", + "integrity": "sha1-zsTbis5u9KrL8Q7vCXekVxRo1Ks=", + "dev": true, + "requires": { + "global": "^4.3.1" + } + }, + "autoprefixer": { + "version": "9.6.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.4.tgz", + "integrity": "sha512-Koz2cJU9dKOxG8P1f8uVaBntOv9lP4yz9ffWvWaicv9gHBPhpQB22nGijwd8gqW9CNT+UdkbQOQNLVI8jN1ZfQ==", + "dev": true, + "requires": { + "browserslist": "^4.7.0", + "caniuse-lite": "^1.0.30000998", + "chalk": "^2.4.2", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.18", + "postcss-value-parser": "^4.0.2" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "dev": true, + "requires": {} + }, + "babel-eslint": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz", + "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + } + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-jest": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-21.2.0.tgz", + "integrity": "sha512-O0W2qLoWu1QOoOGgxiR2JID4O6WSpxPiQanrkyi9SSlM0PJ60Ptzlck47lhtnr9YZO3zYOsxHwnyeWJ6AffoBQ==", + "dev": true, + "requires": { + "babel-plugin-istanbul": "^4.0.0", + "babel-preset-jest": "^21.2.0" + } + }, + "babel-loader": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "dev": true, + "requires": { + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "pify": "^4.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", + "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "find-up": "^2.1.0", + "istanbul-lib-instrument": "^1.10.1", + "test-exclude": "^4.2.1" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + } + } + }, + "babel-plugin-jest-hoist": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-21.2.0.tgz", + "integrity": "sha512-yi5QuiVyyvhBUDLP4ButAnhYzkdrUwWDtvUJv71hjH3fclhnZg4HkDeqaitcR2dZZx/E67kGkRcPVjtVu+SJfQ==", + "dev": true + }, + "babel-plugin-react-intl": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-3.5.1.tgz", + "integrity": "sha512-1jlEJCSmLaJM4tjIKpu64UZ833COCHmwR77bFJDOye+zlwf80uR1b8p41l4tClx1QsrfI+qV6w/5AiPYQgaMUQ==", + "dev": true, + "requires": { + "@babel/core": "^7.4.5", + "@babel/helper-plugin-utils": "^7.0.0", + "@types/babel__core": "^7.1.2", + "fs-extra": "^8.0.1", + "intl-messageformat-parser": "^1.8.1" + }, + "dependencies": { + "intl-messageformat-parser": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.8.1.tgz", + "integrity": "sha512-IMSCKVf0USrM/959vj3xac7s8f87sc+80Y/ipBzdKy4ifBv5Gsj2tZ41EAaURVg01QU71fYr77uA8Meh6kELbg==", + "dev": true + } + } + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-preset-jest": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-21.2.0.tgz", + "integrity": "sha512-hm9cBnr2h3J7yXoTtAVV0zg+3vg0Q/gT2GYuzlreTU0EPkJRtlNgKJJ3tBKEn0+VjAi3JykV6xCJkuUYttEEfA==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^21.2.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + }, + "dependencies": { + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "base64-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64-loader/-/base64-loader-1.0.0.tgz", + "integrity": "sha1-5TC62I6QbdKh+tCvLZ5oP6i9kqg=", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bluebird": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz", + "integrity": "sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "bowser": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz", + "integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz", + "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000989", + "electron-to-chromium": "^1.3.247", + "node-releases": "^1.1.29" + } + }, + "bser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz", + "integrity": "sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30000999", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz", + "integrity": "sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg==", + "dev": true + }, + "capture-exit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", + "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", + "dev": true, + "requires": { + "rsvp": "^3.3.3" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "cheerio": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", + "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "dev": true, + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.1", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "chromedriver": { + "version": "78.0.1", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-78.0.1.tgz", + "integrity": "sha512-eOsyFk4xb9EECs1VMrDbxO713qN+Bu1XUE8K9AuePc3839TPdAegg72kpXSzkeNqRNZiHbnJUItIVCLFkDqceA==", + "dev": true, + "requires": { + "del": "^4.1.1", + "extract-zip": "^1.6.7", + "mkdirp": "^0.5.1", + "request": "^2.88.0", + "tcp-port-used": "^1.0.1" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==", + "dev": true + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "collections": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/collections/-/collections-0.2.2.tgz", + "integrity": "sha1-HyMCay7zb5J+7MkB6ZxfDUj6M04=", + "dev": true, + "requires": { + "weak-map": "1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz", + "integrity": "sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "dev": true + } + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + } + }, + "computed-style-to-inline-style": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/computed-style-to-inline-style/-/computed-style-to-inline-style-3.0.0.tgz", + "integrity": "sha1-klECRGPFVcfhdo13oZ66m49Bivw=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "content-type-parser": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz", + "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==", + "dev": true + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "dev": true + }, + "core-js-compat": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz", + "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==", + "dev": true, + "requires": { + "browserslist": "^4.6.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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 + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", + "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash": "^4.17.11", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-mediaquery": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz", + "integrity": "sha1-aiw3NEkoYYYxxUvTPO3TAdoYvqA=", + "dev": true + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-selector-tokenizer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", + "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", + "dev": true, + "requires": { + "cssesc": "^0.1.0", + "fastparse": "^1.1.1", + "regexpu-core": "^1.0.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "css-vendor": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", + "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", + "dev": true, + "requires": { + "is-in-browser": "^1.0.2" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true + }, + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "cssstyle": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "dev": true, + "requires": { + "cssom": "0.3.x" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "default-require-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "dev": true, + "requires": { + "strip-bom": "^2.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + } + }, + "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 + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=", + "dev": true + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.1.2" + } + }, + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "dev": true, + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", + "dev": true + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.280", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.280.tgz", + "integrity": "sha512-qYWNMjKLEfQAWZF2Sarvo+ahigu0EArnpCFSoUuZJS3W5wIeVfeEvsgmT2mgIrieQkeQ0+xFmykK3nx2ezekPQ==", + "dev": true + }, + "elliptic": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", + "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", + "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.2.0", + "tapable": "^0.1.8" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "enzyme": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.10.0.tgz", + "integrity": "sha512-p2yy9Y7t/PFbPoTvrWde7JIYB2ZyGC+NgTNbVEGvZ5/EyoYSr9aG/2rSbVvyNvMHEhw9/dmGUJHWtfQIEiX9pg==", + "dev": true, + "requires": { + "array.prototype.flat": "^1.2.1", + "cheerio": "^1.0.0-rc.2", + "function.prototype.name": "^1.1.0", + "has": "^1.0.3", + "html-element-map": "^1.0.0", + "is-boolean-object": "^1.0.0", + "is-callable": "^1.1.4", + "is-number-object": "^1.0.3", + "is-regex": "^1.0.4", + "is-string": "^1.0.4", + "is-subset": "^0.1.1", + "lodash.escape": "^4.0.1", + "lodash.isequal": "^4.5.0", + "object-inspect": "^1.6.0", + "object-is": "^1.0.1", + "object.assign": "^4.1.0", + "object.entries": "^1.0.4", + "object.values": "^1.0.4", + "raf": "^3.4.0", + "rst-selector-parser": "^2.2.3", + "string.prototype.trim": "^1.1.2" + } + }, + "enzyme-adapter-react-16": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.3.0.tgz", + "integrity": "sha512-TRX+Y5QPreGmqfFU3bPsJUmqNZX9paQCmQ93kj7hnfQoZzufO/pahGN/OviWn60YcgaQojhf0AWv3PxrIDARbA==", + "dev": true, + "requires": { + "enzyme-adapter-utils": "^1.6.0", + "function.prototype.name": "^1.1.0", + "object.assign": "^4.1.0", + "object.values": "^1.0.4", + "prop-types": "^15.6.2", + "react-is": "^16.4.2", + "react-test-renderer": "^16.0.0-0" + } + }, + "enzyme-adapter-utils": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.0.tgz", + "integrity": "sha512-wkZvE0VxcFx/8ZsBw0iAbk3gR1d9hK447ebnSYBf95+r32ezBq+XDSAvRErkc4LZosgH8J7et7H7/7CtUuQfBA==", + "dev": true, + "requires": { + "airbnb-prop-types": "^2.13.2", + "function.prototype.name": "^1.1.0", + "object.assign": "^4.1.0", + "object.fromentries": "^2.0.0", + "prop-types": "^15.7.2", + "semver": "^5.6.0" + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz", + "integrity": "sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.0", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.6.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.1.0", + "string.prototype.trimright": "^2.1.0" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", + "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", + "dev": true, + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "eslint": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", + "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.9.1", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^4.0.3", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.2.2", + "js-yaml": "^3.13.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.11", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "eslint-config-scratch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-scratch/-/eslint-config-scratch-5.1.0.tgz", + "integrity": "sha512-JQMxERL3eo0TMy87NZFm6yS0i2XOMplffKz9CD/2ta2i/+3FTgajxzF9n7R7vi9C+GMLSTSLZJ5X90tINuAhjg==", + "dev": true, + "requires": { + "eslint-plugin-react": ">=7.14.2" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", + "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.5.0" + } + }, + "eslint-import-resolver-webpack": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.11.1.tgz", + "integrity": "sha512-eK3zR7xVQR/MaoBWwGuD+CULYVuqe5QFlDukman71aI6IboCGzggDUohHNfu1ZeBnbHcUHJc0ywWoXUBNB6qdg==", + "dev": true, + "requires": { + "array-find": "^1.0.0", + "debug": "^2.6.8", + "enhanced-resolve": "~0.9.0", + "find-root": "^1.1.0", + "has": "^1.0.1", + "interpret": "^1.0.0", + "lodash": "^4.17.4", + "node-libs-browser": "^1.0.0 || ^2.0.0", + "resolve": "^1.10.0", + "semver": "^5.3.0" + } + }, + "eslint-module-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz", + "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==", + "dev": true, + "requires": { + "debug": "^2.6.8", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.18.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", + "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.2", + "eslint-module-utils": "^2.4.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.11.0" + }, + "dependencies": { + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + } + } + }, + "eslint-plugin-jest": { + "version": "22.17.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.17.0.tgz", + "integrity": "sha512-WT4DP4RoGBhIQjv+5D0FM20fAdAUstfYAf/mkufLNTojsfgzc5/IYW22cIg/Q4QBavAZsROQlqppiWDpFZDS8Q==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "^1.13.0" + } + }, + "eslint-plugin-react": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz", + "integrity": "sha512-GacBAATewhhptbK3/vTP09CbFrgUJmBSaaRcWdbQLFvUZy9yVcQxigBNHGPU/KE2AyHpzj3AWXpxoMTsIDiHug==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.1", + "object.entries": "^1.1.0", + "object.fromentries": "^2.0.0", + "object.values": "^1.1.0", + "prop-types": "^15.7.2", + "resolve": "^1.12.0" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", + "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.0.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + }, + "espree": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", + "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", + "dev": true, + "requires": { + "acorn": "^6.0.7", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "dev": true + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "dev": true + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-sh": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", + "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", + "dev": true, + "requires": { + "merge": "^1.2.0" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "^2.1.0" + }, + "dependencies": { + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "expect": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-21.2.1.tgz", + "integrity": "sha512-orfQQqFRTX0jH7znRIGi8ZMR8kTNpXklTTz8+HGTpmTKZo3Occ6JNB5FXMb8cRuiiC/GyDqsr30zUa66ACYlYw==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "jest-diff": "^21.2.1", + "jest-get-type": "^21.2.0", + "jest-matcher-utils": "^21.2.1", + "jest-message-util": "^21.2.1", + "jest-regex-util": "^21.2.0" + } + }, + "exports-loader": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.3.tgz", + "integrity": "sha1-V9x4kX9wm5byR/qR5ptVTIVQE8g=", + "dev": true, + "requires": { + "loader-utils": "0.2.x", + "source-map": "0.1.x" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extract-zip": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", + "yauzl": "2.4.1" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "dev": true, + "requires": { + "bser": "^2.0.0" + } + }, + "fbjs": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "dev": true, + "requires": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "dev": true + } + } + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz", + "integrity": "sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ==", + "dev": true, + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fileset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", + "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "dev": true, + "requires": { + "glob": "^7.0.3", + "minimatch": "^3.0.3" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz", + "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==", + "dev": true, + "requires": { + "debug": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.1.tgz", + "integrity": "sha512-e1NzkiJuw6xqVH7YSdiW/qDHebcmMhPNe6w+4ZYYEg0VA+LaLzx37RimbPLuonHhYGFGPx1ME2nSi74JiaCr/Q==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1", + "functions-have-names": "^1.1.1", + "is-callable": "^1.1.4" + } + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "functions-have-names": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.1.1.tgz", + "integrity": "sha512-U0kNHUoxwPNPWOJaMG7Z00d4a/qZVrFtzWJRaK8V9goaVOCXBSQSJpt3MYGNtkScKEBKovxLjnNdC9MlXwo5Pw==", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-float-time-domain-data": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-float-time-domain-data/-/get-float-time-domain-data-0.1.0.tgz", + "integrity": "sha1-XYVZJKQwOITJY4qrEnzOTQBlljs=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-user-media-promise": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/get-user-media-promise/-/get-user-media-promise-1.1.4.tgz", + "integrity": "sha512-k49YuV2z0d3gKHLPTFKYfzEA9kduuQk7YBf8ev2dxrKk+DhMyuzfQnK9ZSxkEhE/jv3BZY62M0eICWa7lak9nw==", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "gh-pages": { + "version": "git+ssh://git@github.com/rschamp/gh-pages.git#47e5e5c376ca65f4b407325e115174172d9c12ae", + "dev": true, + "from": "gh-pages@github:rschamp/gh-pages#publish-branch-to-subfolder", + "requires": { + "async": "2.1.2", + "commander": "2.9.0", + "globby": "^6.1.0", + "graceful-fs": "4.1.10", + "q": "1.4.1", + "q-io": "1.13.2", + "rimraf": "^2.5.4" + }, + "dependencies": { + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.10.tgz", + "integrity": "sha1-8tcgwiCS90Mih3XHXjYSYyUB8TE=", + "dev": true + } + } + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "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.0" + }, + "dependencies": { + "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.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dev": true, + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + } + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "growl": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", + "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "handle-thing": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", + "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", + "dev": true + }, + "handlebars": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.3.tgz", + "integrity": "sha512-B0W4A2U1ww3q7VVthTKfh+epHx+q4mCt6iK+zEAzbMBpWQAwxCeKxEGpj/1oQTpzPXDNSOG7hmG14TsISH50yw==", + "dev": true, + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", + "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", + "dev": true, + "requires": { + "react-is": "^16.7.0" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "html-element-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.1.0.tgz", + "integrity": "sha512-iqiG3dTZmy+uUaTmHarTL+3/A2VW9ox/9uasKEZC+R/wAtUrTcRlXPSaPqsnWPfIu8wqn09jQNwMRqzL54jSYA==", + "dev": true, + "requires": { + "array-filter": "^1.0.0" + } + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + } + } + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + } + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "dev": true + }, + "http-proxy": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "hyphenate-style-name": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz", + "integrity": "sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true + }, + "immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", + "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imports-loader": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.6.5.tgz", + "integrity": "sha1-rnRlMDHVnjezwvslRKxhrq41MKY=", + "dev": true, + "requires": { + "loader-utils": "0.2.x", + "source-map": "0.1.x" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, + "intl": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/intl/-/intl-1.2.5.tgz", + "integrity": "sha1-giRKIZDE5Bn4Nx9ao02qNCDiq94=", + "dev": true + }, + "intl-format-cache": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.2.9.tgz", + "integrity": "sha512-Zv/u8wRpekckv0cLkwpVdABYST4hZNTDaX7reFetrYTJwxExR2VyTqQm+l0WmL0Qo8Mjb9Tf33qnfj0T7pjxdQ==", + "dev": true + }, + "intl-messageformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-2.2.0.tgz", + "integrity": "sha1-NFvNRt5jC3aDMwwuUhd/9eq0hPw=", + "dev": true, + "requires": { + "intl-messageformat-parser": "1.4.0" + } + }, + "intl-messageformat-parser": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz", + "integrity": "sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU=", + "dev": true + }, + "intl-relativeformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-2.2.0.tgz", + "integrity": "sha512-4bV/7kSKaPEmu6ArxXf9xjv1ny74Zkwuey8Pm01NH4zggPP7JHwg2STk8Y3JdspCKRDriwIyLRfEXnj2ZLr4Bw==", + "dev": true, + "requires": { + "intl-messageformat": "^2.0.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "dev": true + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-boolean-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.0.tgz", + "integrity": "sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M=", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-in-browser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-number-object": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.3.tgz", + "integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz", + "integrity": "sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ=", + "dev": true + }, + "is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", + "dev": true + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "is2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.1.tgz", + "integrity": "sha512-+WaJvnaA7aJySz2q/8sLjMb2Mw14KTplHmSwcSpZ/fWJPkUmqw3YTzSWbPJ7OAwRvdYTWF2Wg+yYJ1AdP5Z8CA==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "ip-regex": "^2.1.0", + "is-url": "^1.2.2" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "dev": true, + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "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 + }, + "istanbul-api": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.7.tgz", + "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", + "dev": true, + "requires": { + "async": "^2.1.4", + "fileset": "^2.0.2", + "istanbul-lib-coverage": "^1.2.1", + "istanbul-lib-hook": "^1.2.2", + "istanbul-lib-instrument": "^1.10.2", + "istanbul-lib-report": "^1.1.5", + "istanbul-lib-source-maps": "^1.2.6", + "istanbul-reports": "^1.5.1", + "js-yaml": "^3.7.0", + "mkdirp": "^0.5.1", + "once": "^1.4.0" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + } + } + }, + "istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz", + "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", + "dev": true, + "requires": { + "append-transform": "^0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", + "dev": true, + "requires": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" + } + }, + "istanbul-lib-report": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz", + "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz", + "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz", + "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", + "dev": true, + "requires": { + "handlebars": "^4.0.3" + } + }, + "jest": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-21.2.1.tgz", + "integrity": "sha512-mXN0ppPvWYoIcC+R+ctKxAJ28xkt/Z5Js875padm4GbgUn6baeR5N4Ng6LjatIRpUQDZVJABT7Y4gucFjPryfw==", + "dev": true, + "requires": { + "jest-cli": "^21.2.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "jest-cli": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-21.2.1.tgz", + "integrity": "sha512-T1BzrbFxDIW/LLYQqVfo94y/hhaj1NzVQkZgBumAC+sxbjMROI7VkihOdxNR758iYbQykL2ZOWUBurFgkQrzdg==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "is-ci": "^1.0.10", + "istanbul-api": "^1.1.1", + "istanbul-lib-coverage": "^1.0.1", + "istanbul-lib-instrument": "^1.4.2", + "istanbul-lib-source-maps": "^1.1.0", + "jest-changed-files": "^21.2.0", + "jest-config": "^21.2.1", + "jest-environment-jsdom": "^21.2.1", + "jest-haste-map": "^21.2.0", + "jest-message-util": "^21.2.1", + "jest-regex-util": "^21.2.0", + "jest-resolve-dependencies": "^21.2.0", + "jest-runner": "^21.2.1", + "jest-runtime": "^21.2.1", + "jest-snapshot": "^21.2.1", + "jest-util": "^21.2.1", + "micromatch": "^2.3.11", + "node-notifier": "^5.0.2", + "pify": "^3.0.0", + "slash": "^1.0.0", + "string-length": "^2.0.0", + "strip-ansi": "^4.0.0", + "which": "^1.2.12", + "worker-farm": "^1.3.1", + "yargs": "^9.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "jest-changed-files": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-21.2.0.tgz", + "integrity": "sha512-+lCNP1IZLwN1NOIvBcV5zEL6GENK6TXrDj4UxWIeLvIsIDa+gf6J7hkqsW2qVVt/wvH65rVvcPwqXdps5eclTQ==", + "dev": true, + "requires": { + "throat": "^4.0.0" + } + }, + "jest-config": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-21.2.1.tgz", + "integrity": "sha512-fJru5HtlD/5l2o25eY9xT0doK3t2dlglrqoGpbktduyoI0T5CwuB++2YfoNZCrgZipTwPuAGonYv0q7+8yDc/A==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^21.2.1", + "jest-environment-node": "^21.2.1", + "jest-get-type": "^21.2.0", + "jest-jasmine2": "^21.2.1", + "jest-regex-util": "^21.2.0", + "jest-resolve": "^21.2.0", + "jest-util": "^21.2.1", + "jest-validate": "^21.2.1", + "pretty-format": "^21.2.1" + } + }, + "jest-diff": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-21.2.1.tgz", + "integrity": "sha512-E5fu6r7PvvPr5qAWE1RaUwIh/k6Zx/3OOkZ4rk5dBJkEWRrUuSgbMt2EO8IUTPTd6DOqU3LW6uTIwX5FRvXoFA==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^21.2.0", + "pretty-format": "^21.2.1" + } + }, + "jest-docblock": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", + "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", + "dev": true + }, + "jest-environment-jsdom": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-21.2.1.tgz", + "integrity": "sha512-mecaeNh0eWmzNrUNMWARysc0E9R96UPBamNiOCYL28k7mksb1d0q6DD38WKP7ABffjnXyUWJPVaWRgUOivwXwg==", + "dev": true, + "requires": { + "jest-mock": "^21.2.0", + "jest-util": "^21.2.1", + "jsdom": "^9.12.0" + } + }, + "jest-environment-node": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-21.2.1.tgz", + "integrity": "sha512-R211867wx9mVBVHzrjGRGTy5cd05K7eqzQl/WyZixR/VkJ4FayS8qkKXZyYnwZi6Rxo6WEV81cDbiUx/GfuLNw==", + "dev": true, + "requires": { + "jest-mock": "^21.2.0", + "jest-util": "^21.2.1" + } + }, + "jest-get-type": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-21.2.0.tgz", + "integrity": "sha512-y2fFw3C+D0yjNSDp7ab1kcd6NUYfy3waPTlD8yWkAtiocJdBRQqNoRqVfMNxgj+IjT0V5cBIHJO0z9vuSSZ43Q==", + "dev": true + }, + "jest-haste-map": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-21.2.0.tgz", + "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==", + "dev": true, + "requires": { + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.11", + "jest-docblock": "^21.2.0", + "micromatch": "^2.3.11", + "sane": "^2.0.0", + "worker-farm": "^1.3.1" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "jest-jasmine2": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-21.2.1.tgz", + "integrity": "sha512-lw8FXXIEekD+jYNlStfgNsUHpfMWhWWCgHV7n0B7mA/vendH7vBFs8xybjQsDzJSduptBZJHqQX9SMssya9+3A==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "expect": "^21.2.1", + "graceful-fs": "^4.1.11", + "jest-diff": "^21.2.1", + "jest-matcher-utils": "^21.2.1", + "jest-message-util": "^21.2.1", + "jest-snapshot": "^21.2.1", + "p-cancelable": "^0.3.0" + } + }, + "jest-junit": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-7.0.0.tgz", + "integrity": "sha512-ljUdO0hLyu0A92xk7R2Wet3kj99fmazTo+ZFYQP6b7AGOBxJUj8ZkJWzJ632ajpXko2Y5oNoGR2kvOwiDdu6hg==", + "dev": true, + "requires": { + "jest-validate": "^24.0.0", + "mkdirp": "^0.5.1", + "strip-ansi": "^4.0.0", + "xml": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true + }, + "jest-validate": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", + "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "camelcase": "^5.3.1", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "leven": "^3.1.0", + "pretty-format": "^24.9.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + } + }, + "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" + }, + "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 + } + } + } + } + }, + "jest-matcher-utils": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-21.2.1.tgz", + "integrity": "sha512-kn56My+sekD43dwQPrXBl9Zn9tAqwoy25xxe7/iY4u+mG8P3ALj5IK7MLHZ4Mi3xW7uWVCjGY8cm4PqgbsqMCg==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^21.2.0", + "pretty-format": "^21.2.1" + } + }, + "jest-message-util": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-21.2.1.tgz", + "integrity": "sha512-EbC1X2n0t9IdeMECJn2BOg7buOGivCvVNjqKMXTzQOu7uIfLml+keUfCALDh8o4rbtndIeyGU8/BKfoTr/LVDQ==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "micromatch": "^2.3.11", + "slash": "^1.0.0" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "jest-mock": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-21.2.0.tgz", + "integrity": "sha512-aZDfyVf0LEoABWiY6N0d+O963dUQSyUa4qgzurHR3TBDPen0YxKCJ6l2i7lQGh1tVdsuvdrCZ4qPj+A7PievCw==", + "dev": true + }, + "jest-regex-util": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-21.2.0.tgz", + "integrity": "sha512-BKQ1F83EQy0d9Jen/mcVX7D+lUt2tthhK/2gDWRgLDJRNOdRgSp1iVqFxP8EN1ARuypvDflRfPzYT8fQnoBQFQ==", + "dev": true + }, + "jest-resolve": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-21.2.0.tgz", + "integrity": "sha512-vefQ/Lr+VdNvHUZFQXWtOqHX3HEdOc2MtSahBO89qXywEbUxGPB9ZLP9+BHinkxb60UT2Q/tTDOS6rYc6Mwigw==", + "dev": true, + "requires": { + "browser-resolve": "^1.11.2", + "chalk": "^2.0.1", + "is-builtin-module": "^1.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-21.2.0.tgz", + "integrity": "sha512-ok8ybRFU5ScaAcfufIQrCbdNJSRZ85mkxJ1EhUp8Bhav1W1/jv/rl1Q6QoVQHObNxmKnbHVKrfLZbCbOsXQ+bQ==", + "dev": true, + "requires": { + "jest-regex-util": "^21.2.0" + } + }, + "jest-runner": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-21.2.1.tgz", + "integrity": "sha512-Anb72BOQlHqF/zETqZ2K20dbYsnqW/nZO7jV8BYENl+3c44JhMrA8zd1lt52+N7ErnsQMd2HHKiVwN9GYSXmrg==", + "dev": true, + "requires": { + "jest-config": "^21.2.1", + "jest-docblock": "^21.2.0", + "jest-haste-map": "^21.2.0", + "jest-jasmine2": "^21.2.1", + "jest-message-util": "^21.2.1", + "jest-runtime": "^21.2.1", + "jest-util": "^21.2.1", + "pify": "^3.0.0", + "throat": "^4.0.0", + "worker-farm": "^1.3.1" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "jest-runtime": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-21.2.1.tgz", + "integrity": "sha512-6omlpA3+NSE+rHwD0PQjNEjZeb2z+oRmuehMfM1tWQVum+E0WV3pFt26Am0DUfQkkPyTABvxITRjCUclYgSOsA==", + "dev": true, + "requires": { + "babel-core": "^6.0.0", + "babel-jest": "^21.2.0", + "babel-plugin-istanbul": "^4.0.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "graceful-fs": "^4.1.11", + "jest-config": "^21.2.1", + "jest-haste-map": "^21.2.0", + "jest-regex-util": "^21.2.0", + "jest-resolve": "^21.2.0", + "jest-util": "^21.2.1", + "json-stable-stringify": "^1.0.1", + "micromatch": "^2.3.11", + "slash": "^1.0.0", + "strip-bom": "3.0.0", + "write-file-atomic": "^2.1.0", + "yargs": "^9.0.0" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "jest-snapshot": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-21.2.1.tgz", + "integrity": "sha512-bpaeBnDpdqaRTzN8tWg0DqOTo2DvD3StOemxn67CUd1p1Po+BUpvePAp44jdJ7Pxcjfg+42o4NHw1SxdCA2rvg==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-diff": "^21.2.1", + "jest-matcher-utils": "^21.2.1", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^21.2.1" + } + }, + "jest-util": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-21.2.1.tgz", + "integrity": "sha512-r20W91rmHY3fnCoO7aOAlyfC51x2yeV3xF+prGsJAUsYhKeV670ZB8NO88Lwm7ASu8SdH0S+U+eFf498kjhA4g==", + "dev": true, + "requires": { + "callsites": "^2.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.11", + "jest-message-util": "^21.2.1", + "jest-mock": "^21.2.0", + "jest-validate": "^21.2.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } + } + }, + "jest-validate": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-21.2.1.tgz", + "integrity": "sha512-k4HLI1rZQjlU+EC682RlQ6oZvLrE5SCh3brseQc24vbZTxzT/k/3urar5QMCVgjadmSO7lECeGdc6YxnM3yEGg==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^21.2.0", + "leven": "^2.1.0", + "pretty-format": "^21.2.1" + } + }, + "js-base64": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz", + "integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ==", + "dev": true + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, + "js-md5": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz", + "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdom": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", + "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", + "dev": true, + "requires": { + "abab": "^1.0.3", + "acorn": "^4.0.4", + "acorn-globals": "^3.1.0", + "array-equal": "^1.0.0", + "content-type-parser": "^1.0.1", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": ">= 0.2.37 < 0.3.0", + "escodegen": "^1.6.1", + "html-encoding-sniffer": "^1.0.1", + "nwmatcher": ">= 1.3.9 < 2.0.0", + "parse5": "^1.5.1", + "request": "^2.79.0", + "sax": "^1.2.1", + "symbol-tree": "^3.2.1", + "tough-cookie": "^2.3.2", + "webidl-conversions": "^4.0.0", + "whatwg-encoding": "^1.0.1", + "whatwg-url": "^4.3.0", + "xml-name-validator": "^2.0.1" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + }, + "parse5": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", + "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", + "dev": true + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz", + "integrity": "sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "object.assign": "^4.1.0" + } + }, + "jszip": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz", + "integrity": "sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==", + "dev": true, + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + } + }, + "keymirror": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/keymirror/-/keymirror-0.1.1.tgz", + "integrity": "sha1-kYiJ6hP40KQufFVyUO7nE63JXDU=", + "dev": true + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "requires": { + "immediate": "~3.0.5" + } + }, + "load-img": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-img/-/load-img-1.0.0.tgz", + "integrity": "sha1-CVN0SYk8MqhwkHRkVWbExfqprCY=", + "dev": true + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "lodash-es": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz", + "integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ==", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash.bindall": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.bindall/-/lodash.bindall-4.4.0.tgz", + "integrity": "sha1-p7/Ugro9LnBxad/NyZPrv2w9eZg=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.defaultsdeep": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.0.tgz", + "integrity": "sha1-vsECT4WxvZbL6kBbI8FK1kQ6b4E=", + "dev": true + }, + "lodash.escape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", + "integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=", + "dev": true + }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=", + "dev": true + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", + "dev": true + }, + "lodash.throttle": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.0.1.tgz", + "integrity": "sha1-syEWYu6dgvVpA9BzEmKqqoc6YzA=", + "dev": true, + "requires": { + "lodash.debounce": "^4.0.0" + } + }, + "lodash.unescape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=", + "dev": true + }, + "loglevel": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz", + "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "matchmediaquery": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/matchmediaquery/-/matchmediaquery-0.3.0.tgz", + "integrity": "sha512-u0dlv+VENJ+3YepvwSPBieuvnA6DWfaYa/ctwysAR13y4XLJNyt7bEVKzNj/Nvjo+50d88Pj+xL9xaSo6JmX/w==", + "dev": true, + "requires": { + "css-mediaquery": "^0.1.2" + } + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "memory-fs": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", + "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", + "dev": true + }, + "merge": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", + "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", + "dev": true + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "microee": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/microee/-/microee-0.0.6.tgz", + "integrity": "sha1-oSvbAQNoHosSapsHHrpMRnx4//4=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "dev": true + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "dev": true, + "requires": { + "mime-db": "1.40.0" + } + }, + "mimeparse": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/mimeparse/-/mimeparse-0.1.4.tgz", + "integrity": "sha1-2vsCdSNw/SJgk64xUsJxrwGsJUo=", + "dev": true + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true, + "requires": { + "dom-walk": "^0.1.0" + } + }, + "minilog": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minilog/-/minilog-3.1.0.tgz", + "integrity": "sha1-0tDxiHyjY9Gs8OqG1cTfKTs/tnU=", + "dev": true, + "requires": { + "microee": "0.0.6" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "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" + } + }, + "mkpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz", + "integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=", + "dev": true + }, + "mocha": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz", + "integrity": "sha512-0RVnjg1HJsXY2YFDoTNzcc1NKhYuXKRrBAG2gDygmJJA136Cs2QlRliZG1mA0ap7cuaT30mw16luAeln+4RiNA==", + "dev": true, + "requires": { + "browser-stdout": "1.3.0", + "commander": "2.11.0", + "debug": "3.1.0", + "diff": "3.3.1", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.3", + "he": "1.1.1", + "mkdirp": "0.5.1", + "supports-color": "4.4.0" + }, + "dependencies": { + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "diff": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", + "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", + "dev": 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.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "supports-color": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "dev": true, + "requires": { + "has-flag": "^2.0.0" + } + } + } + }, + "moo": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.4.3.tgz", + "integrity": "sha512-gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw==", + "dev": true + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "nearley": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.19.0.tgz", + "integrity": "sha512-2v52FTw7RPqieZr3Gth1luAXZR7Je6q3KaDHY5bjl/paDUdMu35fZ8ICNgiYJRr3tf3NMvIQQR1r27AvEr9CRA==", + "dev": true, + "requires": { + "commander": "^2.19.0", + "moo": "^0.4.3", + "railroad-diagrams": "^1.0.0", + "randexp": "0.4.6", + "semver": "^5.4.1" + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "nets": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nets/-/nets-3.2.0.tgz", + "integrity": "sha1-1RH7q3rxHaAT8huX7pF0fTOFLTg=", + "dev": true, + "requires": { + "request": "^2.65.0", + "xhr": "^2.1.0" + } + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dev": true, + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-notifier": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", + "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, + "node-releases": { + "version": "1.1.35", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.35.tgz", + "integrity": "sha512-JGcM/wndCN/2elJlU0IGdVEJQQnJwsLbgPCFd2pY7V0mxf17bZ0Gb/lgOtL29ZQhvEX5shnVhxQyZz3ex94N8w==", + "dev": true, + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nwmatcher": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", + "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", + "dev": true + }, + "object-is": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", + "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.entries": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", + "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.fromentries": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.1.tgz", + "integrity": "sha512-PUQv8Hbg3j2QX0IQYv3iAGCbGcu4yY4KQ92/dhA4sFSixBmSmp13UpDLs6jGK8rBtbmhNNIK99LD2k293jpiGA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.15.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "omggif": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.9.tgz", + "integrity": "sha1-3LcCTazVDFK00wPwSALJHAV8dl8=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "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 + }, + "output-file-sync": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", + "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "is-plain-obj": "^1.1.0", + "mkdirp": "^0.5.1" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true + }, + "papaparse": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.1.1.tgz", + "integrity": "sha512-KPkW4GNQxunmYTeJIjHFrvilcNuHBWrfgbyvmagEmfGOA4hnP1WIkPbv4yABhj1Nam3as4w+7MBiI27BntwqVg==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-color": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz", + "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=", + "dev": true, + "requires": { + "color-convert": "~0.5.0" + }, + "dependencies": { + "color-convert": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=", + "dev": true + } + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "parse-headers": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz", + "integrity": "sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==", + "dev": true, + "requires": { + "for-each": "^0.3.3", + "string.prototype.trim": "^1.1.2" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "portfinder": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", + "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-import": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz", + "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "postcss-value-parser": "^3.2.3", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", + "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "dev": true, + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true, + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-simple-vars": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-simple-vars/-/postcss-simple-vars-5.0.2.tgz", + "integrity": "sha512-xWIufxBoINJv6JiLb7jl5oElgp+6puJwvT5zZHliUSydoLz4DADRB3NDDsYgfKVwojn4TDLiseoC65MuS8oGGg==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "postcss-value-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", + "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "^2.0.1", + "utila": "~0.4" + } + }, + "pretty-format": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-21.2.1.tgz", + "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + } + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dev": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "prop-types-exact": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.0.tgz", + "integrity": "sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA==", + "dev": true, + "requires": { + "has": "^1.0.3", + "object.assign": "^4.1.0", + "reflect.ownkeys": "^0.2.0" + } + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", + "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", + "dev": true + }, + "q-io": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/q-io/-/q-io-1.13.2.tgz", + "integrity": "sha1-7qEw1IHdteGqG8WmaFX3OR0G8AM=", + "dev": true, + "requires": { + "collections": "^0.2.0", + "mime": "^1.2.11", + "mimeparse": "^0.1.4", + "q": "^1.0.1", + "qs": "^1.2.1", + "url2": "^0.0.0" + }, + "dependencies": { + "qs": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-1.2.2.tgz", + "integrity": "sha1-GbV/8k3CqZzh+L32r82ln472H4g=", + "dev": true + } + } + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "dev": true + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dev": true, + "requires": { + "performance-now": "^2.1.0" + } + }, + "railroad-diagrams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=", + "dev": true + }, + "randexp": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", + "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", + "dev": true, + "requires": { + "discontinuous-range": "1.0.0", + "ret": "~0.1.10" + } + }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "dev": true, + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + } + } + }, + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", + "dev": true + }, + "react": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.2.0.tgz", + "integrity": "sha512-ZmIomM7EE1DvPEnSFAHZn9Vs9zJl5A9H7el0EGTE6ZbW9FKe/14IYAlPbC8iH25YarEQxZL+E8VW7Mi7kfQrDQ==", + "dev": true, + "requires": { + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" + } + }, + "react-contextmenu": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/react-contextmenu/-/react-contextmenu-2.9.4.tgz", + "integrity": "sha512-ma4YQw4J7JNv8L8mMVd1NHHbvH3+gaK/rQ6FC5Tft7OCUweKi7PHqHEE0fDF2009FLSGoV5JnjPnTTEyThqaJg==", + "dev": true, + "requires": { + "classnames": "^2.2.5", + "object-assign": "^4.1.0" + } + }, + "react-dom": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.2.0.tgz", + "integrity": "sha512-zpGAdwHVn9K0091d+hr+R0qrjoJ84cIBFL2uU60KvWBPfZ7LPSrfqviTxGHWN0sjPZb2hxWzMexwrvJdKePvjg==", + "dev": true, + "requires": { + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" + } + }, + "react-draggable": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-3.0.5.tgz", + "integrity": "sha512-qo76q6+pafyGllbmfc+CgWfOkwY9v3UoJa3jp6xG2vdsRY8uJTN1kqNievLj0uVNjEqCvZ0OFiEBxlAJNj3OTg==", + "dev": true, + "requires": { + "classnames": "^2.2.5", + "prop-types": "^15.6.0" + } + }, + "react-ga": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/react-ga/-/react-ga-2.5.3.tgz", + "integrity": "sha512-25wvPv1PVLDLhw1gEYP33h0V2sJHahKMfUCAxhq8JPYmNQwx1fcjJAkJk+WmSqGN93lHLhExDkxy3SQizQnx3A==", + "dev": true, + "requires": { + "prop-types": "^15.6.0", + "react": "^15.6.2 || ^16.0" + } + }, + "react-intl": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-2.9.0.tgz", + "integrity": "sha512-27jnDlb/d2A7mSJwrbOBnUgD+rPep+abmoJE511Tf8BnoONIAUehy/U1zZCHGO17mnOwMWxqN4qC0nW11cD6rA==", + "dev": true, + "requires": { + "hoist-non-react-statics": "^3.3.0", + "intl-format-cache": "^2.0.5", + "intl-messageformat": "^2.1.0", + "intl-relativeformat": "^2.1.0", + "invariant": "^2.1.1" + } + }, + "react-is": { + "version": "16.10.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.10.2.tgz", + "integrity": "sha512-INBT1QEgtcCCgvccr5/86CfD71fw9EPmDxgiJX4I2Ddr6ZsV6iFXsuby+qWJPtmNuMY0zByTsG4468P7nHuNWA==", + "dev": true + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "dev": true + }, + "react-modal": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.9.1.tgz", + "integrity": "sha512-k+TUkhGWpIVHLsEyjNmlyOYL0Uz03fNZvlkhCImd1h+6fhNgTi6H6jexVXPVhD2LMMDzJyfugxMN+APN/em+eQ==", + "dev": true, + "requires": { + "exenv": "^1.2.0", + "prop-types": "^15.5.10", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" + } + }, + "react-popover": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/react-popover/-/react-popover-0.5.10.tgz", + "integrity": "sha512-5SYDTfncywSH00I70oHd4gFRUR8V0rJ4sRADSI/P6G0RVXp9jUgaWloJ0Bk+SFnjpLPuipTKuzQNNd2CTs5Hrw==", + "dev": true, + "requires": { + "css-vendor": "^0.3.1", + "debug": "^2.6.8", + "lodash.throttle": "^3.0.3", + "prop-types": "^15.5.10" + }, + "dependencies": { + "lodash.debounce": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-3.1.1.tgz", + "integrity": "sha1-gSIRw3ipTMKdWqTjNGzwv846ffU=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0" + } + }, + "lodash.throttle": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-3.0.4.tgz", + "integrity": "sha1-vE9HH7Mo5Nb9xt8rPTyvET8Pick=", + "dev": true, + "requires": { + "lodash.debounce": "^3.0.0" + } + } + } + }, + "react-redux": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz", + "integrity": "sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==", + "dev": true, + "requires": { + "hoist-non-react-statics": "^2.5.0", + "invariant": "^2.0.0", + "lodash": "^4.17.5", + "lodash-es": "^4.17.5", + "loose-envify": "^1.1.0", + "prop-types": "^15.6.0" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==", + "dev": true + } + } + }, + "react-responsive": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/react-responsive/-/react-responsive-5.0.0.tgz", + "integrity": "sha512-oEimZ0FTCC3/pjGDEBHOz06nWbBNDIbMGOdRYp6K9SBUmrqgNAX77hTiqvmRQeLyI97zz4F4kiaFRxFspDxE+w==", + "dev": true, + "requires": { + "hyphenate-style-name": "^1.0.0", + "matchmediaquery": "^0.3.0", + "prop-types": "^15.6.1" + } + }, + "react-style-proptype": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-style-proptype/-/react-style-proptype-3.2.2.tgz", + "integrity": "sha512-ywYLSjNkxKHiZOqNlso9PZByNEY+FTyh3C+7uuziK0xFXu9xzdyfHwg4S9iyiRRoPCR4k2LqaBBsWVmSBwCWYQ==", + "dev": true, + "requires": { + "prop-types": "^15.5.4" + } + }, + "react-tabs": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-2.3.0.tgz", + "integrity": "sha512-pYaefgVy76/36AMEP+B8YuVVzDHa3C5UFZ3REU78zolk0qMxEhKvUFofvDCXyLZwf0RZjxIfiwok1BEb18nHyA==", + "dev": true, + "requires": { + "classnames": "^2.2.0", + "prop-types": "^15.5.0" + } + }, + "react-test-renderer": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.2.0.tgz", + "integrity": "sha512-Kd4gJFtpNziR9ElOE/C23LeflKLZPRpNQYWP3nQBY43SJ5a+xyEGSeMrm2zxNKXcnCbBS/q1UpD9gqd5Dv+rew==", + "dev": true, + "requires": { + "fbjs": "^0.8.16", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" + } + }, + "react-tooltip": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-3.8.0.tgz", + "integrity": "sha512-Uj/vVd0uGuqwTkWeRjKS56T2iwOSvsSMbjqTK7AseHZEMND+WCXXUajaF7+ZsJWTZgnpeT9kBnaBFhchzeDTbw==", + "dev": true, + "requires": { + "classnames": "^2.2.5", + "prop-types": "^15.6.0" + } + }, + "react-virtualized": { + "version": "9.20.1", + "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.20.1.tgz", + "integrity": "sha512-xIWxBsyNAjceqD3hsE0nw5TcDVxKbIepsHhvS2XneHmNz0KlKxdLdGBmGZBM9ZesEmbZ5EO0Sw70TB1MeCmpbQ==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "classnames": "^2.2.3", + "dom-helpers": "^2.4.0 || ^3.0.0", + "loose-envify": "^1.3.0", + "prop-types": "^15.6.0", + "react-lifecycles-compat": "^3.0.4" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "requires": { + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "dependencies": { + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "redux": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", + "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", + "dev": true, + "requires": { + "lodash": "^4.2.1", + "lodash-es": "^4.2.1", + "loose-envify": "^1.1.0", + "symbol-observable": "^1.0.3" + } + }, + "redux-mock-store": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/redux-mock-store/-/redux-mock-store-1.5.3.tgz", + "integrity": "sha512-ryhkkb/4D4CUGpAV2ln1GOY/uh51aczjcRz9k2L2bPx/Xja3c5pSGJJPyR25GNVRXtKIExScdAgFdiXp68GmJA==", + "dev": true, + "requires": { + "lodash.isplainobject": "^4.0.6" + } + }, + "redux-throttle": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/redux-throttle/-/redux-throttle-0.1.1.tgz", + "integrity": "sha1-QwcFc/AzHRKuFvrmVyrZ1/y3Ya4=", + "dev": true, + "requires": { + "lodash.throttle": "4.0.1" + } + }, + "reflect.ownkeys": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz", + "integrity": "sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=", + "dev": true + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "dev": true, + "requires": { + "private": "^0.1.6" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + } + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" + } + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", + "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", + "dev": true, + "requires": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "strip-ansi": "^3.0.0", + "utila": "^0.4.0" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "dependencies": { + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rst-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", + "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=", + "dev": true, + "requires": { + "lodash.flattendeep": "^4.4.0", + "nearley": "^2.7.10" + } + }, + "rsvp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", + "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", + "dev": true + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sane": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", + "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "scratch-audio": { + "version": "0.1.0-prerelease.20190925183642", + "resolved": "https://registry.npmjs.org/scratch-audio/-/scratch-audio-0.1.0-prerelease.20190925183642.tgz", + "integrity": "sha512-cvnNawIThkIKyMZdo+cRmYO+ndCG9dcQeaG8rTgok2iSMvG510OUs3DBnFz/GUncu+OryT1VKdeusEfwKf/+ow==", + "dev": true, + "requires": { + "audio-context": "1.0.1", + "minilog": "^3.0.1", + "startaudiocontext": "1.2.1" + } + }, + "scratch-blocks": { + "version": "0.1.0-prerelease.1578322100", + "resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.1578322100.tgz", + "integrity": "sha512-36CNHELBehHX0pjyVLrkP7vqVhpkvBONDLTKx1LoYZhVXtTvP+Vknd6iKDM3gUzzAOMdpUUxVO6e/XBHz8+i1w==", + "dev": true, + "requires": { + "exports-loader": "0.6.3", + "imports-loader": "0.6.5" + } + }, + "scratch-l10n": { + "version": "3.7.20200108141814", + "resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.7.20200108141814.tgz", + "integrity": "sha512-96XEoJGqmR3f/394hcyBjHdyc3VNapaU6hQ+3/4TAvfD/8keYsJuSVkHHMD+UpodHKkkSTyQZIjbDKc9T60UMQ==", + "dev": true, + "requires": { + "@babel/cli": "^7.1.2", + "@babel/core": "^7.1.2", + "babel-plugin-react-intl": "^3.0.1", + "transifex": "1.6.6" + } + }, + "scratch-paint": { + "version": "0.2.0-prerelease.20200109073728", + "resolved": "https://registry.npmjs.org/scratch-paint/-/scratch-paint-0.2.0-prerelease.20200109073728.tgz", + "integrity": "sha512-PJTYShD5gl4OReRN+ZOTjSFeEuarO5YV10bbmw1BSn/pAnuEYU2dglgymNSBiGXunYaDYyaPgsJldzcnydSxHQ==", + "dev": true, + "requires": { + "@scratch/paper": "0.11.20190729152410", + "classnames": "2.2.5", + "keymirror": "0.1.1", + "lodash.bindall": "4.4.0", + "lodash.omit": "4.5.0", + "minilog": "3.1.0", + "parse-color": "1.0.0", + "prop-types": "^15.5.10", + "scratch-svg-renderer": "0.2.0-prerelease.20200109070519" + }, + "dependencies": { + "classnames": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", + "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0=", + "dev": true + } + } + }, + "scratch-render-fonts": { + "version": "1.0.0-prerelease.20180906193204", + "resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.0-prerelease.20180906193204.tgz", + "integrity": "sha512-tVDUTKO/gJnEv94HTyBWW/e/JwsZIslByzehuXQ7QvrngEh28gvHaCRwKMX/cqprizu4TFqvfx4Xh2n9e5XekA==", + "dev": true, + "requires": { + "base64-loader": "1.0.0" + } + }, + "scratch-storage": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/scratch-storage/-/scratch-storage-1.3.2.tgz", + "integrity": "sha512-Xi169m/k6yYJU7aXTLgIxWjIumYamMSkRdSQiQ39p6kQeniGzm8ncBbJuGOs1UDh0Y3b6g1DrqX24YaSQL201w==", + "dev": true, + "requires": { + "arraybuffer-loader": "^1.0.3", + "base64-js": "1.3.0", + "js-md5": "0.7.3", + "minilog": "3.1.0", + "nets": "3.2.0", + "text-encoding": "0.7.0", + "worker-loader": "^2.0.0" + }, + "dependencies": { + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "dev": true + } + } + }, + "scratch-svg-renderer": { + "version": "0.2.0-prerelease.20200109070519", + "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-0.2.0-prerelease.20200109070519.tgz", + "integrity": "sha512-THdZW9gA8mFKvDImHDrWWhvyOymUW3JgMBjpPsaFk2URl1kfNIRQIndfwto2B8a8YbtuyKSv6CWW8Nu+VzBZVA==", + "dev": true, + "requires": { + "base64-js": "1.2.1", + "base64-loader": "1.0.0", + "minilog": "3.1.0", + "scratch-render-fonts": "1.0.0-prerelease.20180906193204", + "transformation-matrix": "1.15.0" + }, + "dependencies": { + "base64-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", + "dev": true + } + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selenium-webdriver": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", + "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", + "dev": true, + "requires": { + "jszip": "^3.1.3", + "rimraf": "^2.5.4", + "tmp": "0.0.30", + "xml2js": "^0.4.17" + }, + "dependencies": { + "tmp": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.1" + } + } + } + }, + "selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "dev": true, + "requires": { + "node-forge": "0.9.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "should": { + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", + "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", + "dev": true, + "requires": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", + "dev": true, + "requires": { + "should-type": "^1.4.0" + } + }, + "should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", + "dev": true, + "requires": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", + "dev": true + }, + "should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "dev": true, + "requires": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "should-util": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "dev": true, + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "spdy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", + "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "startaudiocontext": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/startaudiocontext/-/startaudiocontext-1.2.1.tgz", + "integrity": "sha1-RtLKtUYseRGArMciPju7wycshZU=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "dev": true, + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.trim": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz", + "integrity": "sha512-9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.13.0", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimleft": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", + "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", + "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "style-loader": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", + "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-to-image": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/svg-to-image/-/svg-to-image-1.1.3.tgz", + "integrity": "sha1-1v9NiDyo9+P3krQrIyixXL4vsPM=", + "dev": true, + "requires": { + "load-img": "^1.0.0" + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tapable": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", + "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", + "dev": true + }, + "tcp-port-used": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.1.tgz", + "integrity": "sha512-rwi5xJeU6utXoEIiMvVBMc9eJ2/ofzB+7nLOdnZuFTmNCLqRiQh2sMG9MqCxHU/69VC/Fwp5dV9306Qd54ll1Q==", + "dev": true, + "requires": { + "debug": "4.1.0", + "is2": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "terser": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.8.tgz", + "integrity": "sha512-otmIRlRVmLChAWsnSFNO0Bfk6YySuBp6G9qrHiJwlLDd4mxe2ta4sjI7TzIR+W1nBMjilzrMcPOz9pSusgx3hQ==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", + "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "test-exclude": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", + "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "text-encoding": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz", + "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "to-style": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/to-style/-/to-style-1.3.3.tgz", + "integrity": "sha1-Y6K3Cm9KfU/cLtV6C+TnI1y2aZw=", + "dev": true + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "transformation-matrix": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/transformation-matrix/-/transformation-matrix-1.15.0.tgz", + "integrity": "sha512-808EqPQbmUD6/IMpWUXLOZcblCHf9xaiB+un0RYNNE9+6VRjoiw6Be8R32tZ0ips1PX/15tlnA2Ev4UUgg827Q==", + "dev": true + }, + "transifex": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/transifex/-/transifex-1.6.6.tgz", + "integrity": "sha512-uHeRvhfLfZN+JdH+X0zR1jkQAbMGkgExZgcXm31CzaVVd4kq98YaPr4MCgCU0LwA7cgOuB97d2HZQ/WikOAxlg==", + "dev": true, + "requires": { + "commander": "^2.9.0", + "lodash": "^4.17.1", + "mkpath": "^1.0.0", + "mocha": "^4.0.0", + "request": "^2.34.0", + "should": "^13.0.0" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": 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 + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.20", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz", + "integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw==", + "dev": true + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "uglifyjs-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + } + } + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url2": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/url2/-/url2-0.0.0.tgz", + "integrity": "sha1-Tqq9HVw6yQ1iq0SFyZhCKGWgSxo=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vm-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watch": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", + "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", + "dev": true, + "requires": { + "exec-sh": "^0.2.0", + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "wav-encoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/wav-encoder/-/wav-encoder-1.3.0.tgz", + "integrity": "sha512-FXJdEu2qDOI+wbVYZpu21CS1vPEg5NaxNskBr4SaULpOJMrLE6xkH8dECa7PiS+ZoeyvP7GllWUAxPN3AvFSEw==", + "dev": true + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "weak-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.0.tgz", + "integrity": "sha1-tm5Wqd8L0lp2u/G1FNsSkIBhSjc=", + "dev": true + }, + "web-audio-test-api": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/web-audio-test-api/-/web-audio-test-api-0.5.2.tgz", + "integrity": "sha1-weJNIc7QYD8aSVJyoetmnbKIc/o=", + "dev": true + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "webpack": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.0.tgz", + "integrity": "sha512-yNV98U4r7wX1VJAj5kyMsu36T8RPPQntcb5fJLOsMz/pt/WrKC0Vp1bAlqPLkA1LegSwQwf6P+kAbyhRKVQ72g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.1", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + } + } + }, + "webpack-cli": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.9.tgz", + "integrity": "sha512-xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "yargs": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.1.tgz", + "integrity": "sha512-AGG4+XrrXn4rbZUueyNrQgO4KGnol+0wm3MPdqGLmmA+NofZl3blZQKxZ9BND6RDNuvAK9OMYClhjOSnxpWRoA==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.2.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.6", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.25", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.4.0", + "spdy": "^4.0.1", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "12.0.5" + }, + "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 + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "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" + } + } + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==", + "dev": true + }, + "whatwg-url": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", + "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + } + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "worker-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-2.0.0.tgz", + "integrity": "sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==", + "dev": true, + "requires": { + "loader-utils": "^1.0.0", + "schema-utils": "^0.4.0" + }, + "dependencies": { + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xhr": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", + "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", + "dev": true, + "requires": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "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.1" + } + }, + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "dev": true + } + } + }, + "xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", + "dev": true + }, + "xml-name-validator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", + "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", + "dev": true + }, + "xml2js": { + "version": "0.4.22", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.22.tgz", + "integrity": "sha512-MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw==", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "util.promisify": "~1.0.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", + "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" + }, + "dependencies": { + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "dev": true, + "requires": { + "fd-slicer": "~1.0.1" + } + } + } } diff --git a/packages/scratch-render/package-lock.json b/packages/scratch-render/package-lock.json index d4048a952..7383b4af5 100644 --- a/packages/scratch-render/package-lock.json +++ b/packages/scratch-render/package-lock.json @@ -1,8 +1,15705 @@ { "name": "scratch-render", "version": "0.1.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "scratch-render", + "version": "0.1.0", + "license": "BSD-3-Clause", + "dependencies": { + "grapheme-breaker": "0.3.2", + "hull.js": "0.2.10", + "ify-loader": "1.0.4", + "linebreak": "0.3.0", + "minilog": "3.1.0", + "raw-loader": "^0.5.1", + "scratch-storage": "^1.0.0", + "scratch-svg-renderer": "0.2.0-prerelease.20200109070519", + "twgl.js": "4.4.0" + }, + "devDependencies": { + "babel-core": "^6.23.1", + "babel-eslint": "^8.2.1", + "babel-loader": "^7.1.4", + "babel-polyfill": "^6.22.0", + "babel-preset-env": "^1.6.1", + "chromeless": "^1.5.1", + "copy-webpack-plugin": "^4.5.1", + "docdash": "^0.4.0", + "eslint": "^4.6.1", + "eslint-config-scratch": "^5.0.0", + "gh-pages": "^1.0.0", + "jsdoc": "^3.5.5", + "json": "^9.0.4", + "tap": "^11.0.0", + "travis-after-all": "^1.4.4", + "uglifyjs-webpack-plugin": "^1.2.5", + "webpack": "^4.8.0", + "webpack-cli": "^3.1.0", + "webpack-dev-server": "^3.1.4" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz", + "integrity": "sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g==", + "dev": true, + "dependencies": { + "@babel/highlight": "7.0.0-beta.44" + } + }, + "node_modules/@babel/generator": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.44.tgz", + "integrity": "sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ==", + "dev": true, + "dependencies": { + "@babel/types": "7.0.0-beta.44", + "jsesc": "^2.5.1", + "lodash": "^4.2.0", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "node_modules/@babel/generator/node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz", + "integrity": "sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "7.0.0-beta.44", + "@babel/template": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz", + "integrity": "sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw==", + "dev": true, + "dependencies": { + "@babel/types": "7.0.0-beta.44" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz", + "integrity": "sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA==", + "dev": true, + "dependencies": { + "@babel/types": "7.0.0-beta.44" + } + }, + "node_modules/@babel/highlight": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.44.tgz", + "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==", + "dev": true, + "dependencies": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz", + "integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.44.tgz", + "integrity": "sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "lodash": "^4.2.0" + } + }, + "node_modules/@babel/template/node_modules/babylon": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", + "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==", + "dev": true, + "bin": { + "babylon": "bin/babylon.js" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.44.tgz", + "integrity": "sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.0.0-beta.44", + "@babel/generator": "7.0.0-beta.44", + "@babel/helper-function-name": "7.0.0-beta.44", + "@babel/helper-split-export-declaration": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "debug": "^3.1.0", + "globals": "^11.1.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + } + }, + "node_modules/@babel/traverse/node_modules/babylon": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", + "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==", + "dev": true, + "bin": { + "babylon": "bin/babylon.js" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@babel/types": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.44.tgz", + "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@babel/types/node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true + }, + "node_modules/@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "dev": true, + "dependencies": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "13.1.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.6.tgz", + "integrity": "sha512-Jg1F+bmxcpENHP23sVKkNuU3uaxPnsBMW0cLjleiikFKomJQbsn0Cqk2yDvQArqzZN6ABfBkZ0To7pQ8sLdWDg==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dependencies": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==" + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "dependencies": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==" + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "dependencies": { + "acorn": "^3.0.4" + } + }, + "node_modules/acorn-jsx/node_modules/acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "dev": true, + "optional": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arraybuffer-loader": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/arraybuffer-loader/-/arraybuffer-loader-1.0.8.tgz", + "integrity": "sha512-CwUVCcxCgcgZUu2w741OV6Xj1tvRVQebq22RCyGXiLgJOJ4e4M/59EPYdtK2MLfIN28t1TDvuh2ojstNq3Kh5g==", + "dependencies": { + "loader-utils": "^1.1.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "dependencies": { + "lodash": "^4.17.10" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/aws-sdk": { + "version": "2.601.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.601.0.tgz", + "integrity": "sha512-i8ND3Hn0zjuwyau47io8Uyvbeb6dnOYbC6k34u3DvqH3I/kFDgDAme6L58LUzSHAPDWhUDjNXpScmMsGZVDWrw==", + "dev": true, + "dependencies": { + "buffer": "4.9.1", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.15.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "uuid": "3.3.2", + "xml2js": "0.4.19" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/aws-sdk/node_modules/uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz", + "integrity": "sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==" + }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "node_modules/babel-core/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/babel-core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-eslint": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.2.6.tgz", + "integrity": "sha512-aCdHjhzcILdP8c9lej7hvXKvQieyRt20SF102SIGyY4cUIiw6UaAtK4j2o3dXX74jEmy0TJ0CEhv4fTIM3SzcA==", + "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.0.0-beta.44", + "@babel/traverse": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-eslint/node_modules/babylon": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", + "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==", + "dev": true, + "bin": { + "babylon": "bin/babylon.js" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "dependencies": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "node_modules/babel-generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "dependencies": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "dependencies": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "dependencies": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "dependencies": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-loader": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz", + "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "babel-core": "6", + "webpack": "2 || 3 || 4" + } + }, + "node_modules/babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "node_modules/babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "node_modules/babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "node_modules/babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "dependencies": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "dependencies": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "dependencies": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "dependencies": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "dependencies": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "dependencies": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "dependencies": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "dependencies": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "dependencies": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "dependencies": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "node_modules/babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "dependencies": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.10.0" + } + }, + "node_modules/babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" + } + }, + "node_modules/babel-polyfill/node_modules/regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + }, + "node_modules/babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", + "dev": true, + "dependencies": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" + } + }, + "node_modules/babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "dependencies": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true, + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/base64-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64-loader/-/base64-loader-1.0.0.tgz", + "integrity": "sha1-5TC62I6QbdKh+tCvLZ5oP6i9kqg=" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bind-obj-methods": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-2.0.0.tgz", + "integrity": "sha512-3/qRXczDi2Cdbz6jE+W3IflJOutRVica8frpBn14de1mBOkzDo+6tY33kNhvkw54Kn3PzRRD2VnGbGPcTAk4sw==", + "dev": true + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "node_modules/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/brfs": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", + "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", + "dependencies": { + "quote-stream": "^1.0.1", + "resolve": "^1.1.5", + "static-module": "^2.2.0", + "through2": "^2.0.0" + }, + "bin": { + "brfs": "bin/cmd.js" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dependencies": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dependencies": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserify-zlib/node_modules/pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==" + }, + "node_modules/browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + }, + "bin": { + "browserslist": "cli.js" + } + }, + "node_modules/buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "deprecated": "This version of 'buffer' is out-of-date. You must update to v4.9.2 or newer", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "node_modules/buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "node_modules/buffer/node_modules/base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "dev": true, + "dependencies": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/callback-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/callback-stream/-/callback-stream-1.1.0.tgz", + "integrity": "sha1-RwGlEmbwbgbqpx/BcjOCLYdfSQg=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "> 1.0.0 < 3.0.0" + } + }, + "node_modules/caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "dependencies": { + "callsites": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001020", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001020.tgz", + "integrity": "sha512-yWIvwA68wRHKanAVS1GjN8vajAv7MBFshullKCeq/eKpK7pJBVDgFFEqvgWTkcP2+wIDeQGYFRXECjKZnLkUjA==", + "dev": true + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "node_modules/catharsis": { + "version": "0.8.11", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.11.tgz", + "integrity": "sha512-a+xUyMV7hD1BrDQA/3iPV7oc+6W26BgVJO05PGEoatMyIuPScQKsde6i3YorWX1qs+AZjnJ18NqdKoCtKiNh1g==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/chokidar/node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" + }, + "node_modules/chrome-launcher": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.10.7.tgz", + "integrity": "sha512-IoQLp64s2n8OQuvKZwt77CscVj3UlV2Dj7yZtd1EBMld9mSdGcsGy9fN5hd/r4vJuWZR09it78n1+A17gB+AIQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "is-wsl": "^1.1.0", + "lighthouse-logger": "^1.0.0", + "mkdirp": "0.5.1", + "rimraf": "^2.6.1" + } + }, + "node_modules/chrome-remote-interface": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/chrome-remote-interface/-/chrome-remote-interface-0.25.7.tgz", + "integrity": "sha512-6zI6LbR2IiGmduFZededaerEr9hHXabxT/L+fRrdq65a0CfyLMzpq0BKuZiqN0Upqcacsb6q2POj7fmobwBsEA==", + "dev": true, + "dependencies": { + "commander": "2.11.x", + "ws": "3.3.x" + }, + "bin": { + "chrome-remote-interface": "bin/client.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chrome-remote-interface/node_modules/commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, + "node_modules/chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/chromeless": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/chromeless/-/chromeless-1.5.2.tgz", + "integrity": "sha512-lxQHERZOP1aD+8Uvj+P4xM72e4aNous5igOvs+w6gRrcOZ6oIuYaSTJWMuhnTSgQzhg0APsAsIQq+a+k/2Yvow==", + "dev": true, + "dependencies": { + "aws-sdk": "^2.177.0", + "bluebird": "^3.5.1", + "chrome-launcher": "^0.10.0", + "chrome-remote-interface": "^0.25.5", + "cuid": "^2.1.0", + "form-data": "^2.3.1", + "got": "^8.0.0", + "mqtt": "^2.15.0" + }, + "engines": { + "node": ">= 6.10.0" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "deprecated": "CircularJSON is in maintenance only, flatted is its successor.", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-yaml-object": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", + "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz", + "integrity": "sha1-0SG7roYNmZKj1Re6lvVliOR8Z4E=", + "engines": { + "node": ">= 0.6.x" + } + }, + "node_modules/commist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/commist/-/commist-1.1.0.tgz", + "integrity": "sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==", + "dev": true, + "dependencies": { + "leven": "^2.1.0", + "minimist": "^1.1.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "node_modules/component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "node_modules/content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", + "dev": true, + "dependencies": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "node_modules/coveralls": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.9.tgz", + "integrity": "sha512-nNBg3B1+4iDox5A5zqHKzUTiwl2ey4k2o0NEcVZYvl+GOSJdKBj4AJGKLv6h3SvWch7tABHePAQOSZWM9E2hMg==", + "dev": true, + "dependencies": { + "js-yaml": "^3.13.1", + "lcov-parse": "^1.0.0", + "log-driver": "^1.2.7", + "minimist": "^1.2.0", + "request": "^2.88.0" + }, + "bin": { + "coveralls": "bin/coveralls.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/cuid": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/cuid/-/cuid-2.1.8.tgz", + "integrity": "sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==", + "dev": true + }, + "node_modules/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "dependencies": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "node_modules/default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/del/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true + }, + "node_modules/diff": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", + "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "dependencies": { + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "node_modules/dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "dependencies": { + "buffer-indexof": "^1.0.0" + } + }, + "node_modules/docdash": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/docdash/-/docdash-0.4.0.tgz", + "integrity": "sha1-BcOlDYMYmYFpnuDAdtOjlQ237AA=", + "dev": true + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.3.332", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.332.tgz", + "integrity": "sha512-AP2HkLhfSOIxP7gDjlyZ4ywGWIcxRMZoU9+JriuVkQe2pSLDdWBsE6+eI6BQOqun1dohLrUTOPHsQLLhhFA7Eg==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/end-of-stream/node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-abstract/node_modules/object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "dependencies": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "node_modules/es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + } + }, + "node_modules/es6-set/node_modules/es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "dependencies": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "dev": true, + "dependencies": { + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", + "table": "4.0.2", + "text-table": "~0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-scratch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-scratch/-/eslint-config-scratch-5.1.0.tgz", + "integrity": "sha512-JQMxERL3eo0TMy87NZFm6yS0i2XOMplffKz9CD/2ta2i/+3FTgajxzF9n7R7vi9C+GMLSTSLZJ5X90tINuAhjg==", + "dev": true, + "optionalDependencies": { + "eslint-plugin-react": ">=7.14.2" + }, + "peerDependencies": { + "babel-eslint": ">=8.0.1", + "eslint": ">=4.0.0" + } + }, + "node_modules/eslint-plugin-eslint-plugin": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-2.2.0.tgz", + "integrity": "sha512-X5+NT9a2GuwWyb3sHJdEEe6aD/30Fhi3/9XCmYHe/OSnWKUhmKOxFTfFM1AXZfJXjAoX7811bnoLI3fZr5AX5Q==", + "dev": true, + "optional": true, + "engines": { + "node": "^6.14.0 || ^8.10.0 || >=9.10.0" + }, + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.17.0.tgz", + "integrity": "sha512-ODB7yg6lxhBVMeiH1c7E95FLD4E/TwmFjltiU+ethv7KPdCwgiFuOZg9zNRHyufStTDLl/dEFqI2Q1VPmCd78A==", + "dev": true, + "optional": true, + "dependencies": { + "array-includes": "^3.0.3", + "doctrine": "^2.1.0", + "eslint-plugin-eslint-plugin": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.3", + "object.entries": "^1.1.0", + "object.fromentries": "^2.0.1", + "object.values": "^1.1.0", + "prop-types": "^15.7.2", + "resolve": "^1.13.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "dependencies": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint/node_modules/fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "node_modules/eslint/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "node_modules/eslint/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "dependencies": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "dependencies": { + "estraverse": "^4.0.0" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dependencies": { + "estraverse": "^4.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "dev": true + }, + "node_modules/events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/events-to-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", + "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", + "dev": true + }, + "node_modules/eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "dev": true, + "dependencies": { + "original": "^1.0.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/execa/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "node_modules/express/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "dependencies": { + "type": "^2.0.0" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", + "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==", + "dev": true + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "dependencies": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/falafel": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", + "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", + "dependencies": { + "acorn": "^5.0.0", + "foreach": "^2.0.5", + "isarray": "0.0.1", + "object-keys": "^1.0.6" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/falafel/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "node_modules/faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" + }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "dependencies": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "node_modules/filename-reserved-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", + "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filenamify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", + "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", + "dev": true, + "dependencies": { + "filename-reserved-regex": "^1.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filenamify-url": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", + "integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=", + "dev": true, + "dependencies": { + "filenamify": "^1.0.0", + "humanize-url": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/findup": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/findup/-/findup-0.1.5.tgz", + "integrity": "sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=", + "dependencies": { + "colors": "~0.6.0-1", + "commander": "~2.1.0" + }, + "bin": { + "findup": "bin/findup.js" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/findup-sync/node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "dependencies": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/follow-redirects": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz", + "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==", + "dev": true, + "dependencies": { + "debug": "^3.0.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/follow-redirects/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/follow-redirects/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "node_modules/foreground-child": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "dev": true, + "dependencies": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + } + }, + "node_modules/foreground-child/node_modules/cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/from2-array": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/from2-array/-/from2-array-0.0.4.tgz", + "integrity": "sha1-6vwWtl9uJxm81X/cGGkAWsEzLNY=", + "dependencies": { + "from2": "^2.0.3" + } + }, + "node_modules/fs-exists-cached": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", + "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", + "dev": true + }, + "node_modules/fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fsevents": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", + "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", + "bundleDependencies": [ + "node-pre-gyp" + ], + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/fsevents/node_modules/abbrev": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/ansi-regex": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/aproba": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/are-we-there-yet": { + "version": "1.1.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/fsevents/node_modules/balanced-match": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/fsevents/node_modules/chownr": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/code-point-at": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/console-control-strings": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/core-util-is": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/debug": { + "version": "3.2.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/fsevents/node_modules/deep-extend": { + "version": "0.6.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/fsevents/node_modules/delegates": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/detect-libc": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/fsevents/node_modules/fs-minipass": { + "version": "1.2.7", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^2.6.0" + } + }, + "node_modules/fsevents/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/gauge": { + "version": "2.7.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/fsevents/node_modules/glob": { + "version": "7.1.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fsevents/node_modules/has-unicode": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/iconv-lite": { + "version": "0.4.24", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/ignore-walk": { + "version": "3.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/fsevents/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/fsevents/node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/ini": { + "version": "1.3.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/minimatch": { + "version": "3.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/minimist": { + "version": "0.0.8", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/minipass": { + "version": "2.9.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/fsevents/node_modules/minizlib": { + "version": "1.3.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "minipass": "^2.9.0" + } + }, + "node_modules/fsevents/node_modules/mkdirp": { + "version": "0.5.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/fsevents/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/needle": { + "version": "2.4.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/fsevents/node_modules/node-pre-gyp": { + "version": "0.14.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4.4.2" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/fsevents/node_modules/nopt": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/fsevents/node_modules/npm-bundled": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/fsevents/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/npm-packlist": { + "version": "1.4.7", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "node_modules/fsevents/node_modules/npmlog": { + "version": "4.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/fsevents/node_modules/number-is-nan": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/once": { + "version": "1.4.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/fsevents/node_modules/os-homedir": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/os-tmpdir": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/osenv": { + "version": "0.1.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/fsevents/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/process-nextick-args": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/rc": { + "version": "1.2.8", + "dev": true, + "inBundle": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/fsevents/node_modules/rc/node_modules/minimist": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/readable-stream": { + "version": "2.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/fsevents/node_modules/rimraf": { + "version": "2.7.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/fsevents/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/sax": { + "version": "1.2.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/semver": { + "version": "5.7.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/fsevents/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/signal-exit": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fsevents/node_modules/string-width": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/strip-ansi": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/strip-json-comments": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/tar": { + "version": "4.4.13", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/fsevents/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/wide-align": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/fsevents/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function-loop": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-1.0.2.tgz", + "integrity": "sha512-Iw4MzMfS3udk/rqxTiDDCllhGwlOrsr50zViTOO/W6lS/9y6B1J0BD2VZzrnWUYBJsl3aeqjgR5v7bWWhZSYbA==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/gh-pages": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-1.2.0.tgz", + "integrity": "sha512-cGLYAvxtlQ1iTwAS4g7FreZPXoE/g62Fsxln2mmR19mgs4zZI+XJ+wVVUhBFCF/0+Nmvbq+abyTWue1m1BSnmg==", + "dev": true, + "dependencies": { + "async": "2.6.1", + "commander": "2.15.1", + "filenamify-url": "^1.0.0", + "fs-extra": "^5.0.0", + "globby": "^6.1.0", + "graceful-fs": "4.1.11", + "rimraf": "^2.6.2" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/gh-pages/node_modules/commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "node_modules/gh-pages/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/node_modules/graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/gh-pages/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "dev": true, + "dependencies": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "dependencies": { + "min-document": "^2.19.0", + "process": "~0.5.1" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-modules/node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, + "node_modules/grapheme-breaker": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz", + "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=", + "dependencies": { + "brfs": "^1.2.0", + "unicode-trie": "^0.3.1" + } + }, + "node_modules/handle-thing": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", + "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", + "dev": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "dependencies": { + "has-symbol-support-x": "^1.4.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/help-me": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/help-me/-/help-me-1.1.0.tgz", + "integrity": "sha1-jy1QjQYAtKRW2i8IZVbn5cBWo8Y=", + "dev": true, + "dependencies": { + "callback-stream": "^1.0.2", + "glob-stream": "^6.1.0", + "through2": "^2.0.1", + "xtend": "^4.0.0" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==" + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true, + "engines": [ + "node >= 0.4.0" + ] + }, + "node_modules/http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "node_modules/http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "dependencies": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "node_modules/hull.js": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/hull.js/-/hull.js-0.2.10.tgz", + "integrity": "sha1-LT44P26Hk9TsdDVakrfaLrit41s=" + }, + "node_modules/humanize-url": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", + "integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=", + "dev": true, + "dependencies": { + "normalize-url": "^1.0.0", + "strip-url-auth": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/humanize-url/node_modules/normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "dependencies": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/humanize-url/node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/humanize-url/node_modules/query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/humanize-url/node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "node_modules/ify-loader": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ify-loader/-/ify-loader-1.0.4.tgz", + "integrity": "sha1-fpGe6A3RBYv9Q508GPY8CKixayo=", + "dependencies": { + "bl": "^1.0.0", + "findup": "^0.1.5", + "from2-array": "0.0.4", + "map-limit": "0.0.1", + "multipipe": "^0.3.0", + "read-package-json": "^2.0.2", + "resolve": "^1.1.6" + } + }, + "node_modules/ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "dependencies": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "dev": true, + "dependencies": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "dependencies": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + }, + "node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", + "dev": true + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "dependencies": { + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "dependencies": { + "path-is-inside": "^1.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "dependencies": { + "unc-path-regex": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "node_modules/isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "dependencies": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/jmespath": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", + "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/js-md5": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz", + "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==" + }, + "node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/js2xmlparser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.0.tgz", + "integrity": "sha512-WuNgdZOXVmBk5kUPMcTcVUpbGRzLfNkv7+7APq7WiDihpXVKrgxo6wwRpRl9OQeEBgKCVk9mR7RbzrnNWC8oBw==", + "dev": true, + "dependencies": { + "xmlcreate": "^2.0.0" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "node_modules/jsdoc": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.3.tgz", + "integrity": "sha512-Yf1ZKA3r9nvtMWHO1kEuMZTlHOF8uoQ0vyo5eH7SQy5YeIiHM+B0DgKnn+X6y6KDYZcF7G2SPkKF+JORCXWE/A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.4.4", + "bluebird": "^3.5.4", + "catharsis": "^0.8.11", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.0", + "klaw": "^3.0.0", + "markdown-it": "^8.4.2", + "markdown-it-anchor": "^5.0.2", + "marked": "^0.7.0", + "mkdirp": "^0.5.1", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.0.1", + "taffydb": "2.6.2", + "underscore": "~1.9.1" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=8.15.0" + } + }, + "node_modules/jsdoc/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsdoc/node_modules/strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/json": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/json/-/json-9.0.6.tgz", + "integrity": "sha1-eXLCpaSKQmeNsnMMfCxO5uTiRYU=", + "dev": true, + "bin": { + "json": "lib/json.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "node_modules/json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz", + "integrity": "sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA==", + "dev": true, + "optional": true, + "dependencies": { + "array-includes": "^3.0.3", + "object.assign": "^4.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lcov-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", + "integrity": "sha1-6w1GtUER68VhrLTECO+TY73I9+A=", + "dev": true, + "bin": { + "lcov-parse": "bin/cli.js" + } + }, + "node_modules/leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lighthouse-logger": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.2.0.tgz", + "integrity": "sha512-wzUvdIeJZhRsG6gpZfmSCfysaxNEr43i+QT+Hie94wvHDKFLi4n7C2GqZ4sTC+PH5b5iktmXJvU87rWvhP3lHw==", + "dev": true, + "dependencies": { + "debug": "^2.6.8", + "marky": "^1.2.0" + } + }, + "node_modules/linebreak": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-0.3.0.tgz", + "integrity": "sha1-BSZICmLAW9Z58+nZmDDgnGp9DtY=", + "dependencies": { + "base64-js": "0.0.8", + "brfs": "^1.3.0", + "unicode-trie": "^0.3.0" + } + }, + "node_modules/linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dev": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "node_modules/log-driver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", + "dev": true, + "engines": { + "node": ">=0.8.6" + } + }, + "node_modules/loglevel": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz", + "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-loglevel?utm_medium=referral&utm_source=npm_fund" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/magic-string": { + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "dependencies": { + "vlq": "^0.2.2" + } + }, + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" + }, + "node_modules/map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-limit": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", + "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", + "dependencies": { + "once": "~1.3.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it-anchor": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.2.5.tgz", + "integrity": "sha512-xLIjLQmtym3QpoY9llBgApknl7pxAcN3WDRc2d3rwpl+/YvDZHPmKscGs+L6E05xf2KrCXPBvosWt7MZukwSpQ==", + "dev": true, + "peerDependencies": { + "markdown-it": "*" + } + }, + "node_modules/marked": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz", + "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==", + "dev": true, + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/marky": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.1.tgz", + "integrity": "sha512-md9k+Gxa3qLH6sUKpeC2CNkJK/Ld+bEz5X96nYwloqphQE0CKCVEKco/6jxEZixinqNdz5RFi/KaCyfbMDMAXQ==", + "dev": true + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "dependencies": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mem/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mem/node_modules/p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "node_modules/merge-source-map": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/merge-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/microee": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/microee/-/microee-0.0.6.tgz", + "integrity": "sha1-oSvbAQNoHosSapsHHrpMRnx4//4=" + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "dependencies": { + "mime-db": "1.43.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/minilog": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minilog/-/minilog-3.1.0.tgz", + "integrity": "sha1-0tDxiHyjY9Gs8OqG1cTfKTs/tnU=", + "dependencies": { + "microee": "0.0.6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "node_modules/minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/minipass/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mississippi/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp/node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/mqtt": { + "version": "2.18.8", + "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-2.18.8.tgz", + "integrity": "sha512-3h6oHlPY/yWwtC2J3geraYRtVVoRM6wdI+uchF4nvSSafXPZnaKqF8xnX+S22SU/FcgEAgockVIlOaAX3fkMpA==", + "dev": true, + "dependencies": { + "commist": "^1.0.0", + "concat-stream": "^1.6.2", + "end-of-stream": "^1.4.1", + "es6-map": "^0.1.5", + "help-me": "^1.0.1", + "inherits": "^2.0.3", + "minimist": "^1.2.0", + "mqtt-packet": "^5.6.0", + "pump": "^3.0.0", + "readable-stream": "^2.3.6", + "reinterval": "^1.1.0", + "split2": "^2.1.1", + "websocket-stream": "^5.1.2", + "xtend": "^4.0.1" + }, + "bin": { + "mqtt": "mqtt.js", + "mqtt_pub": "bin/pub.js", + "mqtt_sub": "bin/sub.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mqtt-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-5.6.1.tgz", + "integrity": "sha512-eaF9rO2uFrIYEHomJxziuKTDkbWW5psLBaIGCazQSKqYsTaB3n4SpvJ1PexKaDBiPnMLPIFWBIiTYT3IfEJfww==", + "dev": true, + "dependencies": { + "bl": "^1.2.1", + "inherits": "^2.0.3", + "process-nextick-args": "^2.0.0", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "node_modules/multipipe": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.3.1.tgz", + "integrity": "sha1-kmJVJXYboE/qoJYFtjgrziyR8R8=", + "dependencies": { + "duplexer2": "^0.1.2" + } + }, + "node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "node_modules/nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" + }, + "node_modules/nets": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nets/-/nets-3.2.0.tgz", + "integrity": "sha1-1RH7q3rxHaAT8huX7pF0fTOFLTg=", + "dependencies": { + "request": "^2.65.0", + "xhr": "^2.1.0" + } + }, + "node_modules/next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "dev": true, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/events": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/node-libs-browser/node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "node_modules/node-libs-browser/node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/node-libs-browser/node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dev": true, + "dependencies": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.9.0.tgz", + "integrity": "sha512-w8OdJAhXL5izerzZMdqzYKMj/pgHJyY3qEPYBjLLxrhcVoHEY9pU5ENIiZyCgG9OR7x3VcUMoD40o6PtVpfR4g==", + "bundleDependencies": [ + "archy", + "arrify", + "caching-transform", + "convert-source-map", + "debug-log", + "default-require-extensions", + "find-cache-dir", + "find-up", + "foreground-child", + "glob", + "istanbul-lib-coverage", + "istanbul-lib-hook", + "istanbul-lib-instrument", + "istanbul-lib-report", + "istanbul-lib-source-maps", + "istanbul-reports", + "md5-hex", + "merge-source-map", + "micromatch", + "mkdirp", + "resolve-from", + "rimraf", + "signal-exit", + "spawn-wrap", + "test-exclude", + "yargs", + "yargs-parser" + ], + "dev": true, + "dependencies": { + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.5.1", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.2", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.10.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.3", + "istanbul-reports": "^1.4.0", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.2.0", + "yargs": "11.1.0", + "yargs-parser": "^8.0.0" + }, + "bin": { + "nyc": "bin/nyc.js" + } + }, + "node_modules/nyc/node_modules/align-text": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/amdefine": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause OR MIT", + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/nyc/node_modules/ansi-regex": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/ansi-styles": { + "version": "2.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/append-transform": { + "version": "0.4.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "default-require-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/archy": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/arr-diff": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/arr-flatten": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/arr-union": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/array-unique": { + "version": "0.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/arrify": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/assign-symbols": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/async": { + "version": "1.5.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/atob": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/nyc/node_modules/babel-code-frame": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/nyc/node_modules/babel-generator": { + "version": "6.26.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "node_modules/nyc/node_modules/babel-messages": { + "version": "6.23.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/nyc/node_modules/babel-runtime": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/nyc/node_modules/babel-template": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/nyc/node_modules/babel-traverse": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/nyc/node_modules/babel-types": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/nyc/node_modules/babylon": { + "version": "6.18.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/nyc/node_modules/balanced-match": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/base": { + "version": "0.11.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/nyc/node_modules/braces": { + "version": "2.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/builtin-modules": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/cache-base": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/cache-base/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/caching-transform": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/camelcase": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/center-align": { + "version": "0.1.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/chalk": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/class-utils": { + "version": "0.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/class-utils/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/cliui": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "node_modules/nyc/node_modules/cliui/node_modules/wordwrap": { + "version": "0.0.2", + "dev": true, + "inBundle": true, + "license": "MIT/X11", + "optional": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/nyc/node_modules/code-point-at": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/collection-visit": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/commondir": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/component-emitter": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/convert-source-map": { + "version": "1.5.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/copy-descriptor": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/core-js": { + "version": "2.5.6", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/cross-spawn": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "node_modules/nyc/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/nyc/node_modules/debug-log": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/decamelize": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/decode-uri-component": { + "version": "0.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/nyc/node_modules/default-require-extensions": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/detect-indent": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/error-ex": { + "version": "1.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/nyc/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nyc/node_modules/esutils": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/execa": { + "version": "0.7.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/execa/node_modules/cross-spawn": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/nyc/node_modules/expand-brackets": { + "version": "2.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extend-shallow": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/fill-range": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/find-cache-dir": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/find-up": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/for-in": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/foreground-child": { + "version": "1.5.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + } + }, + "node_modules/nyc/node_modules/fragment-cache": { + "version": "0.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/get-caller-file": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/get-stream": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/get-value": { + "version": "2.0.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/glob": { + "version": "7.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nyc/node_modules/globals": { + "version": "9.18.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/graceful-fs": { + "version": "4.1.11", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/nyc/node_modules/handlebars": { + "version": "4.0.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^2.6" + } + }, + "node_modules/nyc/node_modules/handlebars/node_modules/source-map": { + "version": "0.4.4", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nyc/node_modules/has-ansi": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-flag": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-value": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-value/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-values": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/hosted-git-info": { + "version": "2.6.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/nyc/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/nyc/node_modules/inherits": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/invariant": { + "version": "2.2.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/nyc/node_modules/invert-kv": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-arrayish": { + "version": "0.2.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/is-builtin-module": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "builtin-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-descriptor": { + "version": "0.1.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-finite": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-odd": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-odd/node_modules/is-number": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-plain-object": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-plain-object/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-stream": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-utf8": { + "version": "0.2.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/is-windows": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-coverage": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/nyc/node_modules/istanbul-lib-hook": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "append-transform": "^0.4.0" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-instrument": { + "version": "1.10.1", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.0", + "semver": "^5.3.0" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-report": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "3.2.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-source-maps": { + "version": "1.2.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/nyc/node_modules/istanbul-reports": { + "version": "1.4.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "handlebars": "^4.0.3" + } + }, + "node_modules/nyc/node_modules/js-tokens": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/jsesc": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/nyc/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/lazy-cache": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/lcid": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/load-json-file": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/locate-path": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/locate-path/node_modules/path-exists": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/lodash": { + "version": "4.17.10", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/longest": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/loose-envify": { + "version": "1.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/nyc/node_modules/lru-cache": { + "version": "4.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/nyc/node_modules/map-cache": { + "version": "0.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/map-visit": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/md5-hex": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "md5-o-matic": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/md5-o-matic": { + "version": "0.1.1", + "dev": true, + "inBundle": true + }, + "node_modules/nyc/node_modules/mem": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/merge-source-map": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/nyc/node_modules/merge-source-map/node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/micromatch": { + "version": "3.1.10", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/micromatch/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/mimic-fn": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/minimatch": { + "version": "3.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nyc/node_modules/minimist": { + "version": "0.0.8", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/mixin-deep": { + "version": "1.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/mkdirp": { + "version": "0.5.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/nyc/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/nanomatch": { + "version": "1.2.9", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/nanomatch/node_modules/arr-diff": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/nanomatch/node_modules/array-unique": { + "version": "0.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/normalize-package-data": { + "version": "2.4.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/nyc/node_modules/npm-run-path": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/number-is-nan": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-copy": { + "version": "0.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-visit": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-visit/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object.pick": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object.pick/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/once": { + "version": "1.4.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/nyc/node_modules/optimist": { + "version": "0.6.1", + "dev": true, + "inBundle": true, + "license": "MIT/X11", + "dependencies": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "node_modules/nyc/node_modules/os-homedir": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/os-locale": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/p-finally": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/p-limit": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/p-locate": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/p-try": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/parse-json": { + "version": "2.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pascalcase": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/path-exists": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/path-key": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/path-parse": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/path-type": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pify": { + "version": "2.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pinkie": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pinkie-promise": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pkg-dir": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "find-up": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pkg-dir/node_modules/find-up": { + "version": "1.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/posix-character-classes": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pseudomap": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/read-pkg": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/read-pkg-up": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/read-pkg-up/node_modules/find-up": { + "version": "1.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/regenerator-runtime": { + "version": "0.11.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/regex-not": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/repeat-element": { + "version": "1.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/repeat-string": { + "version": "1.6.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/nyc/node_modules/repeating": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/require-directory": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/require-main-filename": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/resolve-from": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/resolve-url": { + "version": "0.2.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/ret": { + "version": "0.1.15", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/nyc/node_modules/right-align": { + "version": "0.1.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "align-text": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/rimraf": { + "version": "2.6.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.0.5" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/nyc/node_modules/safe-regex": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/nyc/node_modules/semver": { + "version": "5.5.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/nyc/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/set-value": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/shebang-command": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/shebang-regex": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/signal-exit": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/slide": { + "version": "1.1.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "*" + } + }, + "node_modules/nyc/node_modules/snapdragon": { + "version": "0.8.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-util": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/source-map": { + "version": "0.5.7", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/source-map-resolve": { + "version": "0.5.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/nyc/node_modules/source-map-url": { + "version": "0.4.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/spawn-wrap": { + "version": "1.4.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" + } + }, + "node_modules/nyc/node_modules/spdx-correct": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/nyc/node_modules/spdx-exceptions": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/nyc/node_modules/spdx-expression-parse": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/nyc/node_modules/spdx-license-ids": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/nyc/node_modules/split-string": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/static-extend": { + "version": "0.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/string-width": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/strip-ansi": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/strip-bom": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/strip-eof": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/supports-color": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nyc/node_modules/test-exclude": { + "version": "4.2.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/arr-diff": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/array-unique": { + "version": "0.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/braces": { + "version": "2.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets": { + "version": "2.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/extglob": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/fill-range": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/micromatch": { + "version": "3.1.10", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-fast-properties": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-object-path": { + "version": "0.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-regex": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-regex-range": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-regex-range/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/trim-right": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/uglify-js": { + "version": "2.8.29", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "optional": true, + "dependencies": { + "source-map": "~0.5.1", + "yargs": "~3.10.0" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + }, + "optionalDependencies": { + "uglify-to-browserify": "~1.0.0" + } + }, + "node_modules/nyc/node_modules/uglify-js/node_modules/yargs": { + "version": "3.10.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + }, + "node_modules/nyc/node_modules/uglify-to-browserify": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/nyc/node_modules/union-value": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/union-value/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/union-value/node_modules/set-value": { + "version": "0.4.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/urix": { + "version": "0.1.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/use": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/use/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/validate-npm-package-license": { + "version": "3.0.3", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/nyc/node_modules/which": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/nyc/node_modules/which-module": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/window-size": { + "version": "0.1.0", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/nyc/node_modules/wordwrap": { + "version": "0.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/nyc/node_modules/wrap-ansi": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/wrap-ansi/node_modules/string-width": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/write-file-atomic": { + "version": "1.3.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" + } + }, + "node_modules/nyc/node_modules/y18n": { + "version": "3.2.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/yallist": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/yargs": { + "version": "11.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/nyc/node_modules/yargs-parser": { + "version": "8.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/nyc/node_modules/yargs-parser/node_modules/camelcase": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/ansi-regex": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/camelcase": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/cliui": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/strip-ansi": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/yargs-parser": { + "version": "9.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", + "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" + }, + "node_modules/object-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz", + "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.entries": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.1.tgz", + "integrity": "sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ==", + "dev": true, + "optional": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", + "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", + "dev": true, + "optional": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "optional": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/opener": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", + "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "dependencies": { + "url-parse": "^1.4.3" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/own-or": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", + "integrity": "sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=", + "dev": true + }, + "node_modules/own-or-env": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.1.tgz", + "integrity": "sha512-y8qULRbRAlL6x2+M0vIe7jJbJx/kmUTzYonRAa2ayesR2qWLswninkVyeJe4x3IEXhdgoNodzjQRKAoEs6Fmrw==", + "dev": true, + "dependencies": { + "own-or": "^1.0.0" + } + }, + "node_modules/p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "dependencies": { + "retry": "^0.12.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dev": true, + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dependencies": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-headers": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", + "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/portfinder": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", + "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", + "dev": true, + "dependencies": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/portfinder/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "node_modules/prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dev": true, + "optional": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "dev": true, + "dependencies": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "node_modules/psl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", + "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "dependencies": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "dev": true + }, + "node_modules/quote-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", + "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", + "dependencies": { + "buffer-equal": "0.0.1", + "minimist": "^1.1.3", + "through2": "^2.0.0" + }, + "bin": { + "quote-stream": "bin/cmd.js" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=" + }, + "node_modules/react-is": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", + "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==", + "dev": true, + "optional": true + }, + "node_modules/read-package-json": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.1.tgz", + "integrity": "sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A==", + "dependencies": { + "glob": "^7.1.1", + "json-parse-better-errors": "^1.0.1", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.2" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "dependencies": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "node_modules/regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/reinterval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", + "integrity": "sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc=", + "dev": true + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "dependencies": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/requizzle": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz", + "integrity": "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/resolve": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.2.tgz", + "integrity": "sha512-EjlOBLBO1kxsUxsKjLt7TAECyKW6fOh1VRkykQkKGzcBbjjPIxBqGh0jf7GJ3k/f5mxMqW3htMD3WdTUVtW8HQ==", + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir/node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated" + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "dependencies": { + "is-promise": "^2.1.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "node_modules/rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "dependencies": { + "rx-lite": "*" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=", + "dev": true + }, + "node_modules/schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dependencies": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/scratch-render-fonts": { + "version": "1.0.0-prerelease.20180906193204", + "resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.0-prerelease.20180906193204.tgz", + "integrity": "sha512-tVDUTKO/gJnEv94HTyBWW/e/JwsZIslByzehuXQ7QvrngEh28gvHaCRwKMX/cqprizu4TFqvfx4Xh2n9e5XekA==", + "dependencies": { + "base64-loader": "1.0.0" + } + }, + "node_modules/scratch-storage": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/scratch-storage/-/scratch-storage-1.3.2.tgz", + "integrity": "sha512-Xi169m/k6yYJU7aXTLgIxWjIumYamMSkRdSQiQ39p6kQeniGzm8ncBbJuGOs1UDh0Y3b6g1DrqX24YaSQL201w==", + "dependencies": { + "arraybuffer-loader": "^1.0.3", + "base64-js": "1.3.0", + "js-md5": "0.7.3", + "minilog": "3.1.0", + "nets": "3.2.0", + "text-encoding": "0.7.0", + "worker-loader": "^2.0.0" + } + }, + "node_modules/scratch-storage/node_modules/base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + }, + "node_modules/scratch-svg-renderer": { + "version": "0.2.0-prerelease.20200109070519", + "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-0.2.0-prerelease.20200109070519.tgz", + "integrity": "sha512-THdZW9gA8mFKvDImHDrWWhvyOymUW3JgMBjpPsaFk2URl1kfNIRQIndfwto2B8a8YbtuyKSv6CWW8Nu+VzBZVA==", + "dependencies": { + "base64-js": "1.2.1", + "base64-loader": "1.0.0", + "minilog": "3.1.0", + "scratch-render-fonts": "1.0.0-prerelease.20180906193204", + "transformation-matrix": "1.15.0" + } + }, + "node_modules/scratch-svg-renderer/node_modules/base64-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "node_modules/selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "dev": true, + "dependencies": { + "node-forge": "0.9.0" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "dev": true + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-copy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "node_modules/sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "dev": true, + "dependencies": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + } + }, + "node_modules/sockjs-client/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/sockjs-client/node_modules/faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/sockjs-client/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated" + }, + "node_modules/spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" + }, + "node_modules/spdy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", + "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/spdy-transport/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/spdy-transport/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/spdy/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/spdy/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, + "dependencies": { + "through2": "^2.0.2" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.1" + } + }, + "node_modules/stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-eval": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.3.tgz", + "integrity": "sha512-zsxDGucfAh8T339sSKgpFbvg15Fms2IVaJGC+jqp0bVsxhcpM+iMeAI8weNo8dmf4OblgifTBUoyk1vGVtYw2w==", + "dependencies": { + "escodegen": "^1.11.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.1.tgz", + "integrity": "sha512-Q8t2YZ+0e0pc7NRVj3B4tSQ9rim1oi4Fh46k2xhJ2qOiEwhQfdjyEQddWdj7ZFaKmU+5104vn1qrcjEPWq+bgQ==", + "dependencies": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-module": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", + "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", + "dependencies": { + "concat-stream": "~1.6.0", + "convert-source-map": "^1.5.1", + "duplexer2": "~0.1.4", + "escodegen": "~1.9.0", + "falafel": "^2.1.0", + "has": "^1.0.1", + "magic-string": "^0.22.4", + "merge-source-map": "1.0.4", + "object-inspect": "~1.4.0", + "quote-stream": "~1.0.2", + "readable-stream": "~2.3.3", + "shallow-copy": "~0.0.1", + "static-eval": "^2.0.0", + "through2": "~2.0.3" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-url-auth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", + "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/table": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "dev": true, + "dependencies": { + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "dependencies": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/table/node_modules/ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true, + "peerDependencies": { + "ajv": "^5.0.0" + } + }, + "node_modules/table/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "node_modules/table/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", + "dev": true + }, + "node_modules/tap": { + "version": "11.1.5", + "resolved": "https://registry.npmjs.org/tap/-/tap-11.1.5.tgz", + "integrity": "sha512-rOmL7+8U5v7E8ADxFF9SYbGIrqdYPeJy8d6eFMStEXIasJ85tjv8F9M4SSry314eIvqRv/aKf/0YVrkoMj/byQ==", + "dev": true, + "dependencies": { + "bind-obj-methods": "^2.0.0", + "bluebird": "^3.5.1", + "clean-yaml-object": "^0.1.0", + "color-support": "^1.1.0", + "coveralls": "^3.0.1", + "foreground-child": "^1.3.3", + "fs-exists-cached": "^1.0.0", + "function-loop": "^1.0.1", + "glob": "^7.0.0", + "isexe": "^2.0.0", + "js-yaml": "^3.11.0", + "minipass": "^2.3.0", + "mkdirp": "^0.5.1", + "nyc": "^11.7.2", + "opener": "^1.4.1", + "os-homedir": "^1.0.2", + "own-or": "^1.0.0", + "own-or-env": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.0", + "source-map-support": "^0.5.5", + "stack-utils": "^1.0.0", + "tap-mocha-reporter": "^3.0.7", + "tap-parser": "^7.0.0", + "tmatch": "^3.1.0", + "trivial-deferred": "^1.0.1", + "tsame": "^1.1.2", + "write-file-atomic": "^2.3.0", + "yapool": "^1.0.0" + }, + "bin": { + "tap": "bin/run.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tap-mocha-reporter": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-3.0.9.tgz", + "integrity": "sha512-VO07vhC9EG27EZdOe7bWBj1ldbK+DL9TnRadOgdQmiQOVZjFpUEQuuqO7+rNSO2kfmkq5hWeluYXDWNG/ytXTQ==", + "dev": true, + "dependencies": { + "color-support": "^1.1.0", + "debug": "^2.1.3", + "diff": "^1.3.2", + "escape-string-regexp": "^1.0.3", + "glob": "^7.0.5", + "js-yaml": "^3.3.1", + "tap-parser": "^5.1.0", + "unicode-length": "^1.0.0" + }, + "bin": { + "tap-mocha-reporter": "index.js" + }, + "optionalDependencies": { + "readable-stream": "^2.1.5" + } + }, + "node_modules/tap-mocha-reporter/node_modules/tap-parser": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-5.4.0.tgz", + "integrity": "sha512-BIsIaGqv7uTQgTW1KLTMNPSEQf4zDDPgYOBRdgOfuB+JFOLRBfEu6cLa/KvMvmqggu1FKXDfitjLwsq4827RvA==", + "dev": true, + "dependencies": { + "events-to-array": "^1.0.1", + "js-yaml": "^3.2.7" + }, + "bin": { + "tap-parser": "bin/cmd.js" + }, + "optionalDependencies": { + "readable-stream": "^2" + } + }, + "node_modules/tap-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-7.0.0.tgz", + "integrity": "sha512-05G8/LrzqOOFvZhhAk32wsGiPZ1lfUrl+iV7+OkKgfofZxiceZWMHkKmow71YsyVQ8IvGBP2EjcIjE5gL4l5lA==", + "dev": true, + "dependencies": { + "events-to-array": "^1.0.1", + "js-yaml": "^3.2.7", + "minipass": "^2.2.0" + }, + "bin": { + "tap-parser": "bin/cmd.js" + } + }, + "node_modules/tap/node_modules/source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.2.tgz", + "integrity": "sha512-6FUjJdY2i3WZAtYBtnV06OOcOfzl+4hSKYE9wgac8rkLRBToPDDrBB2AcHwQD/OKDxbnvhVy2YgOPWO2SsKWqg==", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", + "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^2.1.2", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/terser-webpack-plugin/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser-webpack-plugin/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==" + }, + "node_modules/terser-webpack-plugin/node_modules/ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/text-encoding": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz", + "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==", + "deprecated": "no longer maintained" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "dependencies": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, + "node_modules/tmatch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-3.1.0.tgz", + "integrity": "sha512-W3MSATOCN4pVu2qFxmJLIArSifeSOFqnfx9hiUaVgOmeRoI2NbU7RNga+6G+L8ojlFeQge+ZPCclWyUpQ8UeNQ==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "dev": true, + "dependencies": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dependencies": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tough-cookie/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "node_modules/transformation-matrix": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/transformation-matrix/-/transformation-matrix-1.15.0.tgz", + "integrity": "sha512-808EqPQbmUD6/IMpWUXLOZcblCHf9xaiB+un0RYNNE9+6VRjoiw6Be8R32tZ0ips1PX/15tlnA2Ev4UUgg827Q==" + }, + "node_modules/travis-after-all": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/travis-after-all/-/travis-after-all-1.4.5.tgz", + "integrity": "sha512-4DztMw/2e+96IdRAa3+gRJvyuZwN0Sn4CMiVAkZ9zsP9fVSxb/oJ949UR2q8POL23qd5tDD+rMOlydJ9OKfHeQ==", + "deprecated": "The functionality this package provided is now supported natively by Travis CI via Build Stages (see: https://blog.travis-ci.com/2017-05-11-introducing-build-stages).", + "dev": true, + "bin": { + "travis-after-all": "bin/travis-after-all" + } + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trivial-deferred": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", + "integrity": "sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=", + "dev": true + }, + "node_modules/tsame": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/tsame/-/tsame-1.1.2.tgz", + "integrity": "sha512-ovCs24PGjmByVPr9tSIOs/yjUX9sJl0grEmOsj9dZA/UknQkgPOKcUqM84aSCvt9awHuhc/boMzTg3BHFalxWw==", + "dev": true + }, + "node_modules/tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "node_modules/twgl.js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/twgl.js/-/twgl.js-4.4.0.tgz", + "integrity": "sha512-W+uFP2DyK2dNhE38PcpituNi8CBm+YO5gY6o/IWEILT7NNDTT1wo3YcMmydwiCfUbnT7tz+EcjV7KlZLgE1PlQ==" + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "node_modules/uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", + "dev": true, + "dependencies": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-es/node_modules/commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "node_modules/uglifyjs-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", + "dev": true, + "dependencies": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "engines": { + "node": ">= 4.8 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "dev": true + }, + "node_modules/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/underscore": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz", + "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==", + "dev": true + }, + "node_modules/unicode-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-1.0.3.tgz", + "integrity": "sha1-Wtp6f+1RhBpBijKM8UlHisg1irs=", + "dev": true, + "dependencies": { + "punycode": "^1.3.2", + "strip-ansi": "^3.0.1" + } + }, + "node_modules/unicode-length/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "dependencies": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated" + }, + "node_modules/url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "dev": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "node_modules/watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dependencies": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/webpack": { + "version": "4.41.5", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.5.tgz", + "integrity": "sha512-wp0Co4vpyumnp3KlkmpM5LWuzvZYayDwM2n17EHFr4qxBBbRokC7DJawPJC7TfSFZ9HZ6GsdH40EBj4UV0nmpw==", + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-cli": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.10.tgz", + "integrity": "sha512-u1dgND9+MXaEt74sJR4PR7qkPxXUSQ0RXYq8x1L6Jg1MYVEmGPrH6Ah6C4arD4r0J1P5HKjRqpab36k0eIzPqg==", + "dev": true, + "dependencies": { + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "peerDependencies": { + "webpack": "4.x.x" + } + }, + "node_modules/webpack-cli/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/webpack-cli/node_modules/enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/webpack-cli/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "dev": true, + "dependencies": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.1.tgz", + "integrity": "sha512-AGG4+XrrXn4rbZUueyNrQgO4KGnol+0wm3MPdqGLmmA+NofZl3blZQKxZ9BND6RDNuvAK9OMYClhjOSnxpWRoA==", + "dev": true, + "dependencies": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.2.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.6", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.25", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.4.0", + "spdy": "^4.0.1", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "12.0.5" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 6.11.5" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/webpack-dev-server/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-dev-server/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack-dev-server/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/webpack-dev-server/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "dependencies": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-stream": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.5.0.tgz", + "integrity": "sha512-EXy/zXb9kNHI07TIMz1oIUIrPZxQRA8aeJ5XYg5ihV8K4kD1DuA+FY6R96HfdIHzlSzS8HiISAfrm+vVQkZBug==", + "dev": true, + "dependencies": { + "duplexify": "^3.5.1", + "inherits": "^2.0.1", + "readable-stream": "^2.3.3", + "safe-buffer": "^5.1.2", + "ws": "^3.2.0", + "xtend": "^4.0.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/worker-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-2.0.0.tgz", + "integrity": "sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==", + "dependencies": { + "loader-utils": "^1.0.0", + "schema-utils": "^0.4.0" + }, + "engines": { + "node": ">= 6.9.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^3.0.0 || ^4.0.0-alpha.0 || ^4.0.0" + } + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + }, + "node_modules/xhr": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", + "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", + "dependencies": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "dev": true, + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" + } + }, + "node_modules/xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlcreate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.1.tgz", + "integrity": "sha512-MjGsXhKG8YjTKrDCXseFo3ClbMGvUD4en29H2Cev1dv4P/chlpw6KdYmlCWDkhosBVKRDjM836+3e3pm1cBNJA==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/yapool": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", + "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", + "dev": true + }, + "node_modules/yargs": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" + } + }, + "node_modules/yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.0.0-beta.44", @@ -242,7 +15939,6 @@ "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", - "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.8.5", "@webassemblyjs/helper-wasm-bytecode": "1.8.5", @@ -252,26 +15948,22 @@ "@webassemblyjs/floating-point-hex-parser": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", - "dev": true + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==" }, "@webassemblyjs/helper-api-error": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", - "dev": true + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==" }, "@webassemblyjs/helper-buffer": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", - "dev": true + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==" }, "@webassemblyjs/helper-code-frame": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", - "dev": true, "requires": { "@webassemblyjs/wast-printer": "1.8.5" } @@ -279,14 +15971,12 @@ "@webassemblyjs/helper-fsm": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", - "dev": true + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==" }, "@webassemblyjs/helper-module-context": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", "mamacro": "^0.0.3" @@ -295,14 +15985,12 @@ "@webassemblyjs/helper-wasm-bytecode": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", - "dev": true + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==" }, "@webassemblyjs/helper-wasm-section": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-buffer": "1.8.5", @@ -314,7 +16002,6 @@ "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", - "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } @@ -323,7 +16010,6 @@ "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", - "dev": true, "requires": { "@xtuc/long": "4.2.2" } @@ -331,14 +16017,12 @@ "@webassemblyjs/utf8": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", - "dev": true + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==" }, "@webassemblyjs/wasm-edit": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-buffer": "1.8.5", @@ -354,7 +16038,6 @@ "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-wasm-bytecode": "1.8.5", @@ -367,7 +16050,6 @@ "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-buffer": "1.8.5", @@ -379,7 +16061,6 @@ "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-api-error": "1.8.5", @@ -393,7 +16074,6 @@ "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/floating-point-hex-parser": "1.8.5", @@ -407,7 +16087,6 @@ "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/wast-parser": "1.8.5", @@ -417,14 +16096,12 @@ "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, "@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "accepts": { "version": "1.3.7", @@ -473,12 +16150,13 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true + "requires": {} }, "ajv-keywords": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==" + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "requires": {} }, "ansi-colors": { "version": "3.2.4", @@ -514,7 +16192,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" @@ -524,7 +16201,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } @@ -534,8 +16210,7 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "argparse": { "version": "1.0.10", @@ -549,20 +16224,17 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, "array-flatten": { "version": "2.1.2", @@ -600,8 +16272,7 @@ "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, "arraybuffer-loader": { "version": "1.0.8", @@ -623,7 +16294,6 @@ "version": "4.10.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, "requires": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -634,7 +16304,6 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, "requires": { "object-assign": "^4.1.1", "util": "0.10.3" @@ -643,14 +16312,12 @@ "inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" }, "util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, "requires": { "inherits": "2.0.1" } @@ -665,8 +16332,7 @@ "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, "async": { "version": "2.6.1", @@ -680,8 +16346,7 @@ "async-each": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" }, "async-limiter": { "version": "1.0.1", @@ -697,8 +16362,7 @@ "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "aws-sdk": { "version": "2.601.0", @@ -1431,7 +17095,6 @@ "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -1446,7 +17109,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -1455,7 +17117,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -1464,7 +17125,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -1473,7 +17133,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -1514,8 +17173,7 @@ "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" }, "bind-obj-methods": { "version": "2.0.0", @@ -1545,14 +17203,12 @@ "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, "body-parser": { "version": "1.19.0", @@ -1613,7 +17269,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -1631,7 +17286,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -1652,14 +17306,12 @@ "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, "browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, "requires": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -1673,7 +17325,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, "requires": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -1684,7 +17335,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, "requires": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -1696,7 +17346,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, "requires": { "bn.js": "^4.1.0", "randombytes": "^2.0.1" @@ -1706,7 +17355,6 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, "requires": { "bn.js": "^4.1.1", "browserify-rsa": "^4.0.0", @@ -1721,7 +17369,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, "requires": { "pako": "~1.0.5" }, @@ -1729,8 +17376,7 @@ "pako": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", - "dev": true + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==" } } }, @@ -1748,7 +17394,6 @@ "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", @@ -1758,8 +17403,7 @@ "base64-js": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" } } }, @@ -1782,14 +17426,12 @@ "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" }, "bytes": { "version": "3.0.0", @@ -1822,7 +17464,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -1932,7 +17573,6 @@ "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, "requires": { "anymatch": "^2.0.0", "async-each": "^1.0.1", @@ -1952,7 +17592,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -1962,8 +17601,7 @@ "chownr": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", - "dev": true + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" }, "chrome-launcher": { "version": "0.10.7", @@ -2000,7 +17638,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, "requires": { "tslib": "^1.9.0" } @@ -2025,7 +17662,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -2041,7 +17677,6 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -2053,7 +17688,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -2145,7 +17779,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -2203,14 +17836,12 @@ "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "compressible": { "version": "2.0.18", @@ -2261,14 +17892,12 @@ "console-browserify": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" }, "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" }, "content-disposition": { "version": "0.5.3", @@ -2309,7 +17938,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, "requires": { "aproba": "^1.1.1", "fs-write-stream-atomic": "^1.0.8", @@ -2322,8 +17950,7 @@ "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "copy-webpack-plugin": { "version": "4.6.0", @@ -2380,7 +18007,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, "requires": { "bn.js": "^4.1.0", "elliptic": "^6.0.0" @@ -2390,7 +18016,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, "requires": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -2403,7 +18028,6 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, "requires": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -2428,7 +18052,6 @@ "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, "requires": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -2452,8 +18075,7 @@ "cyclist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" }, "d": { "version": "1.0.1", @@ -2477,7 +18099,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -2491,8 +18112,7 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, "decompress-response": { "version": "3.3.0", @@ -2545,7 +18165,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -2555,7 +18174,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -2564,7 +18182,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -2573,7 +18190,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -2641,7 +18257,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, "requires": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -2684,7 +18299,6 @@ "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, "requires": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -2748,8 +18362,7 @@ "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" }, "duplexer2": { "version": "0.1.4", @@ -2769,7 +18382,6 @@ "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, "requires": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", @@ -2802,7 +18414,6 @@ "version": "6.5.2", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", - "dev": true, "requires": { "bn.js": "^4.4.0", "brorand": "^1.0.1", @@ -2834,7 +18445,6 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "requires": { "once": "^1.4.0" }, @@ -2843,7 +18453,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -2854,7 +18463,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "memory-fs": "^0.5.0", @@ -2865,7 +18473,6 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -2883,7 +18490,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, "requires": { "prr": "~1.0.1" } @@ -3172,7 +18778,8 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-2.2.0.tgz", "integrity": "sha512-X5+NT9a2GuwWyb3sHJdEEe6aD/30Fhi3/9XCmYHe/OSnWKUhmKOxFTfFM1AXZfJXjAoX7811bnoLI3fZr5AX5Q==", "dev": true, - "optional": true + "optional": true, + "requires": {} }, "eslint-plugin-react": { "version": "7.17.0", @@ -3237,7 +18844,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, "requires": { "estraverse": "^4.1.0" } @@ -3299,7 +18905,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, "requires": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -3348,7 +18953,6 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -3363,7 +18967,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -3372,7 +18975,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -3466,7 +19068,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -3476,7 +19077,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -3498,7 +19098,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -3514,7 +19113,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -3523,7 +19121,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -3532,7 +19129,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -3541,7 +19137,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -3550,7 +19145,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -3609,8 +19203,7 @@ "figgy-pudding": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", - "dev": true + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" }, "figures": { "version": "2.0.0", @@ -3669,7 +19262,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -3681,7 +19273,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -3782,7 +19373,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, "requires": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" @@ -3817,8 +19407,7 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, "foreach": { "version": "2.0.5", @@ -3872,7 +19461,6 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, "requires": { "map-cache": "^0.2.2" } @@ -3921,7 +19509,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", @@ -4413,24 +20000,24 @@ "dev": true, "optional": true }, - "string-width": { - "version": "1.0.2", + "string_decoder": { + "version": "1.1.1", "bundled": true, "dev": true, "optional": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "safe-buffer": "~5.1.0" } }, - "string_decoder": { - "version": "1.1.1", + "string-width": { + "version": "1.0.2", "bundled": true, "dev": true, "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { @@ -4524,8 +20111,7 @@ "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, "getpass": { "version": "0.1.7", @@ -4600,7 +20186,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -4795,7 +20380,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -4806,7 +20390,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -4816,7 +20399,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -4827,7 +20409,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -4837,7 +20418,6 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, "requires": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -4859,7 +20439,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, "requires": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -4994,8 +20573,7 @@ "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" }, "hull.js": { "version": "0.2.10", @@ -5063,14 +20641,12 @@ "ieee754": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" }, "iferr": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" }, "ify-loader": { "version": "1.0.4", @@ -5159,14 +20735,12 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" }, "inflight": { "version": "1.0.6", @@ -5335,7 +20909,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -5344,7 +20917,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -5361,7 +20933,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, "requires": { "binary-extensions": "^1.0.0" } @@ -5369,8 +20940,7 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-callable": { "version": "1.1.5", @@ -5382,7 +20952,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -5391,7 +20960,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -5408,7 +20976,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -5418,22 +20985,19 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-finite": { "version": "1.0.2", @@ -5459,7 +21023,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, "requires": { "is-extglob": "^2.1.0" } @@ -5474,7 +21037,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -5483,7 +21045,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -5530,7 +21091,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, "requires": { "isobject": "^3.0.1" } @@ -5610,14 +21170,12 @@ "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, "is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" }, "isarray": { "version": "1.0.0", @@ -5633,8 +21191,7 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "isstream": { "version": "0.1.2", @@ -5843,8 +21400,7 @@ "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" }, "klaw": { "version": "3.0.0", @@ -5917,8 +21473,7 @@ "loader-runner": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" }, "loader-utils": { "version": "1.2.3", @@ -6003,8 +21558,7 @@ "mamacro": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" }, "map-age-cleaner": { "version": "0.1.3", @@ -6018,8 +21572,7 @@ "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, "map-limit": { "version": "0.0.1", @@ -6033,7 +21586,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, "requires": { "object-visit": "^1.0.0" } @@ -6055,7 +21607,8 @@ "version": "5.2.5", "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.2.5.tgz", "integrity": "sha512-xLIjLQmtym3QpoY9llBgApknl7pxAcN3WDRc2d3rwpl+/YvDZHPmKscGs+L6E05xf2KrCXPBvosWt7MZukwSpQ==", - "dev": true + "dev": true, + "requires": {} }, "marked": { "version": "0.7.0", @@ -6073,7 +21626,6 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -6121,7 +21673,6 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -6163,7 +21714,6 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -6184,7 +21734,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -6240,14 +21789,12 @@ "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, "minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, "minimatch": { "version": "3.0.4", @@ -6314,7 +21861,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -6324,7 +21870,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -6335,7 +21880,6 @@ "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" }, @@ -6343,8 +21887,7 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } }, @@ -6352,7 +21895,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, "requires": { "aproba": "^1.1.1", "copy-concurrently": "^1.0.0", @@ -6399,8 +21941,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "multicast-dns": { "version": "6.2.3", @@ -6443,7 +21984,6 @@ "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -6473,8 +22013,7 @@ "neo-async": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" }, "nets": { "version": "3.2.0", @@ -6507,7 +22046,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, "requires": { "assert": "^1.1.1", "browserify-zlib": "^0.2.0", @@ -6537,26 +22075,22 @@ "events": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", - "dev": true + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==" }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -6565,8 +22099,7 @@ "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" } } } @@ -6586,8 +22119,7 @@ "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "normalize-url": { "version": "2.0.1", @@ -9260,14 +24792,12 @@ "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 + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -9278,7 +24808,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -9287,7 +24816,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -9314,7 +24842,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, "requires": { "isobject": "^3.0.0" } @@ -9361,7 +24888,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, "requires": { "isobject": "^3.0.1" } @@ -9466,8 +24992,7 @@ "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" }, "os-homedir": { "version": "1.0.2", @@ -9588,7 +25113,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, "requires": { "cyclist": "^1.0.1", "inherits": "^2.0.3", @@ -9599,7 +25123,6 @@ "version": "5.1.5", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "dev": true, "requires": { "asn1.js": "^4.0.0", "browserify-aes": "^1.0.0", @@ -9629,26 +25152,22 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, "path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "path-is-absolute": { "version": "1.0.1", @@ -9691,7 +25210,6 @@ "version": "3.0.17", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "dev": true, "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -9781,8 +25299,7 @@ "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "prelude-ls": { "version": "1.1.2", @@ -9820,8 +25337,7 @@ "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" }, "prop-types": { "version": "15.7.2", @@ -9848,8 +25364,7 @@ "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" }, "pseudomap": { "version": "1.0.2", @@ -9866,7 +25381,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, "requires": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -9880,7 +25394,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -9890,7 +25403,6 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, "requires": { "duplexify": "^3.6.0", "inherits": "^2.0.3", @@ -9901,7 +25413,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -9933,14 +25444,12 @@ "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, "querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, "querystringify": { "version": "2.1.1", @@ -9962,7 +25471,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "requires": { "safe-buffer": "^5.1.0" } @@ -9971,7 +25479,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, "requires": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -10045,7 +25552,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, "requires": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", @@ -10079,7 +25585,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -10144,20 +25649,17 @@ "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "repeating": { "version": "2.0.1", @@ -10289,8 +25791,7 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, "responselike": { "version": "1.0.2", @@ -10314,8 +25815,7 @@ "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, "retry": { "version": "0.12.0", @@ -10327,7 +25827,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -10336,7 +25835,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -10355,7 +25853,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, "requires": { "aproba": "^1.1.1" } @@ -10384,7 +25881,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, "requires": { "ret": "~0.1.10" } @@ -10575,7 +26071,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -10587,7 +26082,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10597,8 +26091,7 @@ "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "setprototypeof": { "version": "1.1.1", @@ -10610,7 +26103,6 @@ "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -10661,7 +26153,6 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -10677,7 +26168,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -10686,7 +26176,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10694,8 +26183,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -10703,7 +26191,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -10714,7 +26201,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -10723,7 +26209,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -10732,7 +26217,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -10741,7 +26225,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -10754,7 +26237,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, "requires": { "kind-of": "^3.2.0" }, @@ -10763,7 +26245,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -10832,8 +26313,7 @@ "source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" }, "source-map": { "version": "0.6.1", @@ -10844,7 +26324,6 @@ "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, "requires": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -10873,8 +26352,7 @@ "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, "spdx-correct": { "version": "3.1.0", @@ -10980,7 +26458,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, "requires": { "extend-shallow": "^3.0.0" } @@ -11057,7 +26534,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -11067,7 +26543,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -11105,7 +26580,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" @@ -11115,7 +26589,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "stream-shift": "^1.0.0" @@ -11125,7 +26598,6 @@ "version": "2.8.3", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, "requires": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.1", @@ -11137,8 +26609,7 @@ "stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" }, "strict-uri-encode": { "version": "1.1.0", @@ -11146,6 +26617,14 @@ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -11193,14 +26672,6 @@ "function-bind": "^1.1.1" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -11273,7 +26744,8 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true + "dev": true, + "requires": {} }, "ansi-styles": { "version": "3.2.1", @@ -11417,14 +26889,12 @@ "tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" }, "terser": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.2.tgz", "integrity": "sha512-6FUjJdY2i3WZAtYBtnV06OOcOfzl+4hSKYE9wgac8rkLRBToPDDrBB2AcHwQD/OKDxbnvhVy2YgOPWO2SsKWqg==", - "dev": true, "requires": { "commander": "^2.20.0", "source-map": "~0.6.1", @@ -11434,14 +26904,12 @@ "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "source-map-support": { "version": "0.5.16", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -11453,7 +26921,6 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", - "dev": true, "requires": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", @@ -11470,7 +26937,6 @@ "version": "12.0.3", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", - "dev": true, "requires": { "bluebird": "^3.5.5", "chownr": "^1.1.1", @@ -11493,7 +26959,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, "requires": { "commondir": "^1.0.1", "make-dir": "^2.0.0", @@ -11504,7 +26969,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, "requires": { "locate-path": "^3.0.0" } @@ -11513,7 +26977,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -11523,7 +26986,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "requires": { "yallist": "^3.0.2" } @@ -11532,7 +26994,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, "requires": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -11542,7 +27003,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, "requires": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", @@ -11560,7 +27020,6 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, "requires": { "p-try": "^2.0.0" } @@ -11569,7 +27028,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, "requires": { "p-limit": "^2.0.0" } @@ -11577,20 +27035,17 @@ "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" }, "pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, "requires": { "find-up": "^3.0.0" } @@ -11599,7 +27054,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, "requires": { "ajv": "^6.1.0", "ajv-errors": "^1.0.0", @@ -11609,14 +27063,12 @@ "serialize-javascript": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "dev": true + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==" }, "ssri": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, "requires": { "figgy-pudding": "^3.5.1" } @@ -11624,8 +27076,7 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -11681,7 +27132,6 @@ "version": "2.0.11", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "dev": true, "requires": { "setimmediate": "^1.0.4" } @@ -11719,8 +27169,7 @@ "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" }, "to-fast-properties": { "version": "1.0.3", @@ -11732,7 +27181,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -11741,7 +27189,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -11752,7 +27199,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -11764,7 +27210,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -11833,14 +27278,12 @@ "tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", - "dev": true + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" }, "tunnel-agent": { "version": "0.6.0", @@ -11978,7 +27421,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -11990,7 +27432,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, "requires": { "unique-slug": "^2.0.0" } @@ -11999,7 +27440,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, "requires": { "imurmurhash": "^0.1.4" } @@ -12030,7 +27470,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -12040,7 +27479,6 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -12051,7 +27489,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, "requires": { "isarray": "1.0.0" } @@ -12061,16 +27498,14 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" } } }, "upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" }, "uri-js": { "version": "4.2.2", @@ -12083,8 +27518,7 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, "url": { "version": "0.10.3", @@ -12132,14 +27566,12 @@ "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" }, "util": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, "requires": { "inherits": "2.0.3" }, @@ -12147,8 +27579,7 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" } } }, @@ -12207,14 +27638,12 @@ "vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" }, "watchpack": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", - "dev": true, "requires": { "chokidar": "^2.0.2", "graceful-fs": "^4.1.2", @@ -12234,7 +27663,6 @@ "version": "4.41.5", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.5.tgz", "integrity": "sha512-wp0Co4vpyumnp3KlkmpM5LWuzvZYayDwM2n17EHFr4qxBBbRokC7DJawPJC7TfSFZ9HZ6GsdH40EBj4UV0nmpw==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-module-context": "1.8.5", @@ -12264,14 +27692,12 @@ "acorn": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", - "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", - "dev": true + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==" }, "eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, "requires": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" @@ -12281,7 +27707,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, "requires": { "ajv": "^6.1.0", "ajv-errors": "^1.0.0", @@ -12664,7 +28089,6 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, "requires": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -12725,7 +28149,6 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, "requires": { "errno": "~0.1.7" } @@ -12864,8 +28287,7 @@ "y18n": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" }, "yallist": { "version": "2.1.2", diff --git a/packages/scratch-vm/package-lock.json b/packages/scratch-vm/package-lock.json index ac0be7ed6..19aaf5456 100644 --- a/packages/scratch-vm/package-lock.json +++ b/packages/scratch-vm/package-lock.json @@ -1,15202 +1,32916 @@ { - "name": "scratch-vm", - "version": "0.2.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/cli": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.1.5.tgz", - "integrity": "sha512-zbO/DtTnaDappBflIU3zYEgATLToRDmW5uN/EGH1GXaes7ydfjqmAoK++xmJIA+8HfDw7UyPZNdM8fhGhfmMhw==", - "dev": true, - "requires": { - "chokidar": "^2.0.3", - "commander": "^2.8.1", - "convert-source-map": "^1.1.0", - "fs-readdir-recursive": "^1.1.0", - "glob": "^7.0.0", - "lodash": "^4.17.10", - "mkdirp": "^0.5.1", - "output-file-sync": "^2.0.0", - "slash": "^2.0.0", - "source-map": "^0.5.0" - }, - "dependencies": { - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - } - } - }, - "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "@babel/core": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.2.tgz", - "integrity": "sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.1.2", - "@babel/helpers": "^7.1.2", - "@babel/parser": "^7.1.2", - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.1.2", - "convert-source-map": "^1.1.0", - "debug": "^3.1.0", - "json5": "^0.5.0", - "lodash": "^4.17.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "@babel/parser": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", - "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", - "dev": true - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz", - "integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==", - "dev": true, - "requires": { - "@babel/types": "^7.1.3", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" - }, - "dependencies": { - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", - "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", - "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-call-delegate": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", - "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.0.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-define-map": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", - "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" - }, - "dependencies": { - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - } - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", - "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", - "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", - "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", - "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0.tgz", - "integrity": "sha512-5tPDap4bGKTLPtci2SUl/B7Gv8RnuJFuQoWx26RJobS0fFrz4reUA3JnwIM+HVHEmWE0C1mzKhDtTp8NsWY02Q==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - } - } - }, - "@babel/helper-module-transforms": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.1.0.tgz", - "integrity": "sha512-0JZRd2yhawo79Rcm4w0LwSMILFmFXjugG3yqf+P/UsKsRS1mJCmMwwlHDlMg7Avr9LrvSpp4ZSULO9r8jpCzcw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" - }, - "dependencies": { - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - } - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", - "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", - "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", - "dev": true - }, - "@babel/helper-regex": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", - "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", - "dev": true, - "requires": { - "lodash": "^4.17.10" - }, - "dependencies": { - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - } - } - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", - "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-wrap-function": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-replace-supers": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz", - "integrity": "sha512-BvcDWYZRWVuDeXTYZWxekQNO5D4kO55aArwZOTFXw6rlLQA8ZaDicJR1sO47h+HrnCiDFiww0fSPV0d713KBGQ==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", - "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", - "dev": true, - "requires": { - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", - "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-wrap-function": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz", - "integrity": "sha512-R6HU3dete+rwsdAfrOzTlE9Mcpk4RjU3aX3gi9grtmugQY0u79X7eogUvfXA5sI81Mfq1cn6AgxihfN33STjJA==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helpers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.2.tgz", - "integrity": "sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA==", - "dev": true, - "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.1.2" - } - }, - "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0.tgz", - "integrity": "sha512-RgJhNdRinpO8zibnoHbzTTexNs4c8ROkXFBanNDZTLHjwbdLk8J5cJSKulx/bycWTLYmKVNCkxRtVCoJnqPk+g==", - "dev": true - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.1.0.tgz", - "integrity": "sha512-Fq803F3Jcxo20MXUSDdmZZXrPe6BWyGcWBPPNB/M7WaUYESKDeKMOGIxEzQOjGSmW/NWb6UaPZrtTB2ekhB/ew==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0", - "@babel/plugin-syntax-async-generators": "^7.0.0" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz", - "integrity": "sha512-kfVdUkIAGJIVmHmtS/40i/fg/AGnw/rsZBCaapY5yjeO5RA9m165Xbw9KMOu2nqXP5dTFjEjHdfNdoVcHv133Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-json-strings": "^7.0.0" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz", - "integrity": "sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz", - "integrity": "sha512-JPqAvLG1s13B/AuoBjdBYvn38RqW6n1TzrQO839/sIpqLpbnXKacsAgpZHzLD83Sm8SDXMkkrAvEnJ25+0yIpw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.0.0" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz", - "integrity": "sha512-tM3icA6GhC3ch2SkmSxv7J/hCWKISzwycub6eGsDrFDgukD4dZ/I+x81XgW0YslS6mzNuQ1Cbzh5osjIMgepPQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.2.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "regexpu-core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", - "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^7.0.0", - "regjsgen": "^0.4.0", - "regjsparser": "^0.3.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.0.2" - } - }, - "regjsgen": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", - "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", - "dev": true - }, - "regjsparser": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", - "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - } - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz", - "integrity": "sha512-im7ged00ddGKAjcZgewXmp1vxSZQQywuQXe2B1A7kajjZmDeY/ekMPmWr9zJgveSaQH0k7BcGrojQhcK06l0zA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz", - "integrity": "sha512-UlSfNydC+XLj4bw7ijpldc1uZ/HB84vw+U6BTuqMdIEmz/LDe63w/GHtpQMdXWdqQZFeAI9PjnHe/vDhwirhKA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz", - "integrity": "sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz", - "integrity": "sha512-Wc+HVvwjcq5qBg1w5RG9o9RVzmCaAg/Vp0erHCKpAYV8La6I94o4GQAmFYNmkzoMO6gzoOSulpKeSSz6mPEoZw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz", - "integrity": "sha512-2EZDBl1WIO/q4DIkIp4s86sdp4ZifL51MoIviLY/gG/mLSuOIEg7J8o6mhbxOTvUJkaN50n+8u41FVsr5KLy/w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.1.0.tgz", - "integrity": "sha512-rNmcmoQ78IrvNCIt/R9U+cixUHeYAzgusTFgIAv+wQb9HJU4szhpDD6e5GCACmj/JP5KxuCwM96bX3L9v4ZN/g==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz", - "integrity": "sha512-AOBiyUp7vYTqz2Jibe1UaAWL0Hl9JUXEgjFvvvcSc9MVDItv46ViXFw2F7SVt1B5k+KWjl44eeXOAk3UDEaJjQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz", - "integrity": "sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" - }, - "dependencies": { - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - } - } - }, - "@babel/plugin-transform-classes": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz", - "integrity": "sha512-rNaqoD+4OCBZjM7VaskladgqnZ1LO6o2UxuWSDzljzW21pN1KXkB7BstAVweZdxQkHAujps5QMNOTWesBciKFg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.8.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", - "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", - "dev": true - } - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz", - "integrity": "sha512-ubouZdChNAv4AAWAgU7QKbB93NU5sHwInEWfp+/OzJKA02E6Woh9RVoX4sZrbRwtybky/d7baTUqwFx+HgbvMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.1.3.tgz", - "integrity": "sha512-Mb9M4DGIOspH1ExHOUnn2UUXFOyVTiX84fXCd+6B5iWrQg/QMeeRmSwpZ9lnjYLSXtZwiw80ytVMr3zue0ucYw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz", - "integrity": "sha512-00THs8eJxOJUFVx1w8i1MBF4XH4PsAjKjQ1eqN/uCH3YKwP21GCKfrn6YZFZswbOk9+0cw1zGQPHVc1KBlSxig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.1.3" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "regexpu-core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", - "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^7.0.0", - "regjsgen": "^0.4.0", - "regjsparser": "^0.3.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.0.2" - } - }, - "regjsgen": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", - "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", - "dev": true - }, - "regjsparser": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", - "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - } - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz", - "integrity": "sha512-w2vfPkMqRkdxx+C71ATLJG30PpwtTpW7DDdLqYt2acXU7YjztzeWW2Jk1T6hKqCLYCcEA5UQM/+xTAm+QCSnuQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.1.0.tgz", - "integrity": "sha512-uZt9kD1Pp/JubkukOGQml9tqAeI8NkE98oZnHZ2qHRElmeKCodbTZgOEUtujSCSLhHSBWbzNiFSDIMC4/RBTLQ==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz", - "integrity": "sha512-TlxKecN20X2tt2UEr2LNE6aqA0oPeMT1Y3cgz8k4Dn1j5ObT8M3nl9aA37LLklx0PBZKETC9ZAf9n/6SujTuXA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.1.0.tgz", - "integrity": "sha512-VxOa1TMlFMtqPW2IDYZQaHsFrq/dDoIjgN098NowhexhZcz3UGlvPgZXuE1jEvNygyWyxRacqDpCZt+par1FNg==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz", - "integrity": "sha512-1NTDBWkeNXgpUcyoVFxbr9hS57EpZYXpje92zv0SUzjdu3enaRwF/l3cmyRnXLtIdyJASyiS6PtybK+CgKf7jA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.1.0.tgz", - "integrity": "sha512-wt8P+xQ85rrnGNr2x1iV3DW32W8zrB6ctuBkYBbf5/ZzJY99Ob4MFgsZDFgczNU76iy9PWsy4EuxOliDjdKw6A==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz", - "integrity": "sha512-wtNwtMjn1XGwM0AXPspQgvmE6msSJP15CX2RVfpTSTNPLhKhaOjaIfBaVfj4iUZ/VrFSodcFedwtPg/NxwQlPA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.1.3.tgz", - "integrity": "sha512-PvTxgjxQAq4pvVUZF3mD5gEtVDuId8NtWkJsZLEJZMZAW3TvgQl1pmydLLN1bM8huHFVVU43lf0uvjQj9FRkKw==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.1.0.tgz", - "integrity": "sha512-enrRtn5TfRhMmbRwm7F8qOj0qEYByqUvTttPEGimcBH4CJHphjyK1Vg7sdU7JjeEmgSpM890IT/efS2nMHwYig==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz", - "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.1.0.tgz", - "integrity": "sha512-/O02Je1CRTSk2SSJaq0xjwQ8hG4zhZGNjE8psTsSNPXyLRCODv7/PBozqT5AmQMzp7MI3ndvMhGdqp9c96tTEw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.1.0" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.1.0.tgz", - "integrity": "sha512-vHV7oxkEJ8IHxTfRr3hNGzV446GAb+0hgbA7o/0Jd76s+YzccdWuTU296FOCOl/xweU4t/Ya4g41yWz80RFCRw==", - "dev": true, - "requires": { - "@babel/helper-call-delegate": "^7.1.0", - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", - "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", - "dev": true, - "requires": { - "regenerator-transform": "^0.13.3" - }, - "dependencies": { - "regenerator-transform": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", - "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", - "dev": true, - "requires": { - "private": "^0.1.6" - } - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz", - "integrity": "sha512-g/99LI4vm5iOf5r1Gdxq5Xmu91zvjhEG5+yZDJW268AZELAu4J1EiFLnkSG3yuUsZyOipVOVUKoGPYwfsTymhw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz", - "integrity": "sha512-L702YFy2EvirrR4shTj0g2xQp7aNwZoWNCkNu2mcoU0uyzMl0XRwDSwzB/xp6DSUFiBmEXuyAyEN16LsgVqGGQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz", - "integrity": "sha512-LFUToxiyS/WD+XEWpkx/XJBrUXKewSZpzX68s+yEOtIbdnsRjpryDw9U06gYc6klYEij/+KQVRnD3nz3AoKmjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz", - "integrity": "sha512-vA6rkTCabRZu7Nbl9DfLZE1imj4tzdWcg5vtdQGvj+OH9itNNB6hxuRMHuIY8SGnEt1T9g5foqs9LnrHzsqEFg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz", - "integrity": "sha512-1r1X5DO78WnaAIvs5uC48t41LLckxsYklJrZjNKcevyz83sF2l4RHbw29qrCPr/6ksFsdfRpT/ZgxNWHXRnffg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz", - "integrity": "sha512-uJBrJhBOEa3D033P95nPHu3nbFwFE9ZgXsfEitzoIXIwqAZWk7uXcg06yFKXz9FSxBH5ucgU/cYdX0IV8ldHKw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.1.3" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "regexpu-core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", - "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^7.0.0", - "regjsgen": "^0.4.0", - "regjsparser": "^0.3.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.0.2" - } - }, - "regjsgen": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", - "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", - "dev": true - }, - "regjsparser": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", - "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - } - } - }, - "@babel/preset-env": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.1.0.tgz", - "integrity": "sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.1.0", - "@babel/plugin-proposal-json-strings": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.0.0", - "@babel/plugin-syntax-async-generators": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.1.0", - "@babel/plugin-transform-block-scoped-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.1.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-dotall-regex": "^7.0.0", - "@babel/plugin-transform-duplicate-keys": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.1.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.1.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-amd": "^7.1.0", - "@babel/plugin-transform-modules-commonjs": "^7.1.0", - "@babel/plugin-transform-modules-systemjs": "^7.0.0", - "@babel/plugin-transform-modules-umd": "^7.1.0", - "@babel/plugin-transform-new-target": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.1.0", - "@babel/plugin-transform-parameters": "^7.1.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typeof-symbol": "^7.0.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "browserslist": "^4.1.0", - "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", - "semver": "^5.3.0" - }, - "dependencies": { - "browserslist": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.2.1.tgz", - "integrity": "sha512-1oO0c7Zhejwd+LXihS89WqtKionSbz298rJZKJgfrHIZhrV8AC15gw553VcB0lcEugja7IhWD7iAlrsamfYVPA==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30000890", - "electron-to-chromium": "^1.3.79", - "node-releases": "^1.0.0-alpha.14" - } - }, - "caniuse-lite": { - "version": "1.0.30000892", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000892.tgz", - "integrity": "sha512-X9rxMaWZNbJB5qjkDqPtNv/yfViTeUL6ILk0QJNxLV3OhKC5Acn5vxsuUvllR6B48mog8lmS+whwHq/QIYSL9w==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.79", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.79.tgz", - "integrity": "sha512-LQdY3j4PxuUl6xfxiFruTSlCniTrTrzAd8/HfsLEMi0PUpaQ0Iy+Pr4N4VllDYjs0Hyu2lkTbvzqlG+PX9NsNw==", - "dev": true - } - } - }, - "@babel/template": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz", - "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.1.2", - "@babel/types": "^7.1.2" - }, - "dependencies": { - "@babel/parser": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", - "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", - "dev": true - } - } - }, - "@babel/traverse": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.4.tgz", - "integrity": "sha512-my9mdrAIGdDiSVBuMjpn/oXYpva0/EZwWL3sm3Wcy/AVWO2eXnsoZruOT9jOGNRXU8KbCIu5zsKnXcAJ6PcV6Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.1.3", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.1.3", - "@babel/types": "^7.1.3", - "debug": "^3.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" - }, - "dependencies": { - "@babel/parser": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", - "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", - "dev": true - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "globals": { - "version": "11.8.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", - "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", - "dev": true - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" - }, - "dependencies": { - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - } - } - }, - "@magenta/music": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@magenta/music/-/music-1.20.0.tgz", - "integrity": "sha512-/WSdKaKt+omMKXwf/LRHb9UgfwcCWQKbMwM6HFauXATTReg2Tz/5sIZ2FTaXfNvmX+d7/NZp5ZGifJGpzRUI/A==", - "requires": { - "@tensorflow/tfjs": "^1.1.2", - "@tonejs/midi": "^2.0.15", - "fft.js": "^4.0.3", - "ndarray-resample": "^1.0.1", - "protobufjs": "^6.8.6", - "staffrender": "^0.2.1", - "tonal": "^2.0.0", - "tone": "^13.8.21" - } - }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", - "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" - }, - "@tensorflow/tfjs": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-1.7.4.tgz", - "integrity": "sha512-XWGwRQ/ECEoQacd74JY/dmbLdnMpwtq3H8tls45dQ+GJ553Advir1FDo/aQt0Yr6fTimQDeiOIG4Mcb5KduP/w==", - "requires": { - "@tensorflow/tfjs-converter": "1.7.4", - "@tensorflow/tfjs-core": "1.7.4", - "@tensorflow/tfjs-data": "1.7.4", - "@tensorflow/tfjs-layers": "1.7.4" - } - }, - "@tensorflow/tfjs-converter": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-1.7.4.tgz", - "integrity": "sha512-B/Ux9I3osI0CXoESGR0Xe5C6BsEfC04+g2xn5zVaW9KEuVEnGEgnuBQxgijRFzkqTwoyLv4ptAmjyIghVARX0Q==" - }, - "@tensorflow/tfjs-core": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-1.7.4.tgz", - "integrity": "sha512-3G4VKJ6nPs7iCt6gs3bjRj8chihKrYWenf63R0pm7D9MhlrVoX/tpN4LYVMGgBL7jHPxMLKdOkoAZJrn/J88HQ==", - "requires": { - "@types/offscreencanvas": "~2019.3.0", - "@types/seedrandom": "2.4.27", - "@types/webgl-ext": "0.0.30", - "@types/webgl2": "0.0.4", - "node-fetch": "~2.1.2", - "seedrandom": "2.4.3" - }, - "dependencies": { - "node-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", - "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" - } - } - }, - "@tensorflow/tfjs-data": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-1.7.4.tgz", - "integrity": "sha512-WFYG9wWjNDi62x6o3O20Q0XJxToCw2J4/fBEXiK/Gr0hIqVhl2oLQ1OjTWq7O08NUxM6BRzuG+ra3gWYdQUzOw==", - "requires": { - "@types/node-fetch": "^2.1.2", - "node-fetch": "~2.1.2" - }, - "dependencies": { - "node-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", - "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" - } - } - }, - "@tensorflow/tfjs-layers": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-1.7.4.tgz", - "integrity": "sha512-5/K8Z8RBfXsucL6EaSeb3/8jB/I8oPaaXkxwKVsBPQ+u6lB6LEtSKzeiFc57nDr5OMtVaUZV+pKDNEzP0RUQlg==" - }, - "@tonejs/midi": { - "version": "2.0.25", - "resolved": "https://registry.npmjs.org/@tonejs/midi/-/midi-2.0.25.tgz", - "integrity": "sha512-zT8pZy/upJCGqXHSCO1+U39wgWIaizDg+sv7nVReJehMcT86Peh+zo5kQ42Guwgc/gnv47n7fJhoTRGsJVaqJQ==", - "requires": { - "array-flatten": "^2.1.2", - "midi-file": "^1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - } - } - }, - "@types/long": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", - "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" - }, - "@types/node": { - "version": "14.14.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.9.tgz", - "integrity": "sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==" - }, - "@types/node-fetch": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", - "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", - "requires": { - "@types/node": "*", - "form-data": "^3.0.0" - }, - "dependencies": { - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "form-data": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", - "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "@types/offscreencanvas": { - "version": "2019.3.0", - "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.3.0.tgz", - "integrity": "sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==" - }, - "@types/seedrandom": { - "version": "2.4.27", - "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-2.4.27.tgz", - "integrity": "sha1-nbVjk33YaRX2kJK8QyWdL0hXjkE=" - }, - "@types/webgl-ext": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/webgl-ext/-/webgl-ext-0.0.30.tgz", - "integrity": "sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==" - }, - "@types/webgl2": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.4.tgz", - "integrity": "sha512-PACt1xdErJbMUOUweSrbVM7gSIYm1vTncW2hF6Os/EeWi6TXYAYMPp+8v6rzHmypE5gHrxaxZNXgMkJVIdZpHw==" - }, - "@vernier/godirect": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@vernier/godirect/-/godirect-1.5.0.tgz", - "integrity": "sha512-vMS0fQubI3WSSLg1Ry3aey/qWCl9XoCsFzgwOWYkeJs45YxjPel+42pLh5pO7uP6oF47sjZUKx8kGOoTiiiirA==" - }, - "@webassemblyjs/ast": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.5.13.tgz", - "integrity": "sha512-49nwvW/Hx9i+OYHg+mRhKZfAlqThr11Dqz8TsrvqGKMhdI2ijy3KBJOun2Z4770TPjrIJhR6KxChQIDaz8clDA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/wast-parser": "1.5.13", - "debug": "^3.1.0", - "mamacro": "^0.0.3" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz", - "integrity": "sha512-vrvvB18Kh4uyghSKb0NTv+2WZx871WL2NzwMj61jcq2bXkyhRC+8Q0oD7JGVf0+5i/fKQYQSBCNMMsDMRVAMqA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz", - "integrity": "sha512-dBh2CWYqjaDlvMmRP/kudxpdh30uXjIbpkLj9HQe+qtYlwvYjPRjdQXrq1cTAAOUSMTtzqbXIxEdEZmyKfcwsg==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz", - "integrity": "sha1-hzuwobRkSSMRN8EmLd/QVpUZWh4=", - "dev": true, - "requires": { - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz", - "integrity": "sha512-yN6ScQQDFCiAXnVctdVO/J5NQRbwyTbQzsGzEgXsAnrxhjp0xihh+nNHQTMrq5UhOqTb5LykpJAvEv9AT0jnAQ==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.5.13" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz", - "integrity": "sha512-hSIKzbXjVMRvy3Jzhgu+vDd/aswJ+UMEnLRCkZDdknZO3Z9e6rp1DAs0tdLItjCFqkz9+0BeOPK/mk3eYvVzZg==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz", - "integrity": "sha512-zxJXULGPLB7r+k+wIlvGlXpT4CYppRz8fLUM/xobGHc9Z3T6qlmJD9ySJ2jknuktuuiR9AjnNpKYDECyaiX+QQ==", - "dev": true, - "requires": { - "debug": "^3.1.0", - "mamacro": "^0.0.3" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz", - "integrity": "sha512-0n3SoNGLvbJIZPhtMFq0XmmnA/YmQBXaZKQZcW8maGKwLpVcgjNrxpFZHEOLKjXJYVN5Il8vSfG7nRX50Zn+aw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz", - "integrity": "sha1-78dvRKENMHO1hLQ8OKF53xc9XH0=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-buffer": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/wasm-gen": "1.5.13", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "@webassemblyjs/ieee754": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz", - "integrity": "sha1-Vz6XyMEuTuuzFspf3gID3dkLA2Q=", - "dev": true, - "requires": { - "ieee754": "^1.1.11" - } - }, - "@webassemblyjs/leb128": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.5.13.tgz", - "integrity": "sha1-q1Lrq5zsKDwcGJesHagzoEo/TO4=", - "dev": true, - "requires": { - "long": "4.0.0" - }, - "dependencies": { - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha1-mntxz7fTYaGU6lVSQckvdGjVvyg=", - "dev": true - } - } - }, - "@webassemblyjs/utf8": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.5.13.tgz", - "integrity": "sha1-a1PSzYYc+U+pnB8Sd53eaS+8JGk=", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz", - "integrity": "sha1-yc71ZkwkXPEbOzpzEQyRVYMXJKg=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-buffer": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/helper-wasm-section": "1.5.13", - "@webassemblyjs/wasm-gen": "1.5.13", - "@webassemblyjs/wasm-opt": "1.5.13", - "@webassemblyjs/wasm-parser": "1.5.13", - "@webassemblyjs/wast-printer": "1.5.13", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz", - "integrity": "sha1-jm6hE8S0MvpmVAGJ55sW16FAcA4=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/ieee754": "1.5.13", - "@webassemblyjs/leb128": "1.5.13", - "@webassemblyjs/utf8": "1.5.13" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz", - "integrity": "sha1-FHqtdxen7kIRw2shpfTDDd3zMTg=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-buffer": "1.5.13", - "@webassemblyjs/wasm-gen": "1.5.13", - "@webassemblyjs/wasm-parser": "1.5.13", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz", - "integrity": "sha1-b0ZRbFuyOQT731gAkjPC3YpUxy8=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-api-error": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/ieee754": "1.5.13", - "@webassemblyjs/leb128": "1.5.13", - "@webassemblyjs/utf8": "1.5.13" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz", - "integrity": "sha512-Lbz65T0LQ1LgzKiUytl34CwuhMNhaCLgrh0JW4rJBN6INnBB8NMwUfQM+FxTnLY9qJ+lHJL/gCM5xYhB9oWi4A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/floating-point-hex-parser": "1.5.13", - "@webassemblyjs/helper-api-error": "1.5.13", - "@webassemblyjs/helper-code-frame": "1.5.13", - "@webassemblyjs/helper-fsm": "1.5.13", - "long": "^3.2.0", - "mamacro": "^0.0.3" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz", - "integrity": "sha512-QcwogrdqcBh8Z+eUF8SG+ag5iwQSXxQJELBEHmLkk790wgQgnIMmntT2sMAMw53GiFNckArf5X0bsCA44j3lWQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/wast-parser": "1.5.13", - "long": "^3.2.0" - } - }, - "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", - "dev": true, - "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" - }, - "dependencies": { - "mime-db": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=", - "dev": true - }, - "mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha1-ceRkU3p++BwV8tudl+kT/A/2BvA=", - "dev": true, - "requires": { - "mime-db": "~1.35.0" - } - } - } - }, - "acorn": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", - "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==" - }, - "acorn-dynamic-import": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", - "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", - "dev": true, - "requires": { - "acorn": "^5.0.0" - } - }, - "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", - "dev": true, - "requires": { - "acorn": "^3.0.4" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true - } - } - }, - "adm-zip": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.11.tgz", - "integrity": "sha512-L8vcjDTCOIJk7wFvmlEUN7AsSb8T+2JrdP7KINBjzr24TJ5Mwj590sLu3BC7zNZowvJWa/JtPmD8eJCzdtDWjA==", - "dev": true - }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" - }, - "ajv": { - "version": "4.11.8", - "resolved": "http://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "requires": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" - } - }, - "ajv-errors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz", - "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=", - "dev": true - }, - "ajv-keywords": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", - "dev": true - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" - }, - "ansi-escapes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", - "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", - "dev": true - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-flatten": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", - "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", - "dev": true - }, - "array-includes": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", - "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "arraybuffer-loader": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/arraybuffer-loader/-/arraybuffer-loader-1.0.6.tgz", - "integrity": "sha1-3gZExXCnnOK7vGCcdaZ8go9jYsc=", - "requires": { - "loader-utils": "^1.1.0" - } - }, - "arraybuffer.slice": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", - "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=" - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true, - "optional": true - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "dev": true, - "requires": { - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "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=" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "audio-context": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/audio-context/-/audio-context-1.0.1.tgz", - "integrity": "sha1-zsTbis5u9KrL8Q7vCXekVxRo1Ks=", - "dev": true, - "requires": { - "global": "^4.3.1" - } - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" - }, - "aws4": { - "version": "1.6.0", - "resolved": "http://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" - }, - "babel-code-frame": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", - "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", - "dev": true, - "requires": { - "chalk": "^1.1.0", - "esutils": "^2.0.2", - "js-tokens": "^3.0.0" - } - }, - "babel-eslint": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz", - "integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "eslint-scope": "3.7.1", - "eslint-visitor-keys": "^1.0.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "@babel/generator": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz", - "integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==", - "dev": true, - "requires": { - "@babel/types": "^7.1.3", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" - } - }, - "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", - "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/template": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz", - "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.1.2", - "@babel/types": "^7.1.2" - }, - "dependencies": { - "@babel/parser": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", - "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", - "dev": true - } - } - }, - "@babel/traverse": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.4.tgz", - "integrity": "sha512-my9mdrAIGdDiSVBuMjpn/oXYpva0/EZwWL3sm3Wcy/AVWO2eXnsoZruOT9jOGNRXU8KbCIu5zsKnXcAJ6PcV6Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.1.3", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.1.3", - "@babel/types": "^7.1.3", - "debug": "^3.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" - }, - "dependencies": { - "@babel/parser": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", - "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "globals": { - "version": "11.8.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", - "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "jsesc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", - "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", - "dev": true - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - } - } - }, - "babel-loader": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.4.tgz", - "integrity": "sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==", - "dev": true, - "requires": { - "find-cache-dir": "^1.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1", - "util.promisify": "^1.0.0" - } - }, - "babel-plugin-extract-format-message": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-extract-format-message/-/babel-plugin-extract-format-message-6.2.0.tgz", - "integrity": "sha512-aFr8LeYCAlPjXGMaKlCGkrAxMNjPfS4FXAV7VLY4qgF+68xpHooqpkJndOA7cYSkeXO3LFCwOA4oy14xeEOmZg==", - "dev": true, - "requires": { - "format-message-estree-util": "^6.1.0", - "format-message-generate-id": "^6.2.0", - "format-message-parse": "^6.2.0", - "format-message-print": "^6.2.0" - }, - "dependencies": { - "format-message-parse": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", - "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", - "dev": true - } - } - }, - "babel-plugin-react-intl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-2.4.0.tgz", - "integrity": "sha512-r67nOQdpKxPtDFiJHquTt9dBG0xOlBk1u3rForULNrDXvTzg5RRHbB7RLqqMWOvqfP2znTo0C+e/PLnPKt+JXA==", - "dev": true, - "requires": { - "babel-runtime": "^6.2.0", - "intl-messageformat-parser": "^1.2.0", - "mkdirp": "^0.5.1" - } - }, - "babel-plugin-transform-format-message": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-format-message/-/babel-plugin-transform-format-message-6.2.0.tgz", - "integrity": "sha512-rj88gOe7ENYKSX74Yd0wTpUr1Ty8247OfGZqJh6flwElt8vtBwBAGONXoEG0B+QlRpm9iDgiPJhpFCv3tEok/w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/parser": "^7.0.0", - "format-message": "^6.2.0", - "format-message-estree-util": "^6.1.0", - "format-message-formats": "^6.2.0", - "format-message-generate-id": "^6.2.0", - "format-message-parse": "^6.2.0", - "lookup-closest-locale": "^6.2.0", - "source-map": "^0.5.7" - }, - "dependencies": { - "format-message": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.0.tgz", - "integrity": "sha512-QzjDk0owKnAj/+HviUIaR6I3y6zOa8hKdbQbkl7ejkjbaVJ0j4YWllZmZDAyNrG2iEWdqKCmIU1mum8mHGLEFw==", - "dev": true, - "requires": { - "format-message-formats": "^6.2.0", - "format-message-interpret": "^6.2.0", - "format-message-parse": "^6.2.0", - "lookup-closest-locale": "^6.2.0" - } - }, - "format-message-formats": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", - "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==", - "dev": true - }, - "format-message-interpret": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.0.tgz", - "integrity": "sha512-G2WxW9c/vk97rPgbP67p/6BdpoZI8g4LdKDIqxAlXQq1ZI3uQTV2a5f9q3Big04hjSsI8uTgzWWmF4ht50foyw==", - "dev": true, - "requires": { - "format-message-formats": "^6.2.0", - "lookup-closest-locale": "^6.2.0" - } - }, - "format-message-parse": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", - "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", - "dev": true - }, - "lookup-closest-locale": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", - "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" - }, - "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 - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" - }, - "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", - "dev": true - }, - "base64-loader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64-loader/-/base64-loader-1.0.0.tgz", - "integrity": "sha1-5TC62I6QbdKh+tCvLZ5oP6i9kqg=", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "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.3" - } - }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "requires": { - "callsite": "1.0.0" - } - }, - "big.js": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", - "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=" - }, - "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", - "dev": true - }, - "bind-obj-methods": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-2.0.0.tgz", - "integrity": "sha1-AXgUDb57e7Z9x0iSrOWbwCR/BvA=", - "dev": true - }, - "bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, - "blob": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", - "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=" - }, - "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=", - "dev": true - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=", - "dev": true - }, - "body-parser": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", - "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", - "dev": true, - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", - "iconv-lite": "0.4.19", - "on-finished": "~2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "~1.6.15" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", - "dev": true - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "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.x.x" - } - }, - "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.1", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browser-stdout": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", - "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "btoa": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", - "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" - }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", - "dev": true - }, - "buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "cacache": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" - }, - "dependencies": { - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, - "requires": { - "glob": "^7.0.5" - } - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true, - "requires": { - "callsites": "^0.2.0" - } - }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" - }, - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - } - } - }, - "canvas-toBlob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canvas-toBlob/-/canvas-toBlob-1.0.0.tgz", - "integrity": "sha1-m/MrKGu04SUhiyCO7MgyH9Az5sM=" - }, - "caseless": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=" - }, - "catharsis": { - "version": "0.8.9", - "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz", - "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", - "dev": true, - "requires": { - "underscore-contrib": "~0.3.0" - } - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true - }, - "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" - } - }, - "chownr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", - "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-yaml-object": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", - "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", - "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", - "dev": true, - "requires": { - "color-name": "1.1.1" - } - }, - "color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", - "dev": true - }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI=", - "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=", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "requires": { - "graceful-readlink": ">= 1.0.0" - } - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "http://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" - }, - "compressible": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", - "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", - "dev": true, - "requires": { - "mime-db": ">= 1.34.0 < 2" - }, - "dependencies": { - "mime-db": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=", - "dev": true - } - } - }, - "compression": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", - "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.14", - "debug": "2.6.9", - "on-headers": "~1.0.1", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "connect-history-api-fallback": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", - "dev": true - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "requires": { - "date-now": "^0.1.4" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "dev": true - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", - "dev": true - }, - "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", - "dev": true - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.4.tgz", - "integrity": "sha512-0lstlEyj74OAtYMrDxlNZsU7cwFijAI3Ofz2fD6Mpo9r4xCv4yegfa3uHIKvZY1NSuOtE9nvG6TAhJ+uz9gDaQ==", - "dev": true, - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "globby": "^7.1.1", - "is-glob": "^4.0.0", - "loader-utils": "^1.1.0", - "minimatch": "^3.0.4", - "p-limit": "^1.0.0", - "serialize-javascript": "^1.4.0" - }, - "dependencies": { - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", - "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=" - }, - "coveralls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.2.tgz", - "integrity": "sha512-Tv0LKe/MkBOilH2v7WBiTBdudg2ChfGbdXafc/s330djpF3zKOmuehTeRwjXWc7pzfj9FrDUTA7tEx6Div8NFw==", - "dev": true, - "requires": { - "growl": "~> 1.10.0", - "js-yaml": "^3.11.0", - "lcov-parse": "^0.0.10", - "log-driver": "^1.2.7", - "minimist": "^1.2.0", - "request": "^2.85.0" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "combined-stream": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "1.0.6", - "mime-types": "^2.1.12" - } - }, - "har-validator": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", - "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", - "dev": true, - "requires": { - "ajv": "^5.3.0", - "har-schema": "^2.0.0" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "mime-db": { - "version": "1.36.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", - "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", - "dev": true - }, - "mime-types": { - "version": "2.1.20", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", - "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", - "dev": true, - "requires": { - "mime-db": "~1.36.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "requires": { - "psl": "^1.1.24", - "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, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - } - } - }, - "crc32": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/crc32/-/crc32-0.2.2.tgz", - "integrity": "sha1-etIg1v/c0Rn5/BJ6d3LKzqOQpLo=", - "dev": true - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "requires": { - "boom": "2.x.x" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "cwise": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/cwise/-/cwise-1.0.10.tgz", - "integrity": "sha1-JO7mBy69/WuMb12tsXCQtkmxK+8=", - "requires": { - "cwise-compiler": "^1.1.1", - "cwise-parser": "^1.0.0", - "static-module": "^1.0.0", - "uglify-js": "^2.6.0" - }, - "dependencies": { - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", - "requires": { - "readable-stream": "~1.1.9" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "escodegen": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", - "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", - "requires": { - "esprima": "~1.1.1", - "estraverse": "~1.5.0", - "esutils": "~1.0.0", - "source-map": "~0.1.33" - } - }, - "esprima": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", - "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=" - }, - "estraverse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", - "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=" - }, - "esutils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", - "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=" - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "object-inspect": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz", - "integrity": "sha1-9RV8EWwUVbJDsG7pdwM5LFrYn+w=" - }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" - }, - "quote-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-0.0.0.tgz", - "integrity": "sha1-zeKelMQJsW4Z3HCYuJtmWPlyHTs=", - "requires": { - "minimist": "0.0.8", - "through2": "~0.4.1" - } - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "optional": true, - "requires": { - "amdefine": ">=0.0.4" - } - }, - "static-eval": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-0.2.4.tgz", - "integrity": "sha1-t9NNg4k3uWn5ZBygfUj47eJj6ns=", - "requires": { - "escodegen": "~0.0.24" - }, - "dependencies": { - "escodegen": { - "version": "0.0.28", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz", - "integrity": "sha1-Dk/xcV8yh3XWyrUaxEpAbNer/9M=", - "requires": { - "esprima": "~1.0.2", - "estraverse": "~1.3.0", - "source-map": ">= 0.1.2" - } - }, - "esprima": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=" - }, - "estraverse": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz", - "integrity": "sha1-N8K4k+8T1yPydth41g2FNRUqbEI=" - } - } - }, - "static-module": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/static-module/-/static-module-1.5.0.tgz", - "integrity": "sha1-J9qYg8QajNCSNvhC8MHrxu32PYY=", - "requires": { - "concat-stream": "~1.6.0", - "duplexer2": "~0.0.2", - "escodegen": "~1.3.2", - "falafel": "^2.1.0", - "has": "^1.0.0", - "object-inspect": "~0.4.0", - "quote-stream": "~0.0.0", - "readable-stream": "~1.0.27-1", - "shallow-copy": "~0.0.1", - "static-eval": "~0.2.0", - "through2": "~0.4.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "through2": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", - "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", - "requires": { - "readable-stream": "~1.0.17", - "xtend": "~2.1.1" - } - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "cwise-compiler": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz", - "integrity": "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=", - "requires": { - "uniq": "^1.0.0" - } - }, - "cwise-parser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cwise-parser/-/cwise-parser-1.0.3.tgz", - "integrity": "sha1-jkk8F9VPl8sDCp6YVLyGyd+zVP4=", - "requires": { - "esprima": "^1.0.3", - "uniq": "^1.0.0" - }, - "dependencies": { - "esprima": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz", - "integrity": "sha1-CZNQL+r2aBODJXVvMPmlH+7sEek=" - } - } - }, - "cyclist": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", - "dev": true - }, - "d": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true, - "requires": { - "es5-ext": "^0.10.9" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } - } - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, - "debug": { - "version": "2.6.6", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.6.6.tgz", - "integrity": "sha1-qfpvvpykPPHnn3O3XAGJy7fW21o=", - "requires": { - "ms": "0.7.3" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-html": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decode-html/-/decode-html-2.0.0.tgz", - "integrity": "sha1-fQqIfORCgOYJeKcH67f4CB/WHqo=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "define-properties": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", - "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", - "dev": true, - "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-node": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", - "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", - "dev": true - }, - "diff": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", - "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", - "dev": true - }, - "diff-match-patch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.4.tgz", - "integrity": "sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg==" - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo=", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "docdash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/docdash/-/docdash-1.0.0.tgz", - "integrity": "sha512-HhK72PT4z55og8FDqskO/tTYXxU+LovRz+9pCDHLnUoPchkxjdIJidS+96LqW3CLrRdBmnkDRrcVrDFGLIluTw==", - "dev": true - }, - "doctrine": { - "version": "2.0.0", - "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", - "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" - } - } - }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", - "dev": true - }, - "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "requires": { - "domelementtype": "1" - } - }, - "dompurify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.1.1.tgz", - "integrity": "sha512-NijiNVkS/OL8mdQL1hUbCD6uty/cgFpmNiuFxrmJ5YPH2cXrPKIewoixoji56rbZ6XBPmtM8GA8/sf9unlSuwg==", - "dev": true - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dup": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz", - "integrity": "sha1-UfxaxoX4GWRp3wuQXpNLIK9bQCk=" - }, - "duplexify": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", - "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "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.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dev": true, - "optional": true, - "requires": { - "iconv-lite": "~0.4.13" - } - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "engine.io-client": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.4.tgz", - "integrity": "sha1-T88TcLRxY70s6b4nM5ckMDUNTqE=", - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "~2.6.9", - "engine.io-parser": "~2.1.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~3.3.1", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "engine.io-parser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.1.tgz", - "integrity": "sha1-4Ps/DgRi9/WLt3waUun1p+JuRmg=", - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "0.0.6", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.4", - "has-binary2": "~1.0.2" - } - }, - "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" - } - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz", - "integrity": "sha1-aQgpoHyuNrIi5/2bdcDQVz6yUic=", - "dev": true, - "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" - } - }, - "es-to-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", - "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", - "dev": true, - "requires": { - "is-callable": "^1.1.1", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.1" - } - }, - "es5-ext": { - "version": "0.10.16", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.16.tgz", - "integrity": "sha1-HvGwTz0J22pdYwIm1iIC8uQl5Fo=", - "dev": true, - "requires": { - "es6-iterator": "2", - "es6-symbol": "~3.1" - } - }, - "es6-iterator": { - "version": "2.0.1", - "resolved": "http://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", - "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.14", - "es6-symbol": "^3.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "http://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" - } - }, - "es6-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", - "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=" - }, - "es6-set": { - "version": "0.1.5", - "resolved": "http://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "http://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "http://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" - } - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.3.0.tgz", - "integrity": "sha1-U2laylITloqs35cMyyMeQqKyhfg=", - "dev": true, - "requires": { - "ajv": "^6.5.0", - "babel-code-frame": "^6.26.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^4.0.0", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^4.0.0", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.2", - "imurmurhash": "^0.1.4", - "inquirer": "^5.2.0", - "is-resolvable": "^1.1.0", - "js-yaml": "^3.11.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.5", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "regexpp": "^2.0.0", - "require-uncached": "^1.0.3", - "semver": "^5.5.0", - "string.prototype.matchall": "^2.0.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^4.0.3", - "text-table": "^0.2.0" - }, - "dependencies": { - "acorn": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", - "integrity": "sha1-8JWCkpdwanyXdpWMCvyJMKm52dg=", - "dev": true - }, - "acorn-jsx": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz", - "integrity": "sha1-6OQeSOov4MiWdAYQq2pP/YrdIl4=", - "dev": true, - "requires": { - "acorn": "^5.0.3" - } - }, - "ajv": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", - "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "eslint-scope": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", - "integrity": "sha1-UL8wcekzi83EMzF5Sgy1M/ATYXI=", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "espree": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-4.0.0.tgz", - "integrity": "sha1-JTmY8goPgttdhmOFeZ2RKoOjZjQ=", - "dev": true, - "requires": { - "acorn": "^5.6.0", - "acorn-jsx": "^4.1.1" - } - }, - "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg=", - "dev": true, - "requires": { - "estraverse": "^4.0.0" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "globals": { - "version": "11.7.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", - "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", - "dev": true - }, - "ignore": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.5.tgz", - "integrity": "sha512-Q2daVnMtQJPacGrcCRyOEiI+syPCt+mR4YotoC0KEYeinV/6HztT5mUuVEj7UYyoNZ1jGYiu2XEem7I8oM44bg==", - "dev": true - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", - "dev": true - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha1-G3eTz3JZ6jj7NmHU04syYK+K5Oc=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - }, - "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 - } - } - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - } - } - }, - "eslint-config-scratch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-scratch/-/eslint-config-scratch-5.0.0.tgz", - "integrity": "sha1-s3OvhEFNO+0nkq3kGOmgxvrnmf0=", - "dev": true, - "requires": { - "eslint-plugin-react": "^7.0" - } - }, - "eslint-plugin-format-message": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-format-message/-/eslint-plugin-format-message-6.2.0.tgz", - "integrity": "sha512-9Q1F0ndotgcDqbFDl99gSoubjHLfaOYnpp7X8+tEhfFrRIb+AAVYI5aUZdg+sEd7+UGGQbTMv8u+vwaCDda2sQ==", - "dev": true, - "requires": { - "format-message": "^6.2.0", - "format-message-estree-util": "^6.1.0", - "format-message-generate-id": "^6.2.0", - "format-message-parse": "^6.2.0", - "lookup-closest-locale": "^6.2.0" - }, - "dependencies": { - "format-message": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.0.tgz", - "integrity": "sha512-QzjDk0owKnAj/+HviUIaR6I3y6zOa8hKdbQbkl7ejkjbaVJ0j4YWllZmZDAyNrG2iEWdqKCmIU1mum8mHGLEFw==", - "dev": true, - "requires": { - "format-message-formats": "^6.2.0", - "format-message-interpret": "^6.2.0", - "format-message-parse": "^6.2.0", - "lookup-closest-locale": "^6.2.0" - } - }, - "format-message-formats": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", - "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==", - "dev": true - }, - "format-message-interpret": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.0.tgz", - "integrity": "sha512-G2WxW9c/vk97rPgbP67p/6BdpoZI8g4LdKDIqxAlXQq1ZI3uQTV2a5f9q3Big04hjSsI8uTgzWWmF4ht50foyw==", - "dev": true, - "requires": { - "format-message-formats": "^6.2.0", - "lookup-closest-locale": "^6.2.0" - } - }, - "format-message-parse": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", - "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", - "dev": true - }, - "lookup-closest-locale": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", - "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==", - "dev": true - } - } - }, - "eslint-plugin-react": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.5.1.tgz", - "integrity": "sha1-UuVujYDIEN4ViFnvB7iA0vVu4ws=", - "dev": true, - "optional": true, - "requires": { - "doctrine": "^2.0.0", - "has": "^1.0.1", - "jsx-ast-utils": "^2.0.0", - "prop-types": "^15.6.0" - } - }, - "eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", - "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", - "dev": true - }, - "eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha1-PzGA+y4pEBdxastMnW1bXDSmqB0=", - "dev": true - }, - "espree": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", - "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", - "dev": true, - "requires": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", - "dev": true, - "requires": { - "estraverse": "^4.0.0" - } - }, - "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", - "dev": true, - "requires": { - "estraverse": "^4.1.0", - "object-assign": "^4.0.1" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "http://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "eventemitter3": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", - "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", - "dev": true - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", - "dev": true - }, - "events-to-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", - "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", - "dev": true - }, - "eventsource": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", - "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", - "dev": true, - "requires": { - "original": ">=0.0.5" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } - } - }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "exports-loader": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.3.tgz", - "integrity": "sha1-V9x4kX9wm5byR/qR5ptVTIVQE8g=", - "dev": true, - "requires": { - "loader-utils": "0.2.x", - "source-map": "0.1.x" - }, - "dependencies": { - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "expose-loader": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-0.7.5.tgz", - "integrity": "sha512-iPowgKUZkTPX5PznYsmifVj9Bob0w2wTHVkt/eYNPSzyebkUgIedmskf/kcfEIWpiWjg3JRjnW+a17XypySMuw==", - "dev": true - }, - "express": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", - "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.2", - "content-disposition": "0.5.2", - "content-type": "~1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.1.1", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.3", - "qs": "6.5.1", - "range-parser": "~1.2.0", - "safe-buffer": "5.1.1", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", - "dev": true - } - } - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "dev": true, - "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "falafel": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", - "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", - "requires": { - "acorn": "^5.0.0", - "foreach": "^2.0.5", - "isarray": "0.0.1", - "object-keys": "^1.0.6" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - } - } - }, - "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fbjs": { - "version": "0.8.16", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", - "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", - "dev": true, - "optional": true, - "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.9" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", - "dev": true, - "optional": true - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", - "dev": true, - "optional": true, - "requires": { - "asap": "~2.0.3" - } - } - } - }, - "fft.js": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fft.js/-/fft.js-4.0.3.tgz", - "integrity": "sha1-sAhO+pQYj+vdHP/mhpH0yFoPuMs=" - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true, - "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" - } - }, - "file-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz", - "integrity": "sha1-OXScgvAguehZAdz/mOgATmQBz94=", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", - "integrity": "sha1-JH1SdBENtlNwa1UPzCt5fKKM/Fk=", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", - "dev": true - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - } - } - }, - "filename-reserved-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", - "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=", - "dev": true - }, - "filenamify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", - "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", - "dev": true, - "requires": { - "filename-reserved-regex": "^1.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - } - }, - "filenamify-url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", - "integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=", - "dev": true, - "requires": { - "filenamify": "^1.0.0", - "humanize-url": "^1.0.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "flat-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", - "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", - "dev": true, - "requires": { - "circular-json": "^0.3.1", - "del": "^2.0.2", - "graceful-fs": "^4.1.2", - "write": "^0.2.1" - } - }, - "flush-write-stream": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", - "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" - } - }, - "follow-redirects": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.2.tgz", - "integrity": "sha512-kssLorP/9acIdpQ2udQVTiCS5LQmdEz9mvdIfDcl1gYX2tPKFADHSyFdvJS040XdFsPzemWtgI3q8mFVCxtX8A==", - "dev": true, - "requires": { - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "for-each": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", - "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=", - "requires": { - "is-function": "~1.0.0" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", - "dev": true, - "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - } - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" - } - }, - "format-message": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.1.tgz", - "integrity": "sha1-kKJ9KJYNQRT5mRL9Uc2heJvdP/A=", - "requires": { - "format-message-formats": "^6.2.0", - "format-message-interpret": "^6.2.0", - "format-message-parse": "^6.2.0", - "lookup-closest-locale": "^6.2.0" - }, - "dependencies": { - "format-message-formats": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", - "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==" - }, - "format-message-parse": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", - "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==" - }, - "lookup-closest-locale": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", - "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==" - } - } - }, - "format-message-cli": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-cli/-/format-message-cli-6.2.0.tgz", - "integrity": "sha512-NpbIyGj6oqpGwtKJlV3PeVUqRwpbfdnDEdd9QGkABQ1hTIguGyQAQyKH23hBKWKTaqvI1IY2LHBqGkEtwa/Sgg==", - "dev": true, - "requires": { - "@babel/core": "^7.0.0", - "babel-plugin-extract-format-message": "^6.2.0", - "babel-plugin-transform-format-message": "^6.2.0", - "commander": "^2.11.0", - "eslint": "^3.19.0", - "eslint-plugin-format-message": "^6.2.0", - "glob": "^5.0.15", - "js-yaml": "^3.10.0", - "mkdirp": "^0.5.1", - "safe-buffer": "^5.1.1", - "source-map": "^0.5.7" - }, - "dependencies": { - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", - "dev": true - }, - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "dev": true, - "requires": { - "restore-cursor": "^1.0.1" - } - }, - "commander": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", - "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", - "dev": true - }, - "eslint": { - "version": "3.19.0", - "resolved": "http://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", - "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", - "dev": true, - "requires": { - "babel-code-frame": "^6.16.0", - "chalk": "^1.1.3", - "concat-stream": "^1.5.2", - "debug": "^2.1.1", - "doctrine": "^2.0.0", - "escope": "^3.6.0", - "espree": "^3.4.0", - "esquery": "^1.0.0", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "glob": "^7.0.3", - "globals": "^9.14.0", - "ignore": "^3.2.0", - "imurmurhash": "^0.1.4", - "inquirer": "^0.12.0", - "is-my-json-valid": "^2.10.0", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.5.1", - "json-stable-stringify": "^1.0.0", - "levn": "^0.3.0", - "lodash": "^4.0.0", - "mkdirp": "^0.5.0", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.1", - "pluralize": "^1.2.1", - "progress": "^1.1.8", - "require-uncached": "^1.0.2", - "shelljs": "^0.7.5", - "strip-bom": "^3.0.0", - "strip-json-comments": "~2.0.1", - "table": "^3.7.8", - "text-table": "~0.2.0", - "user-home": "^2.0.0" - }, - "dependencies": { - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "inquirer": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", - "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", - "dev": true, - "requires": { - "ansi-escapes": "^1.1.0", - "ansi-regex": "^2.0.0", - "chalk": "^1.0.0", - "cli-cursor": "^1.0.1", - "cli-width": "^2.0.0", - "figures": "^1.3.5", - "lodash": "^4.3.0", - "readline2": "^1.0.1", - "run-async": "^0.1.0", - "rx-lite": "^3.1.2", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.0", - "through": "^2.3.6" - } - }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true - }, - "pluralize": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", - "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", - "dev": true - }, - "progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", - "dev": true - }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "dev": true, - "requires": { - "exit-hook": "^1.0.0", - "onetime": "^1.0.0" - } - }, - "run-async": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", - "dev": true, - "requires": { - "once": "^1.3.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "table": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", - "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", - "dev": true, - "requires": { - "ajv": "^4.7.0", - "ajv-keywords": "^1.0.0", - "chalk": "^1.1.1", - "lodash": "^4.0.0", - "slice-ansi": "0.0.4", - "string-width": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "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" - } - } - } - } - } - }, - "format-message-estree-util": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/format-message-estree-util/-/format-message-estree-util-6.1.0.tgz", - "integrity": "sha512-z8nZdDI3vQdYVARVBVFebKSUEEZhw3/sgD8F+PneLT7TGBKt3QpeSQ8g2yUoQrj9saoR2fYbpXeaQ8qnjg013Q==", - "dev": true - }, - "format-message-generate-id": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-generate-id/-/format-message-generate-id-6.2.0.tgz", - "integrity": "sha512-q3nN7b/ONvzaUtLrCt13TDKbl7Rvc/Gk9bR2HfQqUWPKkhP+lciq3MKQDIeGb79dvciKdbWT/FB47YrHogQCCA==", - "dev": true, - "requires": { - "crc32": "^0.2.2", - "format-message-parse": "^6.2.0", - "format-message-print": "^6.2.0" - }, - "dependencies": { - "format-message-parse": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", - "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", - "dev": true - } - } - }, - "format-message-interpret": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.0.tgz", - "integrity": "sha512-G2WxW9c/vk97rPgbP67p/6BdpoZI8g4LdKDIqxAlXQq1ZI3uQTV2a5f9q3Big04hjSsI8uTgzWWmF4ht50foyw==", - "requires": { - "format-message-formats": "^6.2.0", - "lookup-closest-locale": "^6.2.0" - }, - "dependencies": { - "format-message-formats": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", - "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==" - }, - "lookup-closest-locale": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", - "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==" - } - } - }, - "format-message-print": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/format-message-print/-/format-message-print-6.2.0.tgz", - "integrity": "sha512-KuT6xtQsvUafrybvqtCzTduf+esHPNqt3bcUz9OPU1jIJ5VESoC9OwT+4YtwmjyaJDyGTILyeCmnQ2centjQJw==", - "dev": true - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-exists-cached": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", - "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", - "dev": true - }, - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.21", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": "^2.1.0" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" - }, - "function-loop": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-1.0.1.tgz", - "integrity": "sha1-gHa7MF6OajzO7ikgdl8zDRkPNAw=", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=" - }, - "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=", - "requires": { - "is-property": "^1.0.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "get-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": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } - } - }, - "gh-pages": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-1.2.0.tgz", - "integrity": "sha512-cGLYAvxtlQ1iTwAS4g7FreZPXoE/g62Fsxln2mmR19mgs4zZI+XJ+wVVUhBFCF/0+Nmvbq+abyTWue1m1BSnmg==", - "dev": true, - "requires": { - "async": "2.6.1", - "commander": "2.15.1", - "filenamify-url": "^1.0.0", - "fs-extra": "^5.0.0", - "globby": "^6.1.0", - "graceful-fs": "4.1.11", - "rimraf": "^2.6.2" - }, - "dependencies": { - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "dev": true, - "requires": { - "lodash": "^4.17.10" - } - }, - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", - "dev": true - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, - "requires": { - "glob": "^7.0.5" - } - } - } - }, - "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.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", - "requires": { - "min-document": "^2.19.0", - "process": "~0.5.1" - }, - "dependencies": { - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" - } - } - }, - "global-modules-path": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz", - "integrity": "sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==", - "dev": true - }, - "globals": { - "version": "9.17.0", - "resolved": "http://registry.npmjs.org/globals/-/globals-9.17.0.tgz", - "integrity": "sha1-DAymltm5u2lNLlRwvTd3fKrVAoY=", - "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.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "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.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, - "handle-thing": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", - "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", - "requires": { - "chalk": "^1.1.1", - "commander": "^2.9.0", - "is-my-json-valid": "^2.12.4", - "pinkie-promise": "^2.0.0" - } - }, - "has": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", - "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", - "requires": { - "function-bind": "^1.0.2" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-binary2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz", - "integrity": "sha1-6D26SfC5vk0CbSc2U1DZ8D9Uvpg=", - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "hash.js": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", - "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" - } - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" - }, - "hosted-git-info": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "dev": true - }, - "htmlparser2": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", - "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", - "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz", - "integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "http-parser-js": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", - "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=", - "dev": true - }, - "http-proxy": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", - "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", - "dev": true, - "requires": { - "eventemitter3": "^3.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", - "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", - "dev": true, - "requires": { - "http-proxy": "^1.16.2", - "is-glob": "^4.0.0", - "lodash": "^4.17.5", - "micromatch": "^3.1.9" - }, - "dependencies": { - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - } - } - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "requires": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "humanize-url": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", - "integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=", - "dev": true, - "requires": { - "normalize-url": "^1.0.0", - "strip-url-auth": "^1.0.0" - } - }, - "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=", - "dev": true - }, - "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" - }, - "immutable": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.1.tgz", - "integrity": "sha1-IAgH8Rqw9ycQ6khVQt4IgHX2jNI=" - }, - "import-local": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", - "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", - "dev": true, - "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imports-loader": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.6.5.tgz", - "integrity": "sha1-rnRlMDHVnjezwvslRKxhrq41MKY=", - "dev": true, - "requires": { - "loader-utils": "0.2.x", - "source-map": "0.1.x" - }, - "dependencies": { - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "in-publish": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", - "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "inquirer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", - "integrity": "sha1-2zUMK3Paynf/EkOWLp8i8JloVyY=", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.1.0", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^5.5.2", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "internal-ip": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", - "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", - "dev": true, - "requires": { - "meow": "^3.3.0" - } - }, - "interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", - "dev": true - }, - "intl-messageformat-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz", - "integrity": "sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU=", - "dev": true - }, - "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "iota-array": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz", - "integrity": "sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=" - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "^1.0.0" - } - }, - "is-callable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", - "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", - "dev": true - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-function": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", - "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-my-json-valid": { - "version": "2.16.0", - "resolved": "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", - "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", - "requires": { - "generate-function": "^2.0.0", - "generate-object-property": "^1.1.0", - "jsonpointer": "^4.0.0", - "xtend": "^4.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", - "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" - }, - "is-regex": { - "version": "1.0.4", - "resolved": "http://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "^1.0.1" - } - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", - "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "dev": true, - "optional": true, - "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - } - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "js-levenshtein": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.4.tgz", - "integrity": "sha512-PxfGzSs0ztShKrUYPIn5r0MtyAhYcCwmndozzpz8YObbPnD1jFxzlBGbRnX2mIu6Z13xN6+PTu05TQFnZFlzow==", - "dev": true - }, - "js-md5": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz", - "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==" - }, - "js-tokens": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz", - "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=", - "dev": true - }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "js2xmlparser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz", - "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", - "dev": true, - "requires": { - "xmlcreate": "^1.0.1" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "http://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "optional": true - }, - "jsdoc": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz", - "integrity": "sha1-SEUhsSboGQTWMv+D7JqqCWcI+k0=", - "dev": true, - "requires": { - "babylon": "7.0.0-beta.19", - "bluebird": "~3.5.0", - "catharsis": "~0.8.9", - "escape-string-regexp": "~1.0.5", - "js2xmlparser": "~3.0.0", - "klaw": "~2.0.0", - "marked": "~0.3.6", - "mkdirp": "~0.5.1", - "requizzle": "~0.2.1", - "strip-json-comments": "~2.0.1", - "taffydb": "2.6.2", - "underscore": "~1.8.3" - }, - "dependencies": { - "babylon": { - "version": "7.0.0-beta.19", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz", - "integrity": "sha1-6SjH6AfpcOBTaweKs+DEj54FJQM=", - "dev": true - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", - "dev": true - } - } - }, - "jsesc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", - "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", - "dev": true - }, - "json": { - "version": "9.0.6", - "resolved": "http://registry.npmjs.org/json/-/json-9.0.6.tgz", - "integrity": "sha1-eXLCpaSKQmeNsnMMfCxO5uTiRYU=", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "json3": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsonpointer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=" - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } - } - }, - "jsx-ast-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", - "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", - "dev": true, - "optional": true, - "requires": { - "array-includes": "^3.0.3" - } - }, - "jszip": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", - "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", - "requires": { - "core-js": "~2.3.0", - "es6-promise": "~3.0.2", - "lie": "~3.1.0", - "pako": "~1.0.2", - "readable-stream": "~2.0.6" - }, - "dependencies": { - "core-js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", - "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=" - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "killable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz", - "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "klaw": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", - "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.9" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "lcov-parse": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", - "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "requires": { - "immediate": "~3.0.5" - } - }, - "loader-runner": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", - "dev": true - }, - "loader-utils": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - }, - "lodash._baseassign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", - "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "dev": true, - "requires": { - "lodash._basecopy": "^3.0.0", - "lodash.keys": "^3.0.0" - } - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", - "dev": true - }, - "lodash._basecreate": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", - "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=", - "dev": true - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", - "dev": true - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", - "dev": true - }, - "lodash.create": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", - "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", - "dev": true, - "requires": { - "lodash._baseassign": "^3.0.0", - "lodash._basecreate": "^3.0.0", - "lodash._isiterateecall": "^3.0.0" - } - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.defaultsdeep": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", - "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", - "dev": true - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", - "dev": true - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", - "dev": true - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true, - "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" - } - }, - "log-driver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", - "integrity": "sha1-Y7lQIfBwL+36LJuwok53l9cYcdg=", - "dev": true - }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dev": true, - "requires": { - "chalk": "^2.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "loglevel": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", - "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", - "dev": true - }, - "loglevelnext": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", - "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", - "dev": true, - "requires": { - "es6-symbol": "^3.1.1", - "object.assign": "^4.1.0" - } - }, - "long": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", - "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" - }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "dev": true, - "requires": { - "js-tokens": "^3.0.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "lru-cache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "marked": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", - "integrity": "sha1-XUf3CcTJ/Dwha21GEnKA9As515A=", - "dev": true - }, - "md5.js": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "microee": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/microee/-/microee-0.0.6.tgz", - "integrity": "sha1-oSvbAQNoHosSapsHHrpMRnx4//4=" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "midi-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/midi-file/-/midi-file-1.1.2.tgz", - "integrity": "sha512-VQNzirfADDFXTymgPJv2VfLylCq14spRNFhpA6u7dLqPMbw1BqGf5u9B0k7z++8X1RMs57pyn+G4kzhyIatlyw==" - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=", - "dev": true - }, - "mime-db": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz", - "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=" - }, - "mime-types": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", - "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", - "requires": { - "mime-db": "~1.29.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "requires": { - "dom-walk": "^0.1.0" - } - }, - "minilog": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/minilog/-/minilog-3.1.0.tgz", - "integrity": "sha1-0tDxiHyjY9Gs8OqG1cTfKTs/tnU=", - "requires": { - "microee": "0.0.6" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "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=" - }, - "minipass": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.4.tgz", - "integrity": "sha512-mlouk1OHlaUE8Odt1drMtG1bAJA4ZA6B/ehysgV0LUIrDHdKgo1KorZq3pK0b/7Z7LJIQ12MNM6aC+Tn6lUZ5w==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "yallist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", - "dev": true - } - } - }, - "mississippi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", - "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^2.0.1", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "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" - } - }, - "mkpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz", - "integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=", - "dev": true - }, - "mocha": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz", - "integrity": "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==", - "dev": true, - "requires": { - "browser-stdout": "1.3.0", - "commander": "2.9.0", - "debug": "2.6.8", - "diff": "3.2.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.1", - "growl": "1.9.2", - "he": "1.1.1", - "json3": "3.3.2", - "lodash.create": "3.1.1", - "mkdirp": "0.5.1", - "supports-color": "3.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "diff": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", - "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", - "dev": true - }, - "glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", - "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.2", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "growl": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", - "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", - "dev": true - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "supports-color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", - "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "ms": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.3.tgz", - "integrity": "sha1-cIFVpeROM/X9D8U+gdDUCpG+H/8=" - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "ndarray": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz", - "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==", - "requires": { - "iota-array": "^1.0.0", - "is-buffer": "^1.0.2" - } - }, - "ndarray-fft": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ndarray-fft/-/ndarray-fft-1.0.3.tgz", - "integrity": "sha1-3Fu6GOOrgsmXrbrrt455+CyToio=", - "requires": { - "bit-twiddle": "^1.0.2", - "cwise": "^1.0.4", - "ndarray": "^1.0.15", - "ndarray-ops": "^1.2.2", - "typedarray-pool": "^1.0.0" - } - }, - "ndarray-ops": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz", - "integrity": "sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=", - "requires": { - "cwise-compiler": "^1.0.0" - } - }, - "ndarray-resample": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ndarray-resample/-/ndarray-resample-1.0.1.tgz", - "integrity": "sha1-Qrsz9qS3OMV/9zxgzCINTPx1gh0=", - "requires": { - "cwise": "^1.0.7", - "ndarray-fft": "^1.0.0", - "ndarray-ops": "^1.2.2", - "ndarray-scratch": "^1.1.1" - } - }, - "ndarray-scratch": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ndarray-scratch/-/ndarray-scratch-1.2.0.tgz", - "integrity": "sha1-YwRjbWLrqT20cnrBPGkzQdulDgE=", - "requires": { - "ndarray": "^1.0.14", - "ndarray-ops": "^1.2.1", - "typedarray-pool": "^1.0.2" - } - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", - "dev": true - }, - "neo-async": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", - "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", - "dev": true - }, - "nets": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nets/-/nets-3.2.0.tgz", - "integrity": "sha1-1RH7q3rxHaAT8huX7pF0fTOFLTg=", - "requires": { - "request": "^2.65.0", - "xhr": "^2.1.0" - } - }, - "nice-try": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", - "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==", - "dev": true - }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8=", - "dev": true, - "optional": true, - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, - "node-forge": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", - "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", - "dev": true - }, - "node-libs-browser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", - "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^1.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.0", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.10.3", - "vm-browserify": "0.0.4" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - } - } - }, - "node-releases": { - "version": "1.0.0-alpha.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.14.tgz", - "integrity": "sha512-G8nnF9cP9QPP/jUmYWw/uUUhumHmkm+X/EarCugYFjYm2uXRMFeOD6CVT3RLdoyCvDUNy51nirGfUItKWs/S1g==", - "dev": true, - "requires": { - "semver": "^5.3.0" - } - }, - "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=", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^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 - }, - "nyc": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.9.0.tgz", - "integrity": "sha512-w8OdJAhXL5izerzZMdqzYKMj/pgHJyY3qEPYBjLLxrhcVoHEY9pU5ENIiZyCgG9OR7x3VcUMoD40o6PtVpfR4g==", - "dev": true, - "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.5.1", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.1.2", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^1.10.0", - "istanbul-lib-report": "^1.1.3", - "istanbul-lib-source-maps": "^1.2.3", - "istanbul-reports": "^1.4.0", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.1.0", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.2.0", - "yargs": "11.1.0", - "yargs-parser": "^8.0.0" - }, - "dependencies": { - "align-text": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - } - }, - "amdefine": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "append-transform": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "requires": { - "default-require-extensions": "^1.0.0" - } - }, - "archy": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "arr-diff": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "bundled": true, - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "arrify": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "async": { - "version": "1.5.2", - "bundled": true, - "dev": true - }, - "atob": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "babel-code-frame": { - "version": "6.26.0", - "bundled": true, - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "babel-generator": { - "version": "6.26.1", - "bundled": true, - "dev": true, - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - } - }, - "babel-messages": { - "version": "6.23.0", - "bundled": true, - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "bundled": true, - "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "babel-template": { - "version": "6.26.0", - "bundled": true, - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "bundled": true, - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "babel-types": { - "version": "6.26.0", - "bundled": true, - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "bundled": true, - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "base": { - "version": "0.11.2", - "bundled": true, - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "builtin-modules": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - } - } - }, - "caching-transform": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" - } - }, - "camelcase": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true - }, - "center-align": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } - }, - "chalk": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "class-utils": { - "version": "0.3.6", - "bundled": true, - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - } - } - }, - "cliui": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "commondir": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "component-emitter": { - "version": "1.2.1", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "convert-source-map": { - "version": "1.5.1", - "bundled": true, - "dev": true - }, - "copy-descriptor": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "core-js": { - "version": "2.5.6", - "bundled": true, - "dev": true - }, - "cross-spawn": { - "version": "4.0.2", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "debug-log": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "default-require-extensions": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "strip-bom": "^2.0.0" - } - }, - "define-property": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "detect-indent": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "error-ex": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "esutils": { - "version": "2.0.2", - "bundled": true, - "dev": true - }, - "execa": { - "version": "0.7.0", - "bundled": true, - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "fill-range": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-cache-dir": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "for-in": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "foreground-child": { - "version": "1.5.6", - "bundled": true, - "dev": true, - "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" - } - }, - "fragment-cache": { - "version": "0.2.1", - "bundled": true, - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "get-caller-file": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "get-value": { - "version": "2.0.6", - "bundled": true, - "dev": true - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "globals": { - "version": "9.18.0", - "bundled": true, - "dev": true - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "handlebars": { - "version": "4.0.11", - "bundled": true, - "dev": true, - "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "bundled": true, - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "has-ansi": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "has-value": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - } - } - }, - "has-values": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hosted-git-info": { - "version": "2.6.0", - "bundled": true, - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "invariant": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-arrayish": { - "version": "0.2.1", - "bundled": true, - "dev": true - }, - "is-buffer": { - "version": "1.1.6", - "bundled": true, - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "builtin-modules": "^1.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "bundled": true, - "dev": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "is-number": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-odd": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-number": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "bundled": true, - "dev": true - } - } - }, - "is-plain-object": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - } - } - }, - "is-stream": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "bundled": true, - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isexe": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "istanbul-lib-coverage": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "istanbul-lib-hook": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "append-transform": "^0.4.0" - } - }, - "istanbul-lib-instrument": { - "version": "1.10.1", - "bundled": true, - "dev": true, - "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.0", - "semver": "^5.3.0" - } - }, - "istanbul-lib-report": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "requires": { - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" - }, - "dependencies": { - "supports-color": { - "version": "3.2.3", - "bundled": true, - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "1.2.3", - "bundled": true, - "dev": true, - "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "istanbul-reports": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "handlebars": "^4.0.3" - } - }, - "js-tokens": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "jsesc": { - "version": "1.3.0", - "bundled": true, - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "lazy-cache": { - "version": "1.0.4", - "bundled": true, - "dev": true, - "optional": true - }, - "lcid": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "bundled": true, - "dev": true - } - } - }, - "lodash": { - "version": "4.17.10", - "bundled": true, - "dev": true - }, - "longest": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "loose-envify": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "js-tokens": "^3.0.0" - } - }, - "lru-cache": { - "version": "4.1.3", - "bundled": true, - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "map-cache": { - "version": "0.2.2", - "bundled": true, - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "md5-hex": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "md5-o-matic": "^0.1.1" - } - }, - "md5-o-matic": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "mem": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "merge-source-map": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "bundled": true, - "dev": true - } - } - }, - "micromatch": { - "version": "3.1.10", - "bundled": true, - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "mimic-fn": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "mixin-deep": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "nanomatch": { - "version": "1.2.9", - "bundled": true, - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "arr-diff": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "normalize-package-data": { - "version": "2.4.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "npm-run-path": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "bundled": true, - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - } - } - }, - "object.pick": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - } - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "optimist": { - "version": "0.6.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - } - }, - "p-finally": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "p-limit": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "parse-json": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "pascalcase": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "path-key": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "path-parse": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "path-type": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "bundled": true, - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "bundled": true, - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "find-up": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - } - } - }, - "regenerator-runtime": { - "version": "0.11.1", - "bundled": true, - "dev": true - }, - "regex-not": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "repeat-element": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "bundled": true, - "dev": true - }, - "repeating": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "require-directory": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "resolve-from": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "bundled": true, - "dev": true - }, - "ret": { - "version": "0.1.15", - "bundled": true, - "dev": true - }, - "right-align": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "align-text": "^0.1.1" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "dev": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-regex": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "set-value": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "shebang-command": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "slide": { - "version": "1.1.6", - "bundled": true, - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "bundled": true, - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.2.0" - } - }, - "source-map": { - "version": "0.5.7", - "bundled": true, - "dev": true - }, - "source-map-resolve": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "atob": "^2.0.0", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "bundled": true, - "dev": true - }, - "spawn-wrap": { - "version": "1.4.2", - "bundled": true, - "dev": true, - "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" - } - }, - "spdx-correct": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "split-string": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "static-extend": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "string-width": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "test-exclude": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "requires": { - "arrify": "^1.0.1", - "micromatch": "^3.1.8", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" - }, - "dependencies": { - "arr-diff": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "braces": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "bundled": true, - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-number": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "bundled": true, - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - } - } - }, - "to-fast-properties": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "to-regex": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - } - } - }, - "trim-right": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "uglify-js": { - "version": "2.8.29", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "yargs": { - "version": "3.10.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "union-value": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } - } - }, - "unset-value": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "bundled": true, - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - } - } - }, - "urix": { - "version": "0.1.0", - "bundled": true, - "dev": true - }, - "use": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "validate-npm-package-license": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "which": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "window-size": { - "version": "0.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "wordwrap": { - "version": "0.0.3", - "bundled": true, - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "write-file-atomic": { - "version": "1.3.4", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" - } - }, - "y18n": { - "version": "3.2.1", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "2.1.2", - "bundled": true, - "dev": true - }, - "yargs": { - "version": "11.1.0", - "bundled": true, - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "camelcase": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, - "cliui": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "yargs-parser": { - "version": "9.0.2", - "bundled": true, - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, - "yargs-parser": { - "version": "8.1.0", - "bundled": true, - "dev": true, - "requires": { - "camelcase": "^4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "bundled": true, - "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=" - }, - "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 - }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-keys": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "opener": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", - "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", - "dev": true - }, - "opn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - } - }, - "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 - }, - "output-file-sync": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", - "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "is-plain-obj": "^1.1.0", - "mkdirp": "^0.5.1" - } - }, - "own-or": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", - "integrity": "sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=", - "dev": true - }, - "own-or-env": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.1.tgz", - "integrity": "sha1-VM5gHTv3gjbFxlYzqhyOwD+AB+Q=", - "dev": true, - "requires": { - "own-or": "^1.0.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", - "dev": true - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pako": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" - }, - "parallel-transform": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", - "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", - "dev": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "parse-asn1": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", - "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", - "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" - } - }, - "parse-headers": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", - "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", - "requires": { - "for-each": "^0.3.2", - "trim": "0.0.1" - } - }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "requires": { - "better-assert": "~1.0.0" - } - }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "requires": { - "better-assert": "~1.0.0" - } - }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "pbkdf2": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", - "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "pluralize": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha1-KYuJ34uTsCIdv0Ia0rGx6iP8Z3c=", - "dev": true - }, - "pngjs": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.3.tgz", - "integrity": "sha512-1n3Z4p3IOxArEs1VRXnZ/RXdfEniAUS9jb68g58FIXMNkPJeZd+Qh4Uq7/e0LVxAQGos1eIUrqrt4FpjdnEd+Q==", - "dev": true - }, - "portfinder": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.16.tgz", - "integrity": "sha1-pqaL6cNSvGbBpMF6Jh9mHz+sr1I=", - "dev": true, - "requires": { - "async": "^1.5.2", - "debug": "^2.2.0", - "mkdirp": "0.5.x" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": 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=" - }, - "progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "dev": true, - "optional": true, - "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } - }, - "protobufjs": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.2.tgz", - "integrity": "sha512-27yj+04uF6ya9l+qfpH187aqEzfCF4+Uit0I9ZBQVqK09hk/SQzKa2MUqUpXaVa7LOFRg1TSSr3lVxGOk6c0SQ==", - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": "^13.7.0", - "long": "^4.0.0" - }, - "dependencies": { - "@types/node": { - "version": "13.13.32", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.32.tgz", - "integrity": "sha512-sPBvDnrwZE1uePhkCEyI/qQlgZM5kePPAhHIFDWNsOrWBFRBOk3LKJYmVCLeLZlL9Ub/FzMJb31OTWCg2F+06g==" - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - } - } - }, - "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", - "dev": true, - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", - "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "querystringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", - "integrity": "sha1-+j7W5o6xUVlFfImze8ZHKDMZV1U=", - "dev": true - }, - "randombytes": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", - "dev": true - }, - "raw-body": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", - "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", - "dev": true, - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "unpipe": "1.0.0" - }, - "dependencies": { - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", - "dev": true - }, - "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "dev": true, - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" - } - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true - } - } - }, - "raw-loader": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", - "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", - "dev": true - }, - "readable-stream": { - "version": "2.2.9", - "resolved": "http://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.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~1.0.0", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" - } - }, - "readline2": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", - "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "mute-stream": "0.0.5" - }, - "dependencies": { - "mute-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", - "dev": true - } - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", - "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", - "dev": true, - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp.prototype.flags": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", - "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2" - } - }, - "regexpp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz", - "integrity": "sha1-sqdTSoXKGwM7z1zp/45W1OB1U2U=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.79.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", - "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", - "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "caseless": "~0.11.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.1.1", - "har-validator": "~2.0.6", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "oauth-sign": "~0.8.1", - "qs": "~6.3.0", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "~0.4.1", - "uuid": "^3.0.0" - }, - "dependencies": { - "qs": { - "version": "6.3.2", - "resolved": "http://registry.npmjs.org/qs/-/qs-6.3.2.tgz", - "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=" - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true, - "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" - } - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "requizzle": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz", - "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", - "dev": true, - "requires": { - "underscore": "~1.6.0" - } - }, - "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "dev": true, - "requires": { - "path-parse": "^1.0.5" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } - } - }, - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", - "dev": true - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "requires": { - "align-text": "^0.1.1" - } - }, - "rimraf": { - "version": "2.6.1", - "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", - "dev": true, - "requires": { - "glob": "^7.0.5" - }, - "dependencies": { - "glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", - "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.2", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "requires": { - "is-promise": "^2.1.0" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rx-lite": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", - "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", - "dev": true - }, - "rxjs": { - "version": "5.5.11", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz", - "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==", - "dev": true, - "requires": { - "symbol-observable": "1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "schema-utils": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", - "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - }, - "dependencies": { - "ajv": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", - "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", - "requires": { - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0", - "uri-js": "^3.0.2" - } - }, - "ajv-keywords": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=" - } - } - }, - "scratch-audio": { - "version": "0.1.0-prerelease.20200528195344", - "resolved": "https://registry.npmjs.org/scratch-audio/-/scratch-audio-0.1.0-prerelease.20200528195344.tgz", - "integrity": "sha512-BY1IiMMBj0WDs7jdYnOzBHE88AX3ltjs2XfINJ1VrIE4xn2vZvPgJAyw6ZCc2FDPRwTWLpCdhnlA1TBdaKKdiQ==", - "dev": true, - "requires": { - "audio-context": "1.0.1", - "minilog": "^3.0.1", - "startaudiocontext": "1.2.1" - } - }, - "scratch-blocks": { - "version": "0.1.0-prerelease.20201119044258", - "resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.20201119044258.tgz", - "integrity": "sha512-XL5ALMZLlD9clGybJErI/NzQU30XOMQxcPPHk0FbR1E0MMLIEGo9Mh4Sik6kpT1jHVlg1XCye84b5qyppDkI3w==", - "dev": true, - "requires": { - "exports-loader": "0.6.3", - "imports-loader": "0.6.5" - } - }, - "scratch-l10n": { - "version": "3.1.20181129221712", - "resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.1.20181129221712.tgz", - "integrity": "sha512-aMzq5/Ie/9XPYEibut2jnV6dJO/6/fNI8h1bwKvhHdgbRaZKRlWXbBICt/zAgkvt2LSRY1gz4RiXsPLbXQczpQ==", - "dev": true, - "requires": { - "@babel/cli": "^7.1.2", - "@babel/core": "^7.1.2", - "babel-plugin-react-intl": "^2.3.1", - "transifex": "1.5.0" - } - }, - "scratch-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/scratch-parser/-/scratch-parser-5.0.0.tgz", - "integrity": "sha512-7kjxoxivLgYYvmAJVLOOWnca4CigwuCpgjy9+6UuxOMgSZKO1xqIjxIADupabmh1ZLZZDVe45DBM/CQTdtVDkw==", - "requires": { - "ajv": "6.3.0", - "jszip": "3.1.5", - "pify": "4.0.1" - }, - "dependencies": { - "ajv": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.3.0.tgz", - "integrity": "sha1-FlCkERTvAFdMrBC4Ay2PTBSBLac=", - "requires": { - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - } - } - }, - "scratch-render-fonts": { - "version": "1.0.0-prerelease.20200507182347", - "resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.0-prerelease.20200507182347.tgz", - "integrity": "sha512-tVt2s7lxsBhme9WKIZTnluMerdJVGEc80QSrDdIIzUvHXGCIYkLh6j7ytwXcyq2UsA34d93op9+I9Bh1SPkQkA==", - "dev": true, - "requires": { - "base64-loader": "1.0.0" - } - }, - "scratch-sb1-converter": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/scratch-sb1-converter/-/scratch-sb1-converter-0.2.7.tgz", - "integrity": "sha512-MF1NzmRLbgCiq7wiSTuk2C9rQC8uM5Wj7SaYsn1SEMWNK9rtK0uc3LSm8FnEt14QS/1Icx2YgMsUPKR0HaPDdQ==", - "requires": { - "js-md5": "0.7.3", - "minilog": "3.1.0", - "text-encoding": "^0.7.0" - } - }, - "scratch-storage": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/scratch-storage/-/scratch-storage-1.1.0.tgz", - "integrity": "sha512-4gtQW5ST5RDIWjfflK6k7Jxq7rQWgvhfM+oqL2Ld+eyQIbhZ4BwX0R3aRtwhupntv3tCa+2lBhRm+CGnaCijvA==", - "dev": true, - "requires": { - "arraybuffer-loader": "^1.0.3", - "base64-js": "1.3.0", - "js-md5": "0.7.3", - "minilog": "3.1.0", - "nets": "3.2.0", - "text-encoding": "0.7.0" - }, - "dependencies": { - "js-md5": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz", - "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==", - "dev": true - } - } - }, - "scratch-svg-renderer": { - "version": "0.2.0-prerelease.20201019174008", - "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-0.2.0-prerelease.20201019174008.tgz", - "integrity": "sha512-RF3Zx09Nl+uLTrPD7K4tR6Sqq/JqRTsLVRugohEJ8pGHXshvBh/A4zWx7XmMZHOdEDHunPxpCDHkW2LoMCFioQ==", - "dev": true, - "requires": { - "base64-js": "1.2.1", - "base64-loader": "1.0.0", - "dompurify": "2.1.1", - "minilog": "3.1.0", - "scratch-render-fonts": "1.0.0-prerelease.20200507182347", - "transformation-matrix": "1.15.0" - }, - "dependencies": { - "base64-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", - "dev": true - } - } - }, - "scratch-translate-extension-languages": { - "version": "0.0.20191118205314", - "resolved": "https://registry.npmjs.org/scratch-translate-extension-languages/-/scratch-translate-extension-languages-0.0.20191118205314.tgz", - "integrity": "sha512-r0lvpgQjPMjbhI2wROrgoXzBhCvWJdkbAqJMfl2CdNqrwBpUXqLvNNtI3VtNLPJAcp9VfxEylkU9lVZ0gvU46Q==" - }, - "script-loader": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/script-loader/-/script-loader-0.7.2.tgz", - "integrity": "sha1-IBbbb4byX1z1baOJFdgzeLsWa6c=", - "dev": true, - "requires": { - "raw-loader": "~0.5.1" - } - }, - "seedrandom": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.3.tgz", - "integrity": "sha1-JDhQTa0zkXMUv/GKxNeU8W1qrsw=" - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.3.tgz", - "integrity": "sha512-vmZenZ+8Al3NLHkWnhBQ0x6BkML1eCP2xEi3JE+f3D9wW9fipD9NNJHYtE9XJM4TsPaHGZJIamrSI6MTg1dU2Q==", - "dev": true, - "requires": { - "node-forge": "0.7.5" - } - }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true - }, - "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", - "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==", - "dev": true - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "mime-db": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", - "dev": true, - "requires": { - "mime-db": "~1.35.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallow-copy": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", - "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shelljs": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", - "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "should": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/should/-/should-11.2.1.tgz", - "integrity": "sha1-kPVRRVUtAc/CAGZuToGKHJZw7aI=", - "dev": true, - "requires": { - "should-equal": "^1.0.0", - "should-format": "^3.0.2", - "should-type": "^1.4.0", - "should-type-adaptors": "^1.0.1", - "should-util": "^1.0.0" - } - }, - "should-equal": { - "version": "1.0.1", - "resolved": "http://registry.npmjs.org/should-equal/-/should-equal-1.0.1.tgz", - "integrity": "sha1-C26VFvJgGp+wuy3MNpr6HH4gCvc=", - "dev": true, - "requires": { - "should-type": "^1.0.0" - } - }, - "should-format": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", - "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", - "dev": true, - "requires": { - "should-type": "^1.3.0", - "should-type-adaptors": "^1.0.1" - } - }, - "should-type": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", - "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", - "dev": true - }, - "should-type-adaptors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", - "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", - "dev": true, - "requires": { - "should-type": "^1.3.0", - "should-util": "^1.0.0" - } - }, - "should-util": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz", - "integrity": "sha1-yYzaN0qmsZDfi6h8mInCtNtiAGM=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "requires": { - "hoek": "2.x.x" - } - }, - "socket.io-client": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", - "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~2.6.4", - "engine.io-client": "~3.1.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.1.1", - "to-array": "0.1.4" - } - }, - "socket.io-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.2.tgz", - "integrity": "sha1-28IoIVH8T6675Aru3Ady66YZ9/I=", - "requires": { - "component-emitter": "1.2.1", - "debug": "~2.6.4", - "has-binary2": "~1.0.2", - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - } - } - }, - "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha1-2Xa76ACve9IK4IWY1YI5NQiZPA0=", - "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" - } - }, - "sockjs-client": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", - "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", - "dev": true, - "requires": { - "debug": "^2.6.6", - "eventsource": "0.1.6", - "faye-websocket": "~0.11.0", - "inherits": "^2.0.1", - "json3": "^3.3.2", - "url-parse": "^1.1.8" - }, - "dependencies": { - "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "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=", - "dev": true - }, - "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "spdx-correct": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", - "dev": true - }, - "spdy": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", - "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", - "dev": true, - "requires": { - "debug": "^2.6.8", - "handle-thing": "^1.2.5", - "http-deceiver": "^1.2.7", - "safe-buffer": "^5.0.1", - "select-hose": "^2.0.0", - "spdy-transport": "^2.0.18" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "spdy-transport": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz", - "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", - "dev": true, - "requires": { - "debug": "^2.6.8", - "detect-node": "^2.0.3", - "hpack.js": "^2.1.6", - "obuf": "^1.1.1", - "readable-stream": "^2.2.9", - "safe-buffer": "^5.0.1", - "wbuf": "^1.7.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } - } - }, - "ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", - "dev": true - }, - "staffrender": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/staffrender/-/staffrender-0.2.1.tgz", - "integrity": "sha512-qg7aaR7YX8TwFYf4p1pjvm3tT8SYLZDe/J2eF2+z2WmYC/PyldnJlsaPKi1qRm0xqQ8nCLziooGXvYRcl5LNew==" - }, - "startaudiocontext": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/startaudiocontext/-/startaudiocontext-1.2.1.tgz", - "integrity": "sha1-RtLKtUYseRGArMciPju7wycshZU=", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "stats.js": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz", - "integrity": "sha1-scPcRtlEmLV4t/05hbgaznExzH0=", - "dev": true - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "dev": true - }, - "stream-browserify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "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" - }, - "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 - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string.prototype.matchall": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-2.0.0.tgz", - "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.10.0", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "regexp.prototype.flags": "^1.2.0" - }, - "dependencies": { - "es-abstract": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", - "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" - } - } - } - }, - "string_decoder": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.0.0.tgz", - "integrity": "sha1-8G9BFXtmTYYGn4S9vcmw2KsoFmc=", - "requires": { - "buffer-shims": "~1.0.0" - } - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" - }, - "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.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.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 - }, - "strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "strip-url-auth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", - "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true - }, - "table": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", - "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", - "dev": true, - "requires": { - "ajv": "^6.0.1", - "ajv-keywords": "^3.0.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", - "slice-ansi": "1.0.0", - "string-width": "^2.1.1" - }, - "dependencies": { - "ajv": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", - "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" - } - }, - "ajv-keywords": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "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 - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - } - } - }, - "taffydb": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", - "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", - "dev": true - }, - "tap": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/tap/-/tap-12.0.1.tgz", - "integrity": "sha512-iEJytWaZy8risvfRjuV4+ST+Lrrui/MW2ZCWn01ZaMn0NKFej4+PpBy6bXGOg9+cEGNmI7d3Sdka/zTUZUGidA==", - "dev": true, - "requires": { - "bind-obj-methods": "^2.0.0", - "bluebird": "^3.5.1", - "clean-yaml-object": "^0.1.0", - "color-support": "^1.1.0", - "coveralls": "^3.0.1", - "foreground-child": "^1.3.3", - "fs-exists-cached": "^1.0.0", - "function-loop": "^1.0.1", - "glob": "^7.0.0", - "isexe": "^2.0.0", - "js-yaml": "^3.11.0", - "minipass": "^2.3.0", - "mkdirp": "^0.5.1", - "nyc": "^11.8.0", - "opener": "^1.4.1", - "os-homedir": "^1.0.2", - "own-or": "^1.0.0", - "own-or-env": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.0", - "source-map-support": "^0.5.6", - "stack-utils": "^1.0.0", - "tap-mocha-reporter": "^3.0.7", - "tap-parser": "^7.0.0", - "tmatch": "^4.0.0", - "trivial-deferred": "^1.0.1", - "tsame": "^2.0.0", - "write-file-atomic": "^2.3.0", - "yapool": "^1.0.0" - }, - "dependencies": { - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, - "requires": { - "glob": "^7.0.5" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } - } - }, - "tap-mocha-reporter": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-3.0.7.tgz", - "integrity": "sha512-GHVXJ38C3oPRpM3YUc43JlGdpVZYiKeT1fmAd3HH2+J+ZWwsNAUFvRRdoGsXLw9+gU9o+zXpBqhS/oXyRQYwlA==", - "dev": true, - "requires": { - "color-support": "^1.1.0", - "debug": "^2.1.3", - "diff": "^1.3.2", - "escape-string-regexp": "^1.0.3", - "glob": "^7.0.5", - "js-yaml": "^3.3.1", - "readable-stream": "^2.1.5", - "tap-parser": "^5.1.0", - "unicode-length": "^1.0.0" - }, - "dependencies": { - "tap-parser": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-5.4.0.tgz", - "integrity": "sha1-aQfolyXXt/pq5B7ixGTD20MYiuw=", - "dev": true, - "requires": { - "events-to-array": "^1.0.1", - "js-yaml": "^3.2.7", - "readable-stream": "^2" - } - } - } - }, - "tap-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-7.0.0.tgz", - "integrity": "sha1-VNs1MC/aLCzMIZVK074issukJyE=", - "dev": true, - "requires": { - "events-to-array": "^1.0.1", - "js-yaml": "^3.2.7", - "minipass": "^2.2.0" - } - }, - "tapable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", - "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==", - "dev": true - }, - "text-encoding": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz", - "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==" - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - } - }, - "thunky": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", - "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", - "dev": true - }, - "timers-browserify": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", - "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "tiny-worker": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.1.2.tgz", - "integrity": "sha512-t8xrlrw0ScBnJ1K5ziHcD6u2SgWpE9Tozv4EIqpXMnCfEVc3pWzMx+ZFwqpXk20C4WTRoLZVBi9v1tLkaciCTg==", - "dev": true - }, - "tmatch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-4.0.0.tgz", - "integrity": "sha512-Ynn2Gsp+oCvYScQXeV+cCs7citRDilq0qDXA6tuvFwDgiYyyaq7D5vKUlAPezzZR5NDobc/QMeN6e5guOYmvxg==", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "tonal": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tonal/-/tonal-2.2.2.tgz", - "integrity": "sha512-Ze2bQc6KhAf3FKM9HzEsQ4z8hZh4WYCOsCrryONqf/THGOrOpL9Cc8Uc0dq0OA2yK2JbD5FhZckEXNYyD9946A==", - "requires": { - "tonal-array": "^2.2.2", - "tonal-chord": "^2.2.2", - "tonal-dictionary": "^2.2.2", - "tonal-distance": "^2.2.2", - "tonal-interval": "^2.2.2", - "tonal-key": "^2.2.2", - "tonal-note": "^2.2.2", - "tonal-pcset": "^2.2.2", - "tonal-scale": "^2.2.2" - } - }, - "tonal-array": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tonal-array/-/tonal-array-2.2.2.tgz", - "integrity": "sha512-h6YIq20L0EEU4EsDoKHAjl5kD2EQn467VfV79QHAuybvNCJpqqRNsQ3QNvoQyir1BgDXaDUIN9FEmQJNiaaCKA==", - "requires": { - "tonal-note": "^2.2.2" - } - }, - "tonal-chord": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tonal-chord/-/tonal-chord-2.2.2.tgz", - "integrity": "sha512-gOIXapi6Gx3ISRKdEJKEQjhDBiwjhaalyWSrN5rijGrSyyFFNZ+EVOfzcqLtnVAF9BgeO9Ca0eXCor3XpHdEJg==", - "requires": { - "tonal-dictionary": "^2.2.2", - "tonal-distance": "^2.2.2", - "tonal-note": "^2.2.2", - "tonal-pcset": "^2.2.2" - } - }, - "tonal-dictionary": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tonal-dictionary/-/tonal-dictionary-2.2.2.tgz", - "integrity": "sha512-283ppJl/0lohhlVPMI6t5C6XwaP5Wx0egu9qfG9TLCT2tn4pRwYpXkzGufd9icvkJTgOylOum3+RxWmywUIPIg==", - "requires": { - "tonal-array": "^2.2.2", - "tonal-note": "^2.2.2", - "tonal-pcset": "^2.2.2" - } - }, - "tonal-distance": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tonal-distance/-/tonal-distance-2.2.2.tgz", - "integrity": "sha512-ktA6OapCxaetXJb/JuXD5QwfyB7/G3y3ONby7Kkbezyffc57cnNfjdhlTR9XBR7eSFIY/J1KuhLwMx/qrffT4g==", - "requires": { - "tonal-interval": "^2.2.2", - "tonal-note": "^2.2.2" - } - }, - "tonal-interval": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tonal-interval/-/tonal-interval-2.2.2.tgz", - "integrity": "sha512-lrtDU8lH5IAX7YE63OhGGDRpVb4OoGxaN0wDu5XC3sUhXBwjSgNYpHY2D9JI2aWQ/Er9jhQbnw9b0ffkLy34+Q==" - }, - "tonal-key": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tonal-key/-/tonal-key-2.2.2.tgz", - "integrity": "sha512-KIc0b8yPl2ATDxF/65P52tIIempNsAQrug0idpD0zFvs5F5cb1hp7Rh7JJ4gECwC/6a3Hgdd1jomI+TnJ7K98w==", - "requires": { - "tonal-array": "^2.2.2", - "tonal-distance": "^2.2.2", - "tonal-note": "^2.2.2", - "tonal-roman-numeral": "^2.2.2" - } - }, - "tonal-note": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tonal-note/-/tonal-note-2.2.2.tgz", - "integrity": "sha512-RNK3Nb8PxBEW9yYGStcoczgE8bCYFZ5zfLvYJjvuzLWiwTQmqWOhTzONVobVCGFZ/jgDNwpBEKe/bngL3g3Xfw==" - }, - "tonal-pcset": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tonal-pcset/-/tonal-pcset-2.2.2.tgz", - "integrity": "sha512-PSqhkxzckO6J27W0GxawHYln4wvfDJ7puDmccksyFOBo97UhLnpxiyvBekhiYpkuaMtoZLQC/KALAkEj7lcb+A==", - "requires": { - "tonal-array": "^2.2.2", - "tonal-interval": "^2.2.2", - "tonal-note": "^2.2.2" - } - }, - "tonal-roman-numeral": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tonal-roman-numeral/-/tonal-roman-numeral-2.2.2.tgz", - "integrity": "sha512-+auQNObpW3OvsSqlo+Cc+0otrlEhtbEgpzkPoKbTtkCva0P9oSkSz0OZ9fI73KQM5MsBs1XbB+olxppWkzYTFw==" - }, - "tonal-scale": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tonal-scale/-/tonal-scale-2.2.2.tgz", - "integrity": "sha512-tDb3YCoTF50XOXq9kNhGB1JkInk7qAGN6GQnP/3xkGxkreFFRZyI58jfHlmWf/AH4+IKb/exsOmL6G8Ok/PCRw==", - "requires": { - "tonal-array": "^2.2.2", - "tonal-dictionary": "^2.2.2", - "tonal-distance": "^2.2.2", - "tonal-note": "^2.2.2", - "tonal-pcset": "^2.2.2" - } - }, - "tone": { - "version": "13.8.34", - "resolved": "https://registry.npmjs.org/tone/-/tone-13.8.34.tgz", - "integrity": "sha512-sFIYee0CO5lDcnC/RwIPiPMOIZCMEk35AaxF0Q64q7SE1BL+i+efYR6vrD+peDGrswXJ+D3bTmci2wCy+omx+Q==" - }, - "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", - "requires": { - "punycode": "^1.4.1" - } - }, - "transformation-matrix": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/transformation-matrix/-/transformation-matrix-1.15.0.tgz", - "integrity": "sha512-808EqPQbmUD6/IMpWUXLOZcblCHf9xaiB+un0RYNNE9+6VRjoiw6Be8R32tZ0ips1PX/15tlnA2Ev4UUgg827Q==", - "dev": true - }, - "transifex": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/transifex/-/transifex-1.5.0.tgz", - "integrity": "sha1-/xxFMPR3/Y3iNPyWit0yKVPUXPQ=", - "dev": true, - "requires": { - "commander": "^2.9.0", - "lodash": "^4.17.1", - "mkpath": "^1.0.0", - "mocha": "^3.2.0", - "request": "^2.34.0", - "should": "^11.1.2" - } - }, - "trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "trivial-deferred": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", - "integrity": "sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=", - "dev": true - }, - "tsame": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tsame/-/tsame-2.0.0.tgz", - "integrity": "sha512-dAuzcnOPdqZYojylFQzEes95UDjve3HqKrlTCeLZKSDPMTsn3smzHZqsJj/sWD8wOUkg0RD++B11evyLn2+bIw==", - "dev": true - }, - "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", - "dev": true - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=" - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.18" - }, - "dependencies": { - "mime-db": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=", - "dev": true - }, - "mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha1-ceRkU3p++BwV8tudl+kT/A/2BvA=", - "dev": true, - "requires": { - "mime-db": "~1.35.0" - } - } - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "typedarray-pool": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.2.0.tgz", - "integrity": "sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==", - "requires": { - "bit-twiddle": "^1.0.0", - "dup": "^1.0.0" - } - }, - "ua-parser-js": { - "version": "0.7.17", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha1-6exflJi57JEOeuOsYmqAXE0J7Kw=", - "dev": true, - "optional": true - }, - "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", - "dev": true, - "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "optional": true - }, - "uglifyjs-webpack-plugin": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz", - "integrity": "sha1-V2ON2ZyFOh6/6dl7QhYKilB/nQA=", - "dev": true, - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "schema-utils": "^0.4.5", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "uglify-es": "^3.3.4", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha1-n+FTahCmZKZSZqHjzPhf02MCvJw=" - }, - "underscore": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", - "dev": true - }, - "underscore-contrib": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz", - "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=", - "dev": true, - "requires": { - "underscore": "1.6.0" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true - }, - "unicode-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-1.0.3.tgz", - "integrity": "sha1-Wtp6f+1RhBpBijKM8UlHisg1irs=", - "dev": true, - "requires": { - "punycode": "^1.3.2", - "strip-ansi": "^3.0.1" - } - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz", - "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz", - "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==", - "dev": true - }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "unique-filename": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", - "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", - "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", - "dev": true - }, - "uri-js": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", - "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", - "requires": { - "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" - } - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-join": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", - "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", - "dev": true - }, - "url-parse": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz", - "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==", - "dev": true, - "requires": { - "querystringify": "^2.0.0", - "requires-port": "^1.0.0" - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "dev": true, - "requires": { - "os-homedir": "^1.0.0" - } - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=" - }, - "v8-compile-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", - "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } - } - }, - "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true, - "requires": { - "indexof": "0.0.1" - } - }, - "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", - "dev": true, - "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "webpack": { - "version": "4.16.5", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.16.5.tgz", - "integrity": "sha1-Kfs5Rigj1+uK78q4tF9/JB2w0JI=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-module-context": "1.5.13", - "@webassemblyjs/wasm-edit": "1.5.13", - "@webassemblyjs/wasm-opt": "1.5.13", - "@webassemblyjs/wasm-parser": "1.5.13", - "acorn": "^5.6.2", - "acorn-dynamic-import": "^3.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", - "schema-utils": "^0.4.4", - "tapable": "^1.0.0", - "uglifyjs-webpack-plugin": "^1.2.4", - "watchpack": "^1.5.0", - "webpack-sources": "^1.0.1" - }, - "dependencies": { - "acorn": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", - "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", - "dev": true - }, - "ajv": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", - "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" - } - }, - "ajv-keywords": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", - "dev": true - }, - "eslint-scope": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", - "integrity": "sha1-UL8wcekzi83EMzF5Sgy1M/ATYXI=", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - } - } - }, - "webpack-cli": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.0.tgz", - "integrity": "sha512-p5NeKDtYwjZozUWq6kGNs9w+Gtw/CPvyuXjXn2HMdz8Tie+krjEg8oAtonvIyITZdvpF7XG9xDHwscLr2c+ugQ==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.0.0", - "global-modules-path": "^2.1.0", - "import-local": "^1.0.0", - "inquirer": "^6.0.0", - "interpret": "^1.1.0", - "loader-utils": "^1.1.0", - "supports-color": "^5.4.0", - "v8-compile-cache": "^2.0.0", - "yargs": "^12.0.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 - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.5.0.tgz", - "integrity": "sha512-9ZTaoBaePSCFvNlNGrsyI8ZVACP2svUtq0DkM7t4K2ClAa96sqOIRjAzDTc8zXzFt1cZR46rRzLTiHFSJ+Qw0g==", - "dev": true - }, - "external-editor": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.1.tgz", - "integrity": "sha512-e1neqvSt5pSwQcFnYc6yfGuJD2Q4336cdbHs5VeUO0zTkqPbrHMyw2q1r47fpfLWbvIG8H8A6YO3sck7upTV6Q==", - "dev": true, - "requires": { - "chardet": "^0.5.0", - "iconv-lite": "^0.4.22", - "tmp": "^0.0.33" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "inquirer": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", - "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.0", - "figures": "^2.0.0", - "lodash": "^4.17.10", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.1.0", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - } - }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - }, - "rxjs": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.0.tgz", - "integrity": "sha512-ZnwuEquf72mnVORgX75eZCAKNNwulmKQuFxDPwDA5EvbkBXeRNJtmvhyVLcPcKkdiUtqqv+LbBM8jYo0eBW++w==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "webpack-dev-middleware": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz", - "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", - "dev": true, - "requires": { - "loud-rejection": "^1.6.0", - "memory-fs": "~0.4.1", - "mime": "^2.1.0", - "path-is-absolute": "^1.0.0", - "range-parser": "^1.0.3", - "url-join": "^4.0.0", - "webpack-log": "^1.0.1" - }, - "dependencies": { - "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", - "dev": true - } - } - }, - "webpack-dev-server": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.5.tgz", - "integrity": "sha1-h0dyUuGsZ4kwP7jNPlhfpdUIpAE=", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "array-includes": "^3.0.3", - "bonjour": "^3.5.0", - "chokidar": "^2.0.0", - "compression": "^1.5.2", - "connect-history-api-fallback": "^1.3.0", - "debug": "^3.1.0", - "del": "^3.0.0", - "express": "^4.16.2", - "html-entities": "^1.2.0", - "http-proxy-middleware": "~0.18.0", - "import-local": "^1.0.0", - "internal-ip": "1.2.0", - "ip": "^1.1.5", - "killable": "^1.0.0", - "loglevel": "^1.4.1", - "opn": "^5.1.0", - "portfinder": "^1.0.9", - "selfsigned": "^1.9.1", - "serve-index": "^1.7.2", - "sockjs": "0.3.19", - "sockjs-client": "1.1.5", - "spdy": "^3.4.1", - "strip-ansi": "^3.0.0", - "supports-color": "^5.1.0", - "webpack-dev-middleware": "3.1.3", - "webpack-log": "^1.1.2", - "yargs": "11.0.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, - "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yargs": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", - "integrity": "sha1-wFKTEAbF7udGEOX8A1S+39CKIBs=", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" - } - } - } - }, - "webpack-log": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", - "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", - "dev": true, - "requires": { - "chalk": "^2.1.0", - "log-symbols": "^2.1.0", - "loglevelnext": "^1.0.1", - "uuid": "^3.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "webpack-sources": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", - "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", - "dev": true, - "requires": { - "http-parser-js": ">=0.4.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=", - "dev": true - }, - "whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=", - "dev": true, - "optional": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "worker-farm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", - "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "worker-loader": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-1.1.1.tgz", - "integrity": "sha512-qJZLVS/jMCBITDzPo/RuweYSIG8VJP5P67mP/71alGyTZRe1LYJFdwLjLalY3T5ifx0bMDRD3OB6P2p1escvlg==", - "requires": { - "loader-utils": "^1.0.0", - "schema-utils": "^0.4.0" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "write-file-atomic": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "ws": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.2.tgz", - "integrity": "sha1-lsHQiz/v2h1cHjNwDTv6qb4tVgg=", - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, - "xhr": { - "version": "2.4.0", - "resolved": "http://registry.npmjs.org/xhr/-/xhr-2.4.0.tgz", - "integrity": "sha1-4W5mpF+GmGHu76tBbV7/ci3ECZM=", - "requires": { - "global": "~4.3.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "xmlcreate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz", - "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=", - "dev": true - }, - "xmlhttprequest-ssl": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.4.tgz", - "integrity": "sha1-BPVgkVcks4kIhxXMDteBPpZ3v1c=" - }, - "xregexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", - "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", - "dev": true - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yapool": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", - "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", - "dev": true - }, - "yargs": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz", - "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^2.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^10.1.0" - }, - "dependencies": { - "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", - "dev": true, - "requires": { - "xregexp": "4.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", - "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, - "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" - } - } + "name": "scratch-vm", + "version": "0.2.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "scratch-vm", + "version": "0.2.0", + "license": "BSD-3-Clause", + "dependencies": { + "@magenta/music": "^1.20.0", + "@vernier/godirect": "1.5.0", + "arraybuffer-loader": "^1.0.6", + "atob": "2.1.2", + "browser-hrtime": "^1.1.8", + "btoa": "1.2.1", + "canvas-toBlob": "1.0.0", + "decode-html": "2.0.0", + "diff-match-patch": "1.0.4", + "format-message": "6.2.1", + "htmlparser2": "3.10.0", + "immutable": "3.8.1", + "jszip": "^3.1.5", + "minilog": "3.1.0", + "nets": "3.2.0", + "scratch-parser": "5.0.0", + "scratch-sb1-converter": "0.2.7", + "scratch-translate-extension-languages": "0.0.20191118205314", + "socket.io-client": "2.0.4", + "text-encoding": "0.7.0", + "worker-loader": "^1.1.1" + }, + "devDependencies": { + "@babel/core": "^7.1.2", + "@babel/preset-env": "^7.1.0", + "adm-zip": "0.4.11", + "babel-eslint": "^10.0.1", + "babel-loader": "^8.0.4", + "copy-webpack-plugin": "^4.5.4", + "docdash": "^1.0.0", + "eslint": "^5.3.0", + "eslint-config-scratch": "^5.0.0", + "expose-loader": "0.7.5", + "file-loader": "^2.0.0", + "format-message-cli": "6.2.0", + "gh-pages": "^1.2.0", + "in-publish": "^2.0.0", + "jsdoc": "^3.5.5", + "json": "^9.0.4", + "lodash.defaultsdeep": "4.6.1", + "pngjs": "^3.3.2", + "scratch-audio": "latest", + "scratch-blocks": "latest", + "scratch-l10n": "^3.1.20181129221712", + "scratch-storage": "^1.1.0", + "scratch-svg-renderer": "latest", + "script-loader": "0.7.2", + "stats.js": "^0.17.0", + "tap": "^12.0.1", + "tiny-worker": "^2.1.1", + "uglifyjs-webpack-plugin": "1.2.7", + "webpack": "^4.16.5", + "webpack-cli": "^3.1.0", + "webpack-dev-server": "^3.1.5" + } + }, + "node_modules/@babel/cli": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.1.5.tgz", + "integrity": "sha512-zbO/DtTnaDappBflIU3zYEgATLToRDmW5uN/EGH1GXaes7ydfjqmAoK++xmJIA+8HfDw7UyPZNdM8fhGhfmMhw==", + "dev": true, + "dependencies": { + "commander": "^2.8.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.10", + "mkdirp": "^0.5.1", + "output-file-sync": "^2.0.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "optionalDependencies": { + "chokidar": "^2.0.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/cli/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/cli/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.0.0" + } + }, + "node_modules/@babel/core": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.2.tgz", + "integrity": "sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.1.2", + "@babel/helpers": "^7.1.2", + "@babel/parser": "^7.1.2", + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.1.2", + "convert-source-map": "^1.1.0", + "debug": "^3.1.0", + "json5": "^0.5.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@babel/core/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/@babel/generator": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz", + "integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.1.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "node_modules/@babel/generator/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-call-delegate": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", + "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-map": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", + "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" + } + }, + "node_modules/@babel/helper-define-map/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", + "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-module-imports/node_modules/@babel/types": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0.tgz", + "integrity": "sha512-5tPDap4bGKTLPtci2SUl/B7Gv8RnuJFuQoWx26RJobS0fFrz4reUA3JnwIM+HVHEmWE0C1mzKhDtTp8NsWY02Q==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@babel/helper-module-imports/node_modules/lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "node_modules/@babel/helper-module-imports/node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.1.0.tgz", + "integrity": "sha512-0JZRd2yhawo79Rcm4w0LwSMILFmFXjugG3yqf+P/UsKsRS1mJCmMwwlHDlMg7Avr9LrvSpp4ZSULO9r8jpCzcw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" + } + }, + "node_modules/@babel/helper-module-transforms/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "node_modules/@babel/helper-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", + "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.10" + } + }, + "node_modules/@babel/helper-regex/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz", + "integrity": "sha512-BvcDWYZRWVuDeXTYZWxekQNO5D4kO55aArwZOTFXw6rlLQA8ZaDicJR1sO47h+HrnCiDFiww0fSPV0d713KBGQ==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz", + "integrity": "sha512-R6HU3dete+rwsdAfrOzTlE9Mcpk4RjU3aX3gi9grtmugQY0u79X7eogUvfXA5sI81Mfq1cn6AgxihfN33STjJA==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.2.tgz", + "integrity": "sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.1.2" + } + }, + "node_modules/@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "dependencies": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0.tgz", + "integrity": "sha512-RgJhNdRinpO8zibnoHbzTTexNs4c8ROkXFBanNDZTLHjwbdLk8J5cJSKulx/bycWTLYmKVNCkxRtVCoJnqPk+g==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.1.0.tgz", + "integrity": "sha512-Fq803F3Jcxo20MXUSDdmZZXrPe6BWyGcWBPPNB/M7WaUYESKDeKMOGIxEzQOjGSmW/NWb6UaPZrtTB2ekhB/ew==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz", + "integrity": "sha512-kfVdUkIAGJIVmHmtS/40i/fg/AGnw/rsZBCaapY5yjeO5RA9m165Xbw9KMOu2nqXP5dTFjEjHdfNdoVcHv133Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz", + "integrity": "sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz", + "integrity": "sha512-JPqAvLG1s13B/AuoBjdBYvn38RqW6n1TzrQO839/sIpqLpbnXKacsAgpZHzLD83Sm8SDXMkkrAvEnJ25+0yIpw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz", + "integrity": "sha512-tM3icA6GhC3ch2SkmSxv7J/hCWKISzwycub6eGsDrFDgukD4dZ/I+x81XgW0YslS6mzNuQ1Cbzh5osjIMgepPQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.2.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex/node_modules/regexpu-core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", + "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.4.0", + "regjsparser": "^0.3.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex/node_modules/regjsgen": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", + "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", + "dev": true + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex/node_modules/regjsparser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", + "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz", + "integrity": "sha512-im7ged00ddGKAjcZgewXmp1vxSZQQywuQXe2B1A7kajjZmDeY/ekMPmWr9zJgveSaQH0k7BcGrojQhcK06l0zA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz", + "integrity": "sha512-UlSfNydC+XLj4bw7ijpldc1uZ/HB84vw+U6BTuqMdIEmz/LDe63w/GHtpQMdXWdqQZFeAI9PjnHe/vDhwirhKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz", + "integrity": "sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz", + "integrity": "sha512-Wc+HVvwjcq5qBg1w5RG9o9RVzmCaAg/Vp0erHCKpAYV8La6I94o4GQAmFYNmkzoMO6gzoOSulpKeSSz6mPEoZw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz", + "integrity": "sha512-2EZDBl1WIO/q4DIkIp4s86sdp4ZifL51MoIviLY/gG/mLSuOIEg7J8o6mhbxOTvUJkaN50n+8u41FVsr5KLy/w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.1.0.tgz", + "integrity": "sha512-rNmcmoQ78IrvNCIt/R9U+cixUHeYAzgusTFgIAv+wQb9HJU4szhpDD6e5GCACmj/JP5KxuCwM96bX3L9v4ZN/g==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz", + "integrity": "sha512-AOBiyUp7vYTqz2Jibe1UaAWL0Hl9JUXEgjFvvvcSc9MVDItv46ViXFw2F7SVt1B5k+KWjl44eeXOAk3UDEaJjQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz", + "integrity": "sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz", + "integrity": "sha512-rNaqoD+4OCBZjM7VaskladgqnZ1LO6o2UxuWSDzljzW21pN1KXkB7BstAVweZdxQkHAujps5QMNOTWesBciKFg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", + "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz", + "integrity": "sha512-ubouZdChNAv4AAWAgU7QKbB93NU5sHwInEWfp+/OzJKA02E6Woh9RVoX4sZrbRwtybky/d7baTUqwFx+HgbvMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.1.3.tgz", + "integrity": "sha512-Mb9M4DGIOspH1ExHOUnn2UUXFOyVTiX84fXCd+6B5iWrQg/QMeeRmSwpZ9lnjYLSXtZwiw80ytVMr3zue0ucYw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz", + "integrity": "sha512-00THs8eJxOJUFVx1w8i1MBF4XH4PsAjKjQ1eqN/uCH3YKwP21GCKfrn6YZFZswbOk9+0cw1zGQPHVc1KBlSxig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex/node_modules/regexpu-core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", + "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.4.0", + "regjsparser": "^0.3.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex/node_modules/regjsgen": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", + "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", + "dev": true + }, + "node_modules/@babel/plugin-transform-dotall-regex/node_modules/regjsparser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", + "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz", + "integrity": "sha512-w2vfPkMqRkdxx+C71ATLJG30PpwtTpW7DDdLqYt2acXU7YjztzeWW2Jk1T6hKqCLYCcEA5UQM/+xTAm+QCSnuQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.1.0.tgz", + "integrity": "sha512-uZt9kD1Pp/JubkukOGQml9tqAeI8NkE98oZnHZ2qHRElmeKCodbTZgOEUtujSCSLhHSBWbzNiFSDIMC4/RBTLQ==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz", + "integrity": "sha512-TlxKecN20X2tt2UEr2LNE6aqA0oPeMT1Y3cgz8k4Dn1j5ObT8M3nl9aA37LLklx0PBZKETC9ZAf9n/6SujTuXA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.1.0.tgz", + "integrity": "sha512-VxOa1TMlFMtqPW2IDYZQaHsFrq/dDoIjgN098NowhexhZcz3UGlvPgZXuE1jEvNygyWyxRacqDpCZt+par1FNg==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz", + "integrity": "sha512-1NTDBWkeNXgpUcyoVFxbr9hS57EpZYXpje92zv0SUzjdu3enaRwF/l3cmyRnXLtIdyJASyiS6PtybK+CgKf7jA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.1.0.tgz", + "integrity": "sha512-wt8P+xQ85rrnGNr2x1iV3DW32W8zrB6ctuBkYBbf5/ZzJY99Ob4MFgsZDFgczNU76iy9PWsy4EuxOliDjdKw6A==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz", + "integrity": "sha512-wtNwtMjn1XGwM0AXPspQgvmE6msSJP15CX2RVfpTSTNPLhKhaOjaIfBaVfj4iUZ/VrFSodcFedwtPg/NxwQlPA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.1.3.tgz", + "integrity": "sha512-PvTxgjxQAq4pvVUZF3mD5gEtVDuId8NtWkJsZLEJZMZAW3TvgQl1pmydLLN1bM8huHFVVU43lf0uvjQj9FRkKw==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.1.0.tgz", + "integrity": "sha512-enrRtn5TfRhMmbRwm7F8qOj0qEYByqUvTttPEGimcBH4CJHphjyK1Vg7sdU7JjeEmgSpM890IT/efS2nMHwYig==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz", + "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.1.0.tgz", + "integrity": "sha512-/O02Je1CRTSk2SSJaq0xjwQ8hG4zhZGNjE8psTsSNPXyLRCODv7/PBozqT5AmQMzp7MI3ndvMhGdqp9c96tTEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.1.0.tgz", + "integrity": "sha512-vHV7oxkEJ8IHxTfRr3hNGzV446GAb+0hgbA7o/0Jd76s+YzccdWuTU296FOCOl/xweU4t/Ya4g41yWz80RFCRw==", + "dev": true, + "dependencies": { + "@babel/helper-call-delegate": "^7.1.0", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", + "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.13.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator/node_modules/regenerator-transform": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", + "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", + "dev": true, + "dependencies": { + "private": "^0.1.6" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz", + "integrity": "sha512-g/99LI4vm5iOf5r1Gdxq5Xmu91zvjhEG5+yZDJW268AZELAu4J1EiFLnkSG3yuUsZyOipVOVUKoGPYwfsTymhw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz", + "integrity": "sha512-L702YFy2EvirrR4shTj0g2xQp7aNwZoWNCkNu2mcoU0uyzMl0XRwDSwzB/xp6DSUFiBmEXuyAyEN16LsgVqGGQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz", + "integrity": "sha512-LFUToxiyS/WD+XEWpkx/XJBrUXKewSZpzX68s+yEOtIbdnsRjpryDw9U06gYc6klYEij/+KQVRnD3nz3AoKmjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz", + "integrity": "sha512-vA6rkTCabRZu7Nbl9DfLZE1imj4tzdWcg5vtdQGvj+OH9itNNB6hxuRMHuIY8SGnEt1T9g5foqs9LnrHzsqEFg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz", + "integrity": "sha512-1r1X5DO78WnaAIvs5uC48t41LLckxsYklJrZjNKcevyz83sF2l4RHbw29qrCPr/6ksFsdfRpT/ZgxNWHXRnffg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz", + "integrity": "sha512-uJBrJhBOEa3D033P95nPHu3nbFwFE9ZgXsfEitzoIXIwqAZWk7uXcg06yFKXz9FSxBH5ucgU/cYdX0IV8ldHKw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex/node_modules/regexpu-core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", + "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.4.0", + "regjsparser": "^0.3.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex/node_modules/regjsgen": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", + "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", + "dev": true + }, + "node_modules/@babel/plugin-transform-unicode-regex/node_modules/regjsparser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", + "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.1.0.tgz", + "integrity": "sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.1.0", + "@babel/plugin-proposal-json-strings": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.0.0", + "@babel/plugin-syntax-async-generators": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.1.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.1.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-dotall-regex": "^7.0.0", + "@babel/plugin-transform-duplicate-keys": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.1.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.1.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-amd": "^7.1.0", + "@babel/plugin-transform-modules-commonjs": "^7.1.0", + "@babel/plugin-transform-modules-systemjs": "^7.0.0", + "@babel/plugin-transform-modules-umd": "^7.1.0", + "@babel/plugin-transform-new-target": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.1.0", + "@babel/plugin-transform-parameters": "^7.1.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typeof-symbol": "^7.0.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "browserslist": "^4.1.0", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/browserslist": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.2.1.tgz", + "integrity": "sha512-1oO0c7Zhejwd+LXihS89WqtKionSbz298rJZKJgfrHIZhrV8AC15gw553VcB0lcEugja7IhWD7iAlrsamfYVPA==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30000890", + "electron-to-chromium": "^1.3.79", + "node-releases": "^1.0.0-alpha.14" + }, + "bin": { + "browserslist": "cli.js" + } + }, + "node_modules/@babel/preset-env/node_modules/caniuse-lite": { + "version": "1.0.30000892", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000892.tgz", + "integrity": "sha512-X9rxMaWZNbJB5qjkDqPtNv/yfViTeUL6ILk0QJNxLV3OhKC5Acn5vxsuUvllR6B48mog8lmS+whwHq/QIYSL9w==", + "dev": true + }, + "node_modules/@babel/preset-env/node_modules/electron-to-chromium": { + "version": "1.3.79", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.79.tgz", + "integrity": "sha512-LQdY3j4PxuUl6xfxiFruTSlCniTrTrzAd8/HfsLEMi0PUpaQ0Iy+Pr4N4VllDYjs0Hyu2lkTbvzqlG+PX9NsNw==", + "dev": true + }, + "node_modules/@babel/template": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz", + "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.1.2", + "@babel/types": "^7.1.2" + } + }, + "node_modules/@babel/template/node_modules/@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.4.tgz", + "integrity": "sha512-my9mdrAIGdDiSVBuMjpn/oXYpva0/EZwWL3sm3Wcy/AVWO2eXnsoZruOT9jOGNRXU8KbCIu5zsKnXcAJ6PcV6Q==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.1.3", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.1.3", + "@babel/types": "^7.1.3", + "debug": "^3.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", + "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/traverse/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/@babel/types": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", + "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@babel/types/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/types/node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@magenta/music": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@magenta/music/-/music-1.20.0.tgz", + "integrity": "sha512-/WSdKaKt+omMKXwf/LRHb9UgfwcCWQKbMwM6HFauXATTReg2Tz/5sIZ2FTaXfNvmX+d7/NZp5ZGifJGpzRUI/A==", + "dependencies": { + "@tensorflow/tfjs": "^1.1.2", + "@tonejs/midi": "^2.0.15", + "fft.js": "^4.0.3", + "ndarray-resample": "^1.0.1", + "protobufjs": "^6.8.6", + "staffrender": "^0.2.1", + "tonal": "^2.0.0", + "tone": "^13.8.21" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, + "node_modules/@tensorflow/tfjs": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-1.7.4.tgz", + "integrity": "sha512-XWGwRQ/ECEoQacd74JY/dmbLdnMpwtq3H8tls45dQ+GJ553Advir1FDo/aQt0Yr6fTimQDeiOIG4Mcb5KduP/w==", + "dependencies": { + "@tensorflow/tfjs-converter": "1.7.4", + "@tensorflow/tfjs-core": "1.7.4", + "@tensorflow/tfjs-data": "1.7.4", + "@tensorflow/tfjs-layers": "1.7.4" + } + }, + "node_modules/@tensorflow/tfjs-converter": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-1.7.4.tgz", + "integrity": "sha512-B/Ux9I3osI0CXoESGR0Xe5C6BsEfC04+g2xn5zVaW9KEuVEnGEgnuBQxgijRFzkqTwoyLv4ptAmjyIghVARX0Q==", + "peerDependencies": { + "@tensorflow/tfjs-core": "1.7.4" + } + }, + "node_modules/@tensorflow/tfjs-core": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-1.7.4.tgz", + "integrity": "sha512-3G4VKJ6nPs7iCt6gs3bjRj8chihKrYWenf63R0pm7D9MhlrVoX/tpN4LYVMGgBL7jHPxMLKdOkoAZJrn/J88HQ==", + "dependencies": { + "@types/offscreencanvas": "~2019.3.0", + "@types/seedrandom": "2.4.27", + "@types/webgl-ext": "0.0.30", + "@types/webgl2": "0.0.4", + "node-fetch": "~2.1.2", + "seedrandom": "2.4.3" + }, + "engines": { + "yarn": ">= 1.3.2" + } + }, + "node_modules/@tensorflow/tfjs-core/node_modules/node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=", + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/@tensorflow/tfjs-data": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-1.7.4.tgz", + "integrity": "sha512-WFYG9wWjNDi62x6o3O20Q0XJxToCw2J4/fBEXiK/Gr0hIqVhl2oLQ1OjTWq7O08NUxM6BRzuG+ra3gWYdQUzOw==", + "dependencies": { + "@types/node-fetch": "^2.1.2", + "node-fetch": "~2.1.2" + }, + "peerDependencies": { + "@tensorflow/tfjs-core": "1.7.4", + "seedrandom": "~2.4.3" + } + }, + "node_modules/@tensorflow/tfjs-data/node_modules/node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=", + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/@tensorflow/tfjs-layers": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-1.7.4.tgz", + "integrity": "sha512-5/K8Z8RBfXsucL6EaSeb3/8jB/I8oPaaXkxwKVsBPQ+u6lB6LEtSKzeiFc57nDr5OMtVaUZV+pKDNEzP0RUQlg==", + "peerDependencies": { + "@tensorflow/tfjs-core": "1.7.4" + } + }, + "node_modules/@tonejs/midi": { + "version": "2.0.25", + "resolved": "https://registry.npmjs.org/@tonejs/midi/-/midi-2.0.25.tgz", + "integrity": "sha512-zT8pZy/upJCGqXHSCO1+U39wgWIaizDg+sv7nVReJehMcT86Peh+zo5kQ42Guwgc/gnv47n7fJhoTRGsJVaqJQ==", + "dependencies": { + "array-flatten": "^2.1.2", + "midi-file": "^1.1.2" + } + }, + "node_modules/@tonejs/midi/node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "node_modules/@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" + }, + "node_modules/@types/node": { + "version": "14.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.9.tgz", + "integrity": "sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==" + }, + "node_modules/@types/node-fetch": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", + "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", + "dependencies": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "node_modules/@types/node-fetch/node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@types/node-fetch/node_modules/form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/offscreencanvas": { + "version": "2019.3.0", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.3.0.tgz", + "integrity": "sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==" + }, + "node_modules/@types/seedrandom": { + "version": "2.4.27", + "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-2.4.27.tgz", + "integrity": "sha1-nbVjk33YaRX2kJK8QyWdL0hXjkE=" + }, + "node_modules/@types/webgl-ext": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/webgl-ext/-/webgl-ext-0.0.30.tgz", + "integrity": "sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==" + }, + "node_modules/@types/webgl2": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.4.tgz", + "integrity": "sha512-PACt1xdErJbMUOUweSrbVM7gSIYm1vTncW2hF6Os/EeWi6TXYAYMPp+8v6rzHmypE5gHrxaxZNXgMkJVIdZpHw==" + }, + "node_modules/@vernier/godirect": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vernier/godirect/-/godirect-1.5.0.tgz", + "integrity": "sha512-vMS0fQubI3WSSLg1Ry3aey/qWCl9XoCsFzgwOWYkeJs45YxjPel+42pLh5pO7uP6oF47sjZUKx8kGOoTiiiirA==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.5.13.tgz", + "integrity": "sha512-49nwvW/Hx9i+OYHg+mRhKZfAlqThr11Dqz8TsrvqGKMhdI2ijy3KBJOun2Z4770TPjrIJhR6KxChQIDaz8clDA==", + "dependencies": { + "@webassemblyjs/helper-module-context": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/wast-parser": "1.5.13", + "debug": "^3.1.0", + "mamacro": "^0.0.3" + } + }, + "node_modules/@webassemblyjs/ast/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@webassemblyjs/ast/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz", + "integrity": "sha512-vrvvB18Kh4uyghSKb0NTv+2WZx871WL2NzwMj61jcq2bXkyhRC+8Q0oD7JGVf0+5i/fKQYQSBCNMMsDMRVAMqA==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz", + "integrity": "sha512-dBh2CWYqjaDlvMmRP/kudxpdh30uXjIbpkLj9HQe+qtYlwvYjPRjdQXrq1cTAAOUSMTtzqbXIxEdEZmyKfcwsg==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz", + "integrity": "sha1-hzuwobRkSSMRN8EmLd/QVpUZWh4=", + "dependencies": { + "debug": "^3.1.0" + } + }, + "node_modules/@webassemblyjs/helper-buffer/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@webassemblyjs/helper-buffer/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz", + "integrity": "sha512-yN6ScQQDFCiAXnVctdVO/J5NQRbwyTbQzsGzEgXsAnrxhjp0xihh+nNHQTMrq5UhOqTb5LykpJAvEv9AT0jnAQ==", + "dependencies": { + "@webassemblyjs/wast-printer": "1.5.13" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz", + "integrity": "sha512-hSIKzbXjVMRvy3Jzhgu+vDd/aswJ+UMEnLRCkZDdknZO3Z9e6rp1DAs0tdLItjCFqkz9+0BeOPK/mk3eYvVzZg==" + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz", + "integrity": "sha512-zxJXULGPLB7r+k+wIlvGlXpT4CYppRz8fLUM/xobGHc9Z3T6qlmJD9ySJ2jknuktuuiR9AjnNpKYDECyaiX+QQ==", + "dependencies": { + "debug": "^3.1.0", + "mamacro": "^0.0.3" + } + }, + "node_modules/@webassemblyjs/helper-module-context/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@webassemblyjs/helper-module-context/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz", + "integrity": "sha512-0n3SoNGLvbJIZPhtMFq0XmmnA/YmQBXaZKQZcW8maGKwLpVcgjNrxpFZHEOLKjXJYVN5Il8vSfG7nRX50Zn+aw==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz", + "integrity": "sha1-78dvRKENMHO1hLQ8OKF53xc9XH0=", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "debug": "^3.1.0" + } + }, + "node_modules/@webassemblyjs/helper-wasm-section/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@webassemblyjs/helper-wasm-section/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz", + "integrity": "sha1-Vz6XyMEuTuuzFspf3gID3dkLA2Q=", + "dependencies": { + "ieee754": "^1.1.11" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.5.13.tgz", + "integrity": "sha1-q1Lrq5zsKDwcGJesHagzoEo/TO4=", + "dependencies": { + "long": "4.0.0" + } + }, + "node_modules/@webassemblyjs/leb128/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha1-mntxz7fTYaGU6lVSQckvdGjVvyg=" + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.5.13.tgz", + "integrity": "sha1-a1PSzYYc+U+pnB8Sd53eaS+8JGk=" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz", + "integrity": "sha1-yc71ZkwkXPEbOzpzEQyRVYMXJKg=", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/helper-wasm-section": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "@webassemblyjs/wasm-opt": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "@webassemblyjs/wast-printer": "1.5.13", + "debug": "^3.1.0" + } + }, + "node_modules/@webassemblyjs/wasm-edit/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@webassemblyjs/wasm-edit/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz", + "integrity": "sha1-jm6hE8S0MvpmVAGJ55sW16FAcA4=", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/ieee754": "1.5.13", + "@webassemblyjs/leb128": "1.5.13", + "@webassemblyjs/utf8": "1.5.13" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz", + "integrity": "sha1-FHqtdxen7kIRw2shpfTDDd3zMTg=", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "debug": "^3.1.0" + } + }, + "node_modules/@webassemblyjs/wasm-opt/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@webassemblyjs/wasm-opt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz", + "integrity": "sha1-b0ZRbFuyOQT731gAkjPC3YpUxy8=", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-api-error": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/ieee754": "1.5.13", + "@webassemblyjs/leb128": "1.5.13", + "@webassemblyjs/utf8": "1.5.13" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz", + "integrity": "sha512-Lbz65T0LQ1LgzKiUytl34CwuhMNhaCLgrh0JW4rJBN6INnBB8NMwUfQM+FxTnLY9qJ+lHJL/gCM5xYhB9oWi4A==", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/floating-point-hex-parser": "1.5.13", + "@webassemblyjs/helper-api-error": "1.5.13", + "@webassemblyjs/helper-code-frame": "1.5.13", + "@webassemblyjs/helper-fsm": "1.5.13", + "long": "^3.2.0", + "mamacro": "^0.0.3" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz", + "integrity": "sha512-QcwogrdqcBh8Z+eUF8SG+ag5iwQSXxQJELBEHmLkk790wgQgnIMmntT2sMAMw53GiFNckArf5X0bsCA44j3lWQ==", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/wast-parser": "1.5.13", + "long": "^3.2.0" + } + }, + "node_modules/accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "dev": true, + "dependencies": { + "mime-types": "~2.1.18", + "negotiator": "0.6.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha1-ceRkU3p++BwV8tudl+kT/A/2BvA=", + "dev": true, + "dependencies": { + "mime-db": "~1.35.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-dynamic-import": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", + "dependencies": { + "acorn": "^5.0.0" + } + }, + "node_modules/acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "dependencies": { + "acorn": "^3.0.4" + } + }, + "node_modules/acorn-jsx/node_modules/acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adm-zip": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.11.tgz", + "integrity": "sha512-L8vcjDTCOIJk7wFvmlEUN7AsSb8T+2JrdP7KINBjzr24TJ5Mwj590sLu3BC7zNZowvJWa/JtPmD8eJCzdtDWjA==", + "dev": true, + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + }, + "node_modules/ajv": { + "version": "4.11.8", + "resolved": "http://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "dependencies": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz", + "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=", + "dev": true, + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", + "dev": true, + "peerDependencies": { + "ajv": ">=4.10.0" + } + }, + "node_modules/align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dependencies": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/align-text/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "devOptional": true, + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/ansi-escapes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "node_modules/argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-flatten": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arraybuffer-loader": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/arraybuffer-loader/-/arraybuffer-loader-1.0.6.tgz", + "integrity": "sha1-3gZExXCnnOK7vGCcdaZ8go9jYsc=", + "dependencies": { + "loader-utils": "^1.1.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/arraybuffer.slice": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", + "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=" + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true, + "optional": true + }, + "node_modules/asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dependencies": { + "util": "0.10.3" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + }, + "node_modules/async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/audio-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/audio-context/-/audio-context-1.0.1.tgz", + "integrity": "sha1-zsTbis5u9KrL8Q7vCXekVxRo1Ks=", + "deprecated": "Depends on Web-Audio-API implementation. Use either web-audio-api, web-audio-js or web-audio-engine package.", + "dev": true, + "dependencies": { + "global": "^4.3.1" + } + }, + "node_modules/aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.6.0", + "resolved": "http://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" + }, + "node_modules/babel-code-frame": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", + "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "dev": true, + "dependencies": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" + } + }, + "node_modules/babel-eslint": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz", + "integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==", + "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "^1.0.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">= 4.12.1" + } + }, + "node_modules/babel-eslint/node_modules/@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.0.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/generator": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz", + "integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.1.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "node_modules/babel-eslint/node_modules/@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "dependencies": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/template": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz", + "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.1.2", + "@babel/types": "^7.1.2" + } + }, + "node_modules/babel-eslint/node_modules/@babel/template/node_modules/@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/traverse": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.4.tgz", + "integrity": "sha512-my9mdrAIGdDiSVBuMjpn/oXYpva0/EZwWL3sm3Wcy/AVWO2eXnsoZruOT9jOGNRXU8KbCIu5zsKnXcAJ6PcV6Q==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.1.3", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.1.3", + "@babel/types": "^7.1.3", + "debug": "^3.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" + } + }, + "node_modules/babel-eslint/node_modules/@babel/traverse/node_modules/@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/types": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", + "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/babel-eslint/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-eslint/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-eslint/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/babel-eslint/node_modules/globals": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", + "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-eslint/node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/babel-eslint/node_modules/jsesc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", + "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-eslint/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/babel-eslint/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/babel-eslint/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-eslint/node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-loader": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.4.tgz", + "integrity": "sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "util.promisify": "^1.0.0" + }, + "engines": { + "node": ">= 6.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-plugin-extract-format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-extract-format-message/-/babel-plugin-extract-format-message-6.2.0.tgz", + "integrity": "sha512-aFr8LeYCAlPjXGMaKlCGkrAxMNjPfS4FXAV7VLY4qgF+68xpHooqpkJndOA7cYSkeXO3LFCwOA4oy14xeEOmZg==", + "dev": true, + "dependencies": { + "format-message-estree-util": "^6.1.0", + "format-message-generate-id": "^6.2.0", + "format-message-parse": "^6.2.0", + "format-message-print": "^6.2.0" + } + }, + "node_modules/babel-plugin-extract-format-message/node_modules/format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", + "dev": true + }, + "node_modules/babel-plugin-react-intl": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-2.4.0.tgz", + "integrity": "sha512-r67nOQdpKxPtDFiJHquTt9dBG0xOlBk1u3rForULNrDXvTzg5RRHbB7RLqqMWOvqfP2znTo0C+e/PLnPKt+JXA==", + "deprecated": "this package has been renamed to babel-plugin-formatjs", + "dev": true, + "dependencies": { + "babel-runtime": "^6.2.0", + "intl-messageformat-parser": "^1.2.0", + "mkdirp": "^0.5.1" + } + }, + "node_modules/babel-plugin-transform-format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-format-message/-/babel-plugin-transform-format-message-6.2.0.tgz", + "integrity": "sha512-rj88gOe7ENYKSX74Yd0wTpUr1Ty8247OfGZqJh6flwElt8vtBwBAGONXoEG0B+QlRpm9iDgiPJhpFCv3tEok/w==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/parser": "^7.0.0", + "format-message": "^6.2.0", + "format-message-estree-util": "^6.1.0", + "format-message-formats": "^6.2.0", + "format-message-generate-id": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0", + "source-map": "^0.5.7" + } + }, + "node_modules/babel-plugin-transform-format-message/node_modules/format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.0.tgz", + "integrity": "sha512-QzjDk0owKnAj/+HviUIaR6I3y6zOa8hKdbQbkl7ejkjbaVJ0j4YWllZmZDAyNrG2iEWdqKCmIU1mum8mHGLEFw==", + "dev": true, + "dependencies": { + "format-message-formats": "^6.2.0", + "format-message-interpret": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "node_modules/babel-plugin-transform-format-message/node_modules/format-message-formats": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", + "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==", + "dev": true + }, + "node_modules/babel-plugin-transform-format-message/node_modules/format-message-interpret": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.0.tgz", + "integrity": "sha512-G2WxW9c/vk97rPgbP67p/6BdpoZI8g4LdKDIqxAlXQq1ZI3uQTV2a5f9q3Big04hjSsI8uTgzWWmF4ht50foyw==", + "dev": true, + "dependencies": { + "format-message-formats": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "node_modules/babel-plugin-transform-format-message/node_modules/format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", + "dev": true + }, + "node_modules/babel-plugin-transform-format-message/node_modules/lookup-closest-locale": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", + "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==", + "dev": true + }, + "node_modules/babel-plugin-transform-format-message/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "node_modules/balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + }, + "node_modules/base64-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64-loader/-/base64-loader-1.0.0.tgz", + "integrity": "sha1-5TC62I6QbdKh+tCvLZ5oP6i9kqg=", + "dev": true + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "optional": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "dependencies": { + "callsite": "1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/big.js": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", + "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bind-obj-methods": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-2.0.0.tgz", + "integrity": "sha1-AXgUDb57e7Z9x0iSrOWbwCR/BvA=", + "dev": true + }, + "node_modules/bit-twiddle": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", + "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" + }, + "node_modules/blob": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=" + }, + "node_modules/bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=" + }, + "node_modules/bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=" + }, + "node_modules/body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true, + "dependencies": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.1", + "http-errors": "~1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "~2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "~1.6.15" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "node_modules/boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", + "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", + "dependencies": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "node_modules/browser-hrtime": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/browser-hrtime/-/browser-hrtime-1.1.8.tgz", + "integrity": "sha512-kzXheikaJsBtzUBlyVtPIY5r0soQePzjwVwT4IlDpU2RvfB5Py52gpU98M77rgqMCheoSSZvrcrdj3t6cZ3suA==" + }, + "node_modules/browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-des/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dependencies": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dependencies": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", + "bin": { + "btoa": "bin/btoa.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "deprecated": "This version of 'buffer' is out-of-date. You must update to v4.9.2 or newer", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", + "dev": true + }, + "node_modules/buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "node_modules/builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dependencies": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "node_modules/cacache/node_modules/rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dependencies": { + "glob": "^7.0.5" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "dependencies": { + "callsites": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "engines": { + "node": "*" + } + }, + "node_modules/callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "dependencies": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/canvas-toBlob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/canvas-toBlob/-/canvas-toBlob-1.0.0.tgz", + "integrity": "sha1-m/MrKGu04SUhiyCO7MgyH9Az5sM=" + }, + "node_modules/caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=" + }, + "node_modules/catharsis": { + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz", + "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", + "dev": true, + "dependencies": { + "underscore-contrib": "~0.3.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dependencies": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "node_modules/chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "lodash.debounce": "^4.0.8", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.5" + }, + "optionalDependencies": { + "fsevents": "^1.2.2" + } + }, + "node_modules/chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" + }, + "node_modules/chrome-trace-event": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", + "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=", + "deprecated": "CircularJSON is in maintenance only, flatted is its successor.", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-yaml-object": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", + "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", + "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", + "dev": true, + "dependencies": { + "color-name": "1.1.1" + } + }, + "node_modules/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI=", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dependencies": { + "graceful-readlink": ">= 1.0.0" + }, + "engines": { + "node": ">= 0.6.x" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "node_modules/component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + }, + "node_modules/component-emitter": { + "version": "1.2.1", + "resolved": "http://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "node_modules/component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + }, + "node_modules/compressible": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", + "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", + "dev": true, + "dependencies": { + "mime-db": ">= 1.34.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compressible/node_modules/mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", + "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.14", + "debug": "2.6.9", + "on-headers": "~1.0.1", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dependencies": { + "date-now": "^0.1.4" + } + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "node_modules/cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.4.tgz", + "integrity": "sha512-0lstlEyj74OAtYMrDxlNZsU7cwFijAI3Ofz2fD6Mpo9r4xCv4yegfa3uHIKvZY1NSuOtE9nvG6TAhJ+uz9gDaQ==", + "dev": true, + "dependencies": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "node_modules/coveralls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.2.tgz", + "integrity": "sha512-Tv0LKe/MkBOilH2v7WBiTBdudg2ChfGbdXafc/s330djpF3zKOmuehTeRwjXWc7pzfj9FrDUTA7tEx6Div8NFw==", + "dev": true, + "dependencies": { + "growl": "~> 1.10.0", + "js-yaml": "^3.11.0", + "lcov-parse": "^0.0.10", + "log-driver": "^1.2.7", + "minimist": "^1.2.0", + "request": "^2.85.0" + }, + "bin": { + "coveralls": "bin/coveralls.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/coveralls/node_modules/ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "dependencies": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/coveralls/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/coveralls/node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/coveralls/node_modules/aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "node_modules/coveralls/node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/coveralls/node_modules/combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/coveralls/node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/coveralls/node_modules/form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/coveralls/node_modules/har-validator": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", + "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^5.3.0", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coveralls/node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/coveralls/node_modules/mime-db": { + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", + "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/coveralls/node_modules/mime-types": { + "version": "2.1.20", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", + "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", + "dev": true, + "dependencies": { + "mime-db": "~1.36.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/coveralls/node_modules/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "node_modules/coveralls/node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/coveralls/node_modules/request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/coveralls/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/coveralls/node_modules/tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "dependencies": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/coveralls/node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/coveralls/node_modules/uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/crc32": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/crc32/-/crc32-0.2.2.tgz", + "integrity": "sha1-etIg1v/c0Rn5/BJ6d3LKzqOQpLo=", + "dev": true, + "bin": { + "crc32": "bin/runner.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dependencies": { + "boom": "2.x.x" + }, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "dependencies": { + "array-find-index": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cwise": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/cwise/-/cwise-1.0.10.tgz", + "integrity": "sha1-JO7mBy69/WuMb12tsXCQtkmxK+8=", + "dependencies": { + "cwise-compiler": "^1.1.1", + "cwise-parser": "^1.0.0", + "static-module": "^1.0.0", + "uglify-js": "^2.6.0" + } + }, + "node_modules/cwise-compiler": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz", + "integrity": "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=", + "dependencies": { + "uniq": "^1.0.0" + } + }, + "node_modules/cwise-parser": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cwise-parser/-/cwise-parser-1.0.3.tgz", + "integrity": "sha1-jkk8F9VPl8sDCp6YVLyGyd+zVP4=", + "dependencies": { + "esprima": "^1.0.3", + "uniq": "^1.0.0" + } + }, + "node_modules/cwise-parser/node_modules/esprima": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz", + "integrity": "sha1-CZNQL+r2aBODJXVvMPmlH+7sEek=", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/cwise/node_modules/duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dependencies": { + "readable-stream": "~1.1.9" + } + }, + "node_modules/cwise/node_modules/duplexer2/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/cwise/node_modules/escodegen": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", + "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", + "dependencies": { + "esprima": "~1.1.1", + "estraverse": "~1.5.0", + "esutils": "~1.0.0" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.10.0" + }, + "optionalDependencies": { + "source-map": "~0.1.33" + } + }, + "node_modules/cwise/node_modules/esprima": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", + "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/cwise/node_modules/estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/cwise/node_modules/esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cwise/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "node_modules/cwise/node_modules/object-inspect": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz", + "integrity": "sha1-9RV8EWwUVbJDsG7pdwM5LFrYn+w=" + }, + "node_modules/cwise/node_modules/object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" + }, + "node_modules/cwise/node_modules/quote-stream": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-0.0.0.tgz", + "integrity": "sha1-zeKelMQJsW4Z3HCYuJtmWPlyHTs=", + "dependencies": { + "minimist": "0.0.8", + "through2": "~0.4.1" + } + }, + "node_modules/cwise/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/cwise/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "optional": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/cwise/node_modules/static-eval": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-0.2.4.tgz", + "integrity": "sha1-t9NNg4k3uWn5ZBygfUj47eJj6ns=", + "dependencies": { + "escodegen": "~0.0.24" + } + }, + "node_modules/cwise/node_modules/static-eval/node_modules/escodegen": { + "version": "0.0.28", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz", + "integrity": "sha1-Dk/xcV8yh3XWyrUaxEpAbNer/9M=", + "dependencies": { + "esprima": "~1.0.2", + "estraverse": "~1.3.0" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.4.0" + }, + "optionalDependencies": { + "source-map": ">= 0.1.2" + } + }, + "node_modules/cwise/node_modules/static-eval/node_modules/esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/cwise/node_modules/static-eval/node_modules/estraverse": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz", + "integrity": "sha1-N8K4k+8T1yPydth41g2FNRUqbEI=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/cwise/node_modules/static-module": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-1.5.0.tgz", + "integrity": "sha1-J9qYg8QajNCSNvhC8MHrxu32PYY=", + "dependencies": { + "concat-stream": "~1.6.0", + "duplexer2": "~0.0.2", + "escodegen": "~1.3.2", + "falafel": "^2.1.0", + "has": "^1.0.0", + "object-inspect": "~0.4.0", + "quote-stream": "~0.0.0", + "readable-stream": "~1.0.27-1", + "shallow-copy": "~0.0.1", + "static-eval": "~0.2.0", + "through2": "~0.4.1" + } + }, + "node_modules/cwise/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "node_modules/cwise/node_modules/through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "dependencies": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "node_modules/cwise/node_modules/xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=" + }, + "node_modules/d": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.9" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dashdash/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + }, + "node_modules/debug": { + "version": "2.6.6", + "resolved": "http://registry.npmjs.org/debug/-/debug-2.6.6.tgz", + "integrity": "sha1-qfpvvpykPPHnn3O3XAGJy7fW21o=", + "deprecated": "invalid release", + "dependencies": { + "ms": "0.7.3" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-html": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decode-html/-/decode-html-2.0.0.tgz", + "integrity": "sha1-fQqIfORCgOYJeKcH67f4CB/WHqo=" + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, + "dependencies": { + "foreach": "^2.0.5", + "object-keys": "^1.0.8" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "dependencies": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "node_modules/detect-node": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", + "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", + "dev": true + }, + "node_modules/diff": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", + "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-match-patch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.4.tgz", + "integrity": "sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg==" + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "node_modules/dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo=", + "dev": true, + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "dependencies": { + "buffer-indexof": "^1.0.0" + } + }, + "node_modules/docdash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/docdash/-/docdash-1.0.0.tgz", + "integrity": "sha512-HhK72PT4z55og8FDqskO/tTYXxU+LovRz+9pCDHLnUoPchkxjdIJidS+96LqW3CLrRdBmnkDRrcVrDFGLIluTw==", + "dev": true + }, + "node_modules/doctrine": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", + "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dependencies": { + "domelementtype": "~1.1.1", + "entities": "~1.1.1" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" + }, + "node_modules/dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "deprecated": "update to domelementtype@1.3.1" + }, + "node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/dompurify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.1.1.tgz", + "integrity": "sha512-NijiNVkS/OL8mdQL1hUbCD6uty/cgFpmNiuFxrmJ5YPH2cXrPKIewoixoji56rbZ6XBPmtM8GA8/sf9unlSuwg==", + "dev": true + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/dup": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz", + "integrity": "sha1-UfxaxoX4GWRp3wuQXpNLIK9bQCk=" + }, + "node_modules/duplexify": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "optional": true, + "dependencies": { + "jsbn": "~0.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "~0.4.13" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/engine.io-client": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.4.tgz", + "integrity": "sha1-T88TcLRxY70s6b4nM5ckMDUNTqE=", + "dependencies": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~2.6.9", + "engine.io-parser": "~2.1.1", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~3.3.1", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + } + }, + "node_modules/engine.io-client/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/engine.io-client/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/engine.io-parser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.1.tgz", + "integrity": "sha1-4Ps/DgRi9/WLt3waUun1p+JuRmg=", + "dependencies": { + "after": "0.8.2", + "arraybuffer.slice": "0.0.6", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.4", + "has-binary2": "~1.0.2" + } + }, + "node_modules/enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" + }, + "node_modules/errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=", + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz", + "integrity": "sha1-aQgpoHyuNrIi5/2bdcDQVz6yUic=", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, + "dependencies": { + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es5-ext": { + "version": "0.10.16", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.16.tgz", + "integrity": "sha1-HvGwTz0J22pdYwIm1iIC8uQl5Fo=", + "dev": true, + "dependencies": { + "es6-iterator": "2", + "es6-symbol": "~3.1" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.1", + "resolved": "http://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", + "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-symbol": "^3.1" + } + }, + "node_modules/es6-map": { + "version": "0.1.5", + "resolved": "http://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "node_modules/es6-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=" + }, + "node_modules/es6-set": { + "version": "0.1.5", + "resolved": "http://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.1", + "resolved": "http://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.2", + "resolved": "http://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "dependencies": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/eslint": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.3.0.tgz", + "integrity": "sha1-U2laylITloqs35cMyyMeQqKyhfg=", + "dev": true, + "dependencies": { + "ajv": "^6.5.0", + "babel-code-frame": "^6.26.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^4.0.0", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.0.0", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.2", + "imurmurhash": "^0.1.4", + "inquirer": "^5.2.0", + "is-resolvable": "^1.1.0", + "js-yaml": "^3.11.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^2.0.0", + "require-uncached": "^1.0.3", + "semver": "^5.5.0", + "string.prototype.matchall": "^2.0.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^4.0.3", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^6.14.0 || ^8.10.0 || >=9.10.0" + } + }, + "node_modules/eslint-config-scratch": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-scratch/-/eslint-config-scratch-5.0.0.tgz", + "integrity": "sha1-s3OvhEFNO+0nkq3kGOmgxvrnmf0=", + "dev": true, + "optionalDependencies": { + "eslint-plugin-react": "^7.0" + }, + "peerDependencies": { + "babel-eslint": "^8.0.1", + "eslint": "^4.0" + } + }, + "node_modules/eslint-plugin-format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-format-message/-/eslint-plugin-format-message-6.2.0.tgz", + "integrity": "sha512-9Q1F0ndotgcDqbFDl99gSoubjHLfaOYnpp7X8+tEhfFrRIb+AAVYI5aUZdg+sEd7+UGGQbTMv8u+vwaCDda2sQ==", + "dev": true, + "dependencies": { + "format-message": "^6.2.0", + "format-message-estree-util": "^6.1.0", + "format-message-generate-id": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + }, + "peerDependencies": { + "eslint": ">=2.0.0" + } + }, + "node_modules/eslint-plugin-format-message/node_modules/format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.0.tgz", + "integrity": "sha512-QzjDk0owKnAj/+HviUIaR6I3y6zOa8hKdbQbkl7ejkjbaVJ0j4YWllZmZDAyNrG2iEWdqKCmIU1mum8mHGLEFw==", + "dev": true, + "dependencies": { + "format-message-formats": "^6.2.0", + "format-message-interpret": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "node_modules/eslint-plugin-format-message/node_modules/format-message-formats": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", + "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==", + "dev": true + }, + "node_modules/eslint-plugin-format-message/node_modules/format-message-interpret": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.0.tgz", + "integrity": "sha512-G2WxW9c/vk97rPgbP67p/6BdpoZI8g4LdKDIqxAlXQq1ZI3uQTV2a5f9q3Big04hjSsI8uTgzWWmF4ht50foyw==", + "dev": true, + "dependencies": { + "format-message-formats": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "node_modules/eslint-plugin-format-message/node_modules/format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", + "dev": true + }, + "node_modules/eslint-plugin-format-message/node_modules/lookup-closest-locale": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", + "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==", + "dev": true + }, + "node_modules/eslint-plugin-react": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.5.1.tgz", + "integrity": "sha1-UuVujYDIEN4ViFnvB7iA0vVu4ws=", + "dev": true, + "optional": true, + "dependencies": { + "doctrine": "^2.0.0", + "has": "^1.0.1", + "jsx-ast-utils": "^2.0.0", + "prop-types": "^15.6.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", + "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha1-PzGA+y4pEBdxastMnW1bXDSmqB0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/acorn": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha1-8JWCkpdwanyXdpWMCvyJMKm52dg=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/eslint/node_modules/acorn-jsx": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz", + "integrity": "sha1-6OQeSOov4MiWdAYQq2pP/YrdIl4=", + "dev": true, + "dependencies": { + "acorn": "^5.0.3" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "node_modules/eslint/node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint/node_modules/babel-code-frame/node_modules/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, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/chalk/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/chalk/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha1-UL8wcekzi83EMzF5Sgy1M/ATYXI=", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint/node_modules/espree": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-4.0.0.tgz", + "integrity": "sha1-JTmY8goPgttdhmOFeZ2RKoOjZjQ=", + "dev": true, + "dependencies": { + "acorn": "^5.6.0", + "acorn-jsx": "^4.1.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint/node_modules/esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg=", + "dev": true, + "dependencies": { + "estraverse": "^4.0.0" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/eslint/node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "node_modules/eslint/node_modules/globals": { + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", + "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.5.tgz", + "integrity": "sha512-Q2daVnMtQJPacGrcCRyOEiI+syPCt+mR4YotoC0KEYeinV/6HztT5mUuVEj7UYyoNZ1jGYiu2XEem7I8oM44bg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", + "dev": true + }, + "node_modules/eslint/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/eslint/node_modules/lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha1-G3eTz3JZ6jj7NmHU04syYK+K5Oc=", + "dev": true + }, + "node_modules/eslint/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/eslint/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "dependencies": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "dependencies": { + "estraverse": "^4.0.0" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/esrecurse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "dependencies": { + "estraverse": "^4.1.0", + "object-assign": "^4.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "http://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "dev": true + }, + "node_modules/events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/events-to-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", + "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", + "dev": true + }, + "node_modules/eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, + "dependencies": { + "original": ">=0.0.5" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exports-loader": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.3.tgz", + "integrity": "sha1-V9x4kX9wm5byR/qR5ptVTIVQE8g=", + "dev": true, + "dependencies": { + "loader-utils": "0.2.x", + "source-map": "0.1.x" + } + }, + "node_modules/exports-loader/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/exports-loader/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/expose-loader": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-0.7.5.tgz", + "integrity": "sha512-iPowgKUZkTPX5PznYsmifVj9Bob0w2wTHVkt/eYNPSzyebkUgIedmskf/kcfEIWpiWjg3JRjnW+a17XypySMuw==", + "dev": true, + "engines": { + "node": ">= 4.3 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/express": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.3", + "qs": "6.5.1", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/express/node_modules/qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "dependencies": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/falafel": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", + "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", + "dependencies": { + "acorn": "^5.0.0", + "foreach": "^2.0.5", + "isarray": "0.0.1", + "object-keys": "^1.0.6" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/falafel/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "node_modules/fast-deep-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/fbjs": { + "version": "0.8.16", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", + "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "dev": true, + "optional": true, + "dependencies": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.9" + } + }, + "node_modules/fbjs/node_modules/core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "optional": true + }, + "node_modules/fbjs/node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", + "dev": true, + "optional": true, + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/fft.js": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fft.js/-/fft.js-4.0.3.tgz", + "integrity": "sha1-sAhO+pQYj+vdHP/mhpH0yFoPuMs=" + }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "dependencies": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/file-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz", + "integrity": "sha1-OXScgvAguehZAdz/mOgATmQBz94=", + "dev": true, + "dependencies": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0 < 7.0.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/file-loader/node_modules/ajv": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", + "integrity": "sha1-JH1SdBENtlNwa1UPzCt5fKKM/Fk=", + "dev": true, + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true, + "peerDependencies": { + "ajv": "^6.0.0" + } + }, + "node_modules/file-loader/node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "node_modules/file-loader/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/file-loader/node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/filename-reserved-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", + "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filenamify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", + "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", + "dev": true, + "dependencies": { + "filename-reserved-regex": "^1.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filenamify-url": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", + "integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=", + "dev": true, + "dependencies": { + "filenamify": "^1.0.0", + "humanize-url": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", + "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", + "dev": true, + "dependencies": { + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flush-write-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + } + }, + "node_modules/follow-redirects": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.2.tgz", + "integrity": "sha512-kssLorP/9acIdpQ2udQVTiCS5LQmdEz9mvdIfDcl1gYX2tPKFADHSyFdvJS040XdFsPzemWtgI3q8mFVCxtX8A==", + "dev": true, + "dependencies": { + "debug": "^3.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/follow-redirects/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/follow-redirects/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", + "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=", + "dependencies": { + "is-function": "~1.0.0" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "node_modules/foreground-child": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "dev": true, + "dependencies": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + } + }, + "node_modules/foreground-child/node_modules/cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/format-message": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.1.tgz", + "integrity": "sha1-kKJ9KJYNQRT5mRL9Uc2heJvdP/A=", + "dependencies": { + "format-message-formats": "^6.2.0", + "format-message-interpret": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "node_modules/format-message-cli": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-cli/-/format-message-cli-6.2.0.tgz", + "integrity": "sha512-NpbIyGj6oqpGwtKJlV3PeVUqRwpbfdnDEdd9QGkABQ1hTIguGyQAQyKH23hBKWKTaqvI1IY2LHBqGkEtwa/Sgg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.0.0", + "babel-plugin-extract-format-message": "^6.2.0", + "babel-plugin-transform-format-message": "^6.2.0", + "commander": "^2.11.0", + "eslint": "^3.19.0", + "eslint-plugin-format-message": "^6.2.0", + "glob": "^5.0.15", + "js-yaml": "^3.10.0", + "mkdirp": "^0.5.1", + "safe-buffer": "^5.1.1", + "source-map": "^0.5.7" + }, + "bin": { + "format-message": "format-message" + } + }, + "node_modules/format-message-cli/node_modules/ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/format-message-cli/node_modules/cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "dependencies": { + "restore-cursor": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/format-message-cli/node_modules/commander": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", + "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", + "dev": true + }, + "node_modules/format-message-cli/node_modules/eslint": { + "version": "3.19.0", + "resolved": "http://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", + "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.16.0", + "chalk": "^1.1.3", + "concat-stream": "^1.5.2", + "debug": "^2.1.1", + "doctrine": "^2.0.0", + "escope": "^3.6.0", + "espree": "^3.4.0", + "esquery": "^1.0.0", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "glob": "^7.0.3", + "globals": "^9.14.0", + "ignore": "^3.2.0", + "imurmurhash": "^0.1.4", + "inquirer": "^0.12.0", + "is-my-json-valid": "^2.10.0", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.5.1", + "json-stable-stringify": "^1.0.0", + "levn": "^0.3.0", + "lodash": "^4.0.0", + "mkdirp": "^0.5.0", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.1", + "pluralize": "^1.2.1", + "progress": "^1.1.8", + "require-uncached": "^1.0.2", + "shelljs": "^0.7.5", + "strip-bom": "^3.0.0", + "strip-json-comments": "~2.0.1", + "table": "^3.7.8", + "text-table": "~0.2.0", + "user-home": "^2.0.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/format-message-cli/node_modules/eslint/node_modules/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/format-message-cli/node_modules/figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/format-message-cli/node_modules/glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/format-message-cli/node_modules/inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "dev": true, + "dependencies": { + "ansi-escapes": "^1.1.0", + "ansi-regex": "^2.0.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "figures": "^1.3.5", + "lodash": "^4.3.0", + "readline2": "^1.0.1", + "run-async": "^0.1.0", + "rx-lite": "^3.1.2", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" + } + }, + "node_modules/format-message-cli/node_modules/onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/format-message-cli/node_modules/pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "dev": true + }, + "node_modules/format-message-cli/node_modules/progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/format-message-cli/node_modules/restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "dependencies": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/format-message-cli/node_modules/run-async": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", + "dev": true, + "dependencies": { + "once": "^1.3.0" + } + }, + "node_modules/format-message-cli/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/format-message-cli/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/format-message-cli/node_modules/table": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "dev": true, + "dependencies": { + "ajv": "^4.7.0", + "ajv-keywords": "^1.0.0", + "chalk": "^1.1.1", + "lodash": "^4.0.0", + "slice-ansi": "0.0.4", + "string-width": "^2.0.0" + } + }, + "node_modules/format-message-cli/node_modules/table/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/format-message-cli/node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/format-message-cli/node_modules/table/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/format-message-cli/node_modules/table/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/format-message-estree-util": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/format-message-estree-util/-/format-message-estree-util-6.1.0.tgz", + "integrity": "sha512-z8nZdDI3vQdYVARVBVFebKSUEEZhw3/sgD8F+PneLT7TGBKt3QpeSQ8g2yUoQrj9saoR2fYbpXeaQ8qnjg013Q==", + "dev": true + }, + "node_modules/format-message-generate-id": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-generate-id/-/format-message-generate-id-6.2.0.tgz", + "integrity": "sha512-q3nN7b/ONvzaUtLrCt13TDKbl7Rvc/Gk9bR2HfQqUWPKkhP+lciq3MKQDIeGb79dvciKdbWT/FB47YrHogQCCA==", + "dev": true, + "dependencies": { + "crc32": "^0.2.2", + "format-message-parse": "^6.2.0", + "format-message-print": "^6.2.0" + } + }, + "node_modules/format-message-generate-id/node_modules/format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", + "dev": true + }, + "node_modules/format-message-interpret": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.0.tgz", + "integrity": "sha512-G2WxW9c/vk97rPgbP67p/6BdpoZI8g4LdKDIqxAlXQq1ZI3uQTV2a5f9q3Big04hjSsI8uTgzWWmF4ht50foyw==", + "dependencies": { + "format-message-formats": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "node_modules/format-message-interpret/node_modules/format-message-formats": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", + "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==" + }, + "node_modules/format-message-interpret/node_modules/lookup-closest-locale": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", + "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==" + }, + "node_modules/format-message-print": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-print/-/format-message-print-6.2.0.tgz", + "integrity": "sha512-KuT6xtQsvUafrybvqtCzTduf+esHPNqt3bcUz9OPU1jIJ5VESoC9OwT+4YtwmjyaJDyGTILyeCmnQ2centjQJw==", + "dev": true + }, + "node_modules/format-message/node_modules/format-message-formats": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", + "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==" + }, + "node_modules/format-message/node_modules/format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==" + }, + "node_modules/format-message/node_modules/lookup-closest-locale": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", + "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==" + }, + "node_modules/forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/fs-exists-cached": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", + "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", + "dev": true + }, + "node_modules/fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "bundleDependencies": [ + "node-pre-gyp" + ], + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fsevents/node_modules/abbrev": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/ansi-regex": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/aproba": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/are-we-there-yet": { + "version": "1.1.4", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/fsevents/node_modules/balanced-match": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/fsevents/node_modules/chownr": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/code-point-at": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/console-control-strings": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/core-util-is": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/debug": { + "version": "2.6.9", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/fsevents/node_modules/deep-extend": { + "version": "0.5.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/delegates": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/detect-libc": { + "version": "1.0.3", + "inBundle": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/fsevents/node_modules/fs-minipass": { + "version": "1.2.5", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^2.2.1" + } + }, + "node_modules/fsevents/node_modules/fs.realpath": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/gauge": { + "version": "2.7.4", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/fsevents/node_modules/glob": { + "version": "7.1.2", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/has-unicode": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/iconv-lite": { + "version": "0.4.21", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/ignore-walk": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/fsevents/node_modules/inflight": { + "version": "1.0.6", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/fsevents/node_modules/inherits": { + "version": "2.0.3", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/ini": { + "version": "1.3.5", + "inBundle": true, + "license": "ISC", + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/isarray": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/minimatch": { + "version": "3.0.4", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/minimist": { + "version": "0.0.8", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/minipass": { + "version": "2.2.4", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "node_modules/fsevents/node_modules/minizlib": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "minipass": "^2.2.1" + } + }, + "node_modules/fsevents/node_modules/mkdirp": { + "version": "0.5.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/fsevents/node_modules/ms": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/needle": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 0.10.x" + } + }, + "node_modules/fsevents/node_modules/node-pre-gyp": { + "version": "0.10.0", + "inBundle": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/fsevents/node_modules/nopt": { + "version": "4.0.1", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/fsevents/node_modules/npm-bundled": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/npm-packlist": { + "version": "1.1.10", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "node_modules/fsevents/node_modules/npmlog": { + "version": "4.1.2", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/fsevents/node_modules/number-is-nan": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/object-assign": { + "version": "4.1.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/once": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/fsevents/node_modules/os-homedir": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/os-tmpdir": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/osenv": { + "version": "0.1.5", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/fsevents/node_modules/path-is-absolute": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/process-nextick-args": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/rc": { + "version": "1.2.7", + "inBundle": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, + "dependencies": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/fsevents/node_modules/rc/node_modules/minimist": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/fsevents/node_modules/rimraf": { + "version": "2.6.2", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "glob": "^7.0.5" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/fsevents/node_modules/safe-buffer": { + "version": "5.1.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/safer-buffer": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/sax": { + "version": "1.2.4", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/semver": { + "version": "5.5.0", + "inBundle": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/fsevents/node_modules/set-blocking": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/signal-exit": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fsevents/node_modules/string-width": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/strip-ansi": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/strip-json-comments": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/tar": { + "version": "4.4.1", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/fsevents/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/wide-align": { + "version": "1.1.2", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "string-width": "^1.0.2" + } + }, + "node_modules/fsevents/node_modules/wrappy": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/yallist": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" + }, + "node_modules/function-loop": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-1.0.1.tgz", + "integrity": "sha1-gHa7MF6OajzO7ikgdl8zDRkPNAw=", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=" + }, + "node_modules/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=", + "dependencies": { + "is-property": "^1.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/getpass/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/gh-pages": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-1.2.0.tgz", + "integrity": "sha512-cGLYAvxtlQ1iTwAS4g7FreZPXoE/g62Fsxln2mmR19mgs4zZI+XJ+wVVUhBFCF/0+Nmvbq+abyTWue1m1BSnmg==", + "dev": true, + "dependencies": { + "async": "2.6.1", + "commander": "2.15.1", + "filenamify-url": "^1.0.0", + "fs-extra": "^5.0.0", + "globby": "^6.1.0", + "graceful-fs": "4.1.11", + "rimraf": "^2.6.2" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/gh-pages/node_modules/async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "dependencies": { + "lodash": "^4.17.10" + } + }, + "node_modules/gh-pages/node_modules/commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "node_modules/gh-pages/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/node_modules/lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "node_modules/gh-pages/node_modules/rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "dependencies": { + "glob": "^7.0.5" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "dependencies": { + "min-document": "^2.19.0", + "process": "~0.5.1" + } + }, + "node_modules/global-modules-path": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz", + "integrity": "sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==", + "dev": true + }, + "node_modules/global/node_modules/process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/globals": { + "version": "9.17.0", + "resolved": "http://registry.npmjs.org/globals/-/globals-9.17.0.tgz", + "integrity": "sha1-DAymltm5u2lNLlRwvTd3fKrVAoY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globby/node_modules/glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, + "node_modules/handle-thing": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", + "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", + "dev": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "deprecated": "this library is no longer supported", + "dependencies": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + }, + "bin": { + "har-validator": "bin/har-validator" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/has": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "dependencies": { + "function-bind": "^1.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-binary2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz", + "integrity": "sha1-6D26SfC5vk0CbSc2U1DZ8D9Uvpg=", + "dependencies": { + "isarray": "2.0.1" + } + }, + "node_modules/has-binary2/node_modules/isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "node_modules/has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", + "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "deprecated": "This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", + "dependencies": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + }, + "engines": { + "node": ">=0.10.32" + } + }, + "node_modules/he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/hosted-git-info": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true, + "engines": [ + "node >= 0.4.0" + ] + }, + "node_modules/htmlparser2": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", + "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", + "dependencies": { + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.0.6" + } + }, + "node_modules/htmlparser2/node_modules/readable-stream": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz", + "integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/htmlparser2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-parser-js": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", + "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "dev": true, + "dependencies": { + "eventemitter3": "^3.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", + "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", + "dev": true, + "dependencies": { + "http-proxy": "^1.16.2", + "is-glob": "^4.0.0", + "lodash": "^4.17.5", + "micromatch": "^3.1.9" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "node_modules/http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dependencies": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "node_modules/humanize-url": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", + "integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=", + "dev": true, + "dependencies": { + "normalize-url": "^1.0.0", + "strip-url-auth": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "node_modules/ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + }, + "node_modules/immutable": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.1.tgz", + "integrity": "sha1-IAgH8Rqw9ycQ6khVQt4IgHX2jNI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "dependencies": { + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/imports-loader": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.6.5.tgz", + "integrity": "sha1-rnRlMDHVnjezwvslRKxhrq41MKY=", + "dev": true, + "dependencies": { + "loader-utils": "0.2.x", + "source-map": "0.1.x" + } + }, + "node_modules/imports-loader/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/imports-loader/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true, + "bin": { + "in-install": "in-install.js", + "in-publish": "in-publish.js", + "not-in-install": "not-in-install.js", + "not-in-publish": "not-in-publish.js" + } + }, + "node_modules/indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "node_modules/inquirer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha1-2zUMK3Paynf/EkOWLp8i8JloVyY=", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/internal-ip": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", + "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", + "dev": true, + "dependencies": { + "meow": "^3.3.0" + }, + "bin": { + "internal-ip": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "node_modules/intl-messageformat-parser": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz", + "integrity": "sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU=", + "deprecated": "We've written a new parser that's 6x faster and is backwards compatible. Please use @formatjs/icu-messageformat-parser", + "dev": true + }, + "node_modules/invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/iota-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz", + "integrity": "sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=" + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "node_modules/ipaddr.js": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", + "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + }, + "node_modules/is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "dependencies": { + "builtin-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-callable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + }, + "node_modules/is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-my-json-valid": { + "version": "2.16.0", + "resolved": "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", + "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", + "deprecated": "catastrophic backtracking in regexes could potentially lead to REDOS attack, upgrade to 2.17.2 as soon as possible", + "dependencies": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-in-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "dev": true, + "dependencies": { + "is-path-inside": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", + "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "dev": true, + "dependencies": { + "path-is-inside": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "node_modules/is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" + }, + "node_modules/is-regex": { + "version": "1.0.4", + "resolved": "http://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "dependencies": { + "has": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "dev": true, + "optional": true, + "dependencies": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "node_modules/js-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.4.tgz", + "integrity": "sha512-PxfGzSs0ztShKrUYPIn5r0MtyAhYcCwmndozzpz8YObbPnD1jFxzlBGbRnX2mIu6Z13xN6+PTu05TQFnZFlzow==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/js-md5": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz", + "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==" + }, + "node_modules/js-tokens": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz", + "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js2xmlparser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz", + "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", + "dev": true, + "dependencies": { + "xmlcreate": "^1.0.1" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "http://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "node_modules/jsdoc": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz", + "integrity": "sha1-SEUhsSboGQTWMv+D7JqqCWcI+k0=", + "dev": true, + "dependencies": { + "babylon": "7.0.0-beta.19", + "bluebird": "~3.5.0", + "catharsis": "~0.8.9", + "escape-string-regexp": "~1.0.5", + "js2xmlparser": "~3.0.0", + "klaw": "~2.0.0", + "marked": "~0.3.6", + "mkdirp": "~0.5.1", + "requizzle": "~0.2.1", + "strip-json-comments": "~2.0.1", + "taffydb": "2.6.2", + "underscore": "~1.8.3" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/jsdoc/node_modules/babylon": { + "version": "7.0.0-beta.19", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz", + "integrity": "sha1-6SjH6AfpcOBTaweKs+DEj54FJQM=", + "dev": true, + "bin": { + "babylon": "bin/babylon.js" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/jsdoc/node_modules/underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", + "dev": true + }, + "node_modules/jsesc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", + "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json": { + "version": "9.0.6", + "resolved": "http://registry.npmjs.org/json/-/json-9.0.6.tgz", + "integrity": "sha1-eXLCpaSKQmeNsnMMfCxO5uTiRYU=", + "dev": true, + "bin": { + "json": "lib/json.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "node_modules/json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "node_modules/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, + "dependencies": { + "jsonify": "~0.0.0" + } + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "node_modules/json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "deprecated": "Please use the native JSON object instead of JSON 3", + "dev": true + }, + "node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/jsprim/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/jsx-ast-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", + "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", + "dev": true, + "optional": true, + "dependencies": { + "array-includes": "^3.0.3" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jszip": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", + "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", + "dependencies": { + "core-js": "~2.3.0", + "es6-promise": "~3.0.2", + "lie": "~3.1.0", + "pako": "~1.0.2", + "readable-stream": "~2.0.6" + } + }, + "node_modules/jszip/node_modules/core-js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", + "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", + "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js." + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/jszip/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "node_modules/killable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz", + "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klaw": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", + "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lcov-parse": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", + "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", + "dev": true + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + }, + "node_modules/lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true, + "dependencies": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "node_modules/lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "node_modules/lodash._basecreate": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", + "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=", + "dev": true + }, + "node_modules/lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "node_modules/lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "node_modules/lodash.create": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", + "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", + "dev": true, + "dependencies": { + "lodash._baseassign": "^3.0.0", + "lodash._basecreate": "^3.0.0", + "lodash._isiterateecall": "^3.0.0" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + }, + "node_modules/lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "node_modules/lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "node_modules/lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "node_modules/lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "dependencies": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "node_modules/log-driver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha1-Y7lQIfBwL+36LJuwok53l9cYcdg=", + "dev": true, + "engines": { + "node": ">=0.8.6" + } + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/loglevel": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", + "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/loglevelnext": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", + "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", + "dev": true, + "dependencies": { + "es6-symbol": "^3.1.1", + "object.assign": "^4.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "dependencies": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "engines": { + "node": ">=4" + } + }, + "node_modules/mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/marked": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha1-XUf3CcTJ/Dwha21GEnKA9As515A=", + "dev": true, + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "dependencies": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "node_modules/meow/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/microee": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/microee/-/microee-0.0.6.tgz", + "integrity": "sha1-oSvbAQNoHosSapsHHrpMRnx4//4=" + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/midi-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/midi-file/-/midi-file-1.1.2.tgz", + "integrity": "sha512-VQNzirfADDFXTymgPJv2VfLylCq14spRNFhpA6u7dLqPMbw1BqGf5u9B0k7z++8X1RMs57pyn+G4kzhyIatlyw==" + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=", + "dev": true, + "bin": { + "mime": "cli.js" + } + }, + "node_modules/mime-db": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz", + "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", + "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", + "dependencies": { + "mime-db": "~1.29.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/minilog": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minilog/-/minilog-3.1.0.tgz", + "integrity": "sha1-0tDxiHyjY9Gs8OqG1cTfKTs/tnU=", + "dependencies": { + "microee": "0.0.6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "node_modules/minipass": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.4.tgz", + "integrity": "sha512-mlouk1OHlaUE8Odt1drMtG1bAJA4ZA6B/ehysgV0LUIrDHdKgo1KorZq3pK0b/7Z7LJIQ12MNM6aC+Tn6lUZ5w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/minipass/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/minipass/node_modules/yallist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", + "dev": true + }, + "node_modules/mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "deprecated": "Critical bug fixed in v2.0.1, please upgrade to the latest version.", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz", + "integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=", + "dev": true + }, + "node_modules/mocha": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz", + "integrity": "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==", + "dev": true, + "dependencies": { + "browser-stdout": "1.3.0", + "commander": "2.9.0", + "debug": "2.6.8", + "diff": "3.2.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.1", + "growl": "1.9.2", + "he": "1.1.1", + "json3": "3.3.2", + "lodash.create": "3.1.1", + "mkdirp": "0.5.1", + "supports-color": "3.1.2" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 0.10.x", + "npm": ">= 1.4.x" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/mocha/node_modules/diff": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", + "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", + "dev": true + }, + "node_modules/mocha/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true, + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/ms": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.3.tgz", + "integrity": "sha1-cIFVpeROM/X9D8U+gdDUCpG+H/8=" + }, + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", + "dev": true, + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "node_modules/nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/ndarray": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz", + "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==", + "dependencies": { + "iota-array": "^1.0.0", + "is-buffer": "^1.0.2" + } + }, + "node_modules/ndarray-fft": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ndarray-fft/-/ndarray-fft-1.0.3.tgz", + "integrity": "sha1-3Fu6GOOrgsmXrbrrt455+CyToio=", + "dependencies": { + "bit-twiddle": "^1.0.2", + "cwise": "^1.0.4", + "ndarray": "^1.0.15", + "ndarray-ops": "^1.2.2", + "typedarray-pool": "^1.0.0" + } + }, + "node_modules/ndarray-ops": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz", + "integrity": "sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=", + "dependencies": { + "cwise-compiler": "^1.0.0" + } + }, + "node_modules/ndarray-resample": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ndarray-resample/-/ndarray-resample-1.0.1.tgz", + "integrity": "sha1-Qrsz9qS3OMV/9zxgzCINTPx1gh0=", + "dependencies": { + "cwise": "^1.0.7", + "ndarray-fft": "^1.0.0", + "ndarray-ops": "^1.2.2", + "ndarray-scratch": "^1.1.1" + } + }, + "node_modules/ndarray-scratch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ndarray-scratch/-/ndarray-scratch-1.2.0.tgz", + "integrity": "sha1-YwRjbWLrqT20cnrBPGkzQdulDgE=", + "dependencies": { + "ndarray": "^1.0.14", + "ndarray-ops": "^1.2.1", + "typedarray-pool": "^1.0.2" + } + }, + "node_modules/negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", + "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==" + }, + "node_modules/nets": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nets/-/nets-3.2.0.tgz", + "integrity": "sha1-1RH7q3rxHaAT8huX7pF0fTOFLTg=", + "dependencies": { + "request": "^2.65.0", + "xhr": "^2.1.0" + } + }, + "node_modules/nice-try": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", + "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8=", + "dev": true, + "optional": true, + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/node-forge": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", + "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.0", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.10.3", + "vm-browserify": "0.0.4" + } + }, + "node_modules/node-libs-browser/node_modules/process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/node-releases": { + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.14.tgz", + "integrity": "sha512-G8nnF9cP9QPP/jUmYWw/uUUhumHmkm+X/EarCugYFjYm2uXRMFeOD6CVT3RLdoyCvDUNy51nirGfUItKWs/S1g==", + "dev": true, + "dependencies": { + "semver": "^5.3.0" + } + }, + "node_modules/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=", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "dependencies": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.9.0.tgz", + "integrity": "sha512-w8OdJAhXL5izerzZMdqzYKMj/pgHJyY3qEPYBjLLxrhcVoHEY9pU5ENIiZyCgG9OR7x3VcUMoD40o6PtVpfR4g==", + "bundleDependencies": [ + "archy", + "arrify", + "caching-transform", + "convert-source-map", + "debug-log", + "default-require-extensions", + "find-cache-dir", + "find-up", + "foreground-child", + "glob", + "istanbul-lib-coverage", + "istanbul-lib-hook", + "istanbul-lib-instrument", + "istanbul-lib-report", + "istanbul-lib-source-maps", + "istanbul-reports", + "md5-hex", + "merge-source-map", + "micromatch", + "mkdirp", + "resolve-from", + "rimraf", + "signal-exit", + "spawn-wrap", + "test-exclude", + "yargs", + "yargs-parser" + ], + "dev": true, + "dependencies": { + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.5.1", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.2", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.10.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.3", + "istanbul-reports": "^1.4.0", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.2.0", + "yargs": "11.1.0", + "yargs-parser": "^8.0.0" + }, + "bin": { + "nyc": "bin/nyc.js" + } + }, + "node_modules/nyc/node_modules/align-text": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/amdefine": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause OR MIT", + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/nyc/node_modules/ansi-regex": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/ansi-styles": { + "version": "2.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/append-transform": { + "version": "0.4.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "default-require-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/archy": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/arr-diff": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/arr-flatten": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/arr-union": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/array-unique": { + "version": "0.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/arrify": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/assign-symbols": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/async": { + "version": "1.5.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/atob": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/nyc/node_modules/babel-code-frame": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/nyc/node_modules/babel-generator": { + "version": "6.26.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "node_modules/nyc/node_modules/babel-messages": { + "version": "6.23.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/nyc/node_modules/babel-runtime": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/nyc/node_modules/babel-template": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/nyc/node_modules/babel-traverse": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/nyc/node_modules/babel-types": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/nyc/node_modules/babylon": { + "version": "6.18.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/nyc/node_modules/balanced-match": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/base": { + "version": "0.11.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/nyc/node_modules/braces": { + "version": "2.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/builtin-modules": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/cache-base": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/cache-base/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/caching-transform": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/camelcase": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/center-align": { + "version": "0.1.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/chalk": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/class-utils": { + "version": "0.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/class-utils/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/cliui": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "node_modules/nyc/node_modules/cliui/node_modules/wordwrap": { + "version": "0.0.2", + "dev": true, + "inBundle": true, + "license": "MIT/X11", + "optional": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/nyc/node_modules/code-point-at": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/collection-visit": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/commondir": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/component-emitter": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/convert-source-map": { + "version": "1.5.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/copy-descriptor": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/core-js": { + "version": "2.5.6", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/cross-spawn": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "node_modules/nyc/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/nyc/node_modules/debug-log": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/decamelize": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/decode-uri-component": { + "version": "0.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/nyc/node_modules/default-require-extensions": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/detect-indent": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/error-ex": { + "version": "1.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/nyc/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nyc/node_modules/esutils": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/execa": { + "version": "0.7.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/execa/node_modules/cross-spawn": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/nyc/node_modules/expand-brackets": { + "version": "2.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extend-shallow": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/fill-range": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/find-cache-dir": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/find-up": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/for-in": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/foreground-child": { + "version": "1.5.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + } + }, + "node_modules/nyc/node_modules/fragment-cache": { + "version": "0.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/get-caller-file": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/get-stream": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/get-value": { + "version": "2.0.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/glob": { + "version": "7.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nyc/node_modules/globals": { + "version": "9.18.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/graceful-fs": { + "version": "4.1.11", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/nyc/node_modules/handlebars": { + "version": "4.0.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^2.6" + } + }, + "node_modules/nyc/node_modules/handlebars/node_modules/source-map": { + "version": "0.4.4", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nyc/node_modules/has-ansi": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-flag": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-value": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-value/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-values": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/hosted-git-info": { + "version": "2.6.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/nyc/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/nyc/node_modules/inherits": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/invariant": { + "version": "2.2.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/nyc/node_modules/invert-kv": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-arrayish": { + "version": "0.2.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/is-builtin-module": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "builtin-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-descriptor": { + "version": "0.1.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-finite": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-odd": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-odd/node_modules/is-number": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-plain-object": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-plain-object/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-stream": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-utf8": { + "version": "0.2.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/is-windows": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-coverage": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/nyc/node_modules/istanbul-lib-hook": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "append-transform": "^0.4.0" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-instrument": { + "version": "1.10.1", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.0", + "semver": "^5.3.0" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-report": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "3.2.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-source-maps": { + "version": "1.2.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/nyc/node_modules/istanbul-reports": { + "version": "1.4.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "handlebars": "^4.0.3" + } + }, + "node_modules/nyc/node_modules/js-tokens": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/jsesc": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/nyc/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/lazy-cache": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/lcid": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/load-json-file": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/locate-path": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/locate-path/node_modules/path-exists": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/lodash": { + "version": "4.17.10", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/longest": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/loose-envify": { + "version": "1.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/nyc/node_modules/lru-cache": { + "version": "4.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/nyc/node_modules/map-cache": { + "version": "0.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/map-visit": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/md5-hex": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "md5-o-matic": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/md5-o-matic": { + "version": "0.1.1", + "dev": true, + "inBundle": true + }, + "node_modules/nyc/node_modules/mem": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/merge-source-map": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/nyc/node_modules/merge-source-map/node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/micromatch": { + "version": "3.1.10", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/micromatch/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/mimic-fn": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/minimatch": { + "version": "3.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nyc/node_modules/minimist": { + "version": "0.0.8", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/mixin-deep": { + "version": "1.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/mkdirp": { + "version": "0.5.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/nyc/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/nanomatch": { + "version": "1.2.9", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/nanomatch/node_modules/arr-diff": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/nanomatch/node_modules/array-unique": { + "version": "0.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/normalize-package-data": { + "version": "2.4.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/nyc/node_modules/npm-run-path": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/number-is-nan": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-copy": { + "version": "0.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-visit": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-visit/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object.pick": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object.pick/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/once": { + "version": "1.4.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/nyc/node_modules/optimist": { + "version": "0.6.1", + "dev": true, + "inBundle": true, + "license": "MIT/X11", + "dependencies": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "node_modules/nyc/node_modules/os-homedir": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/os-locale": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/p-finally": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/p-limit": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/p-locate": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/p-try": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/parse-json": { + "version": "2.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pascalcase": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/path-exists": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/path-key": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/path-parse": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/path-type": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pify": { + "version": "2.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pinkie": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pinkie-promise": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pkg-dir": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "find-up": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pkg-dir/node_modules/find-up": { + "version": "1.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/posix-character-classes": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pseudomap": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/read-pkg": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/read-pkg-up": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/read-pkg-up/node_modules/find-up": { + "version": "1.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/regenerator-runtime": { + "version": "0.11.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/regex-not": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/repeat-element": { + "version": "1.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/repeat-string": { + "version": "1.6.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/nyc/node_modules/repeating": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/require-directory": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/require-main-filename": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/resolve-from": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/resolve-url": { + "version": "0.2.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/ret": { + "version": "0.1.15", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/nyc/node_modules/right-align": { + "version": "0.1.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "align-text": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/rimraf": { + "version": "2.6.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.0.5" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/nyc/node_modules/safe-regex": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/nyc/node_modules/semver": { + "version": "5.5.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/nyc/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/set-value": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/shebang-command": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/shebang-regex": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/signal-exit": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/slide": { + "version": "1.1.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "*" + } + }, + "node_modules/nyc/node_modules/snapdragon": { + "version": "0.8.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-util": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/source-map": { + "version": "0.5.7", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/source-map-resolve": { + "version": "0.5.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/nyc/node_modules/source-map-url": { + "version": "0.4.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/spawn-wrap": { + "version": "1.4.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" + } + }, + "node_modules/nyc/node_modules/spdx-correct": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/nyc/node_modules/spdx-exceptions": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/nyc/node_modules/spdx-expression-parse": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/nyc/node_modules/spdx-license-ids": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/nyc/node_modules/split-string": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/static-extend": { + "version": "0.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/string-width": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/strip-ansi": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/strip-bom": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/strip-eof": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/supports-color": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nyc/node_modules/test-exclude": { + "version": "4.2.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/arr-diff": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/array-unique": { + "version": "0.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/braces": { + "version": "2.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets": { + "version": "2.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/extglob": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/fill-range": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/micromatch": { + "version": "3.1.10", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-fast-properties": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-object-path": { + "version": "0.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-regex": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-regex-range": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-regex-range/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/trim-right": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/uglify-js": { + "version": "2.8.29", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "optional": true, + "dependencies": { + "source-map": "~0.5.1", + "yargs": "~3.10.0" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + }, + "optionalDependencies": { + "uglify-to-browserify": "~1.0.0" + } + }, + "node_modules/nyc/node_modules/uglify-js/node_modules/yargs": { + "version": "3.10.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + }, + "node_modules/nyc/node_modules/uglify-to-browserify": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/nyc/node_modules/union-value": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/union-value/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/union-value/node_modules/set-value": { + "version": "0.4.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/urix": { + "version": "0.1.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/use": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/use/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/validate-npm-package-license": { + "version": "3.0.3", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/nyc/node_modules/which": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/nyc/node_modules/which-module": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/window-size": { + "version": "0.1.0", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/nyc/node_modules/wordwrap": { + "version": "0.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/nyc/node_modules/wrap-ansi": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/wrap-ansi/node_modules/string-width": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/write-file-atomic": { + "version": "1.3.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" + } + }, + "node_modules/nyc/node_modules/y18n": { + "version": "3.2.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/yallist": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/yargs": { + "version": "11.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/nyc/node_modules/yargs-parser": { + "version": "8.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/nyc/node_modules/yargs-parser/node_modules/camelcase": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/ansi-regex": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/camelcase": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/cliui": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/strip-ansi": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/yargs-parser": { + "version": "9.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-keys": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/opener": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", + "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/opn": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "dependencies": { + "url-parse": "^1.4.3" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "dependencies": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/output-file-sync": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", + "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "is-plain-obj": "^1.1.0", + "mkdirp": "^0.5.1" + } + }, + "node_modules/own-or": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", + "integrity": "sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=", + "dev": true + }, + "node_modules/own-or-env": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.1.tgz", + "integrity": "sha1-VM5gHTv3gjbFxlYzqhyOwD+AB+Q=", + "dev": true, + "dependencies": { + "own-or": "^1.0.0" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "engines": { + "node": ">=4" + } + }, + "node_modules/pako": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" + }, + "node_modules/parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dependencies": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "dependencies": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" + } + }, + "node_modules/parse-headers": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", + "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", + "dependencies": { + "for-each": "^0.3.2", + "trim": "0.0.1" + } + }, + "node_modules/parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "dependencies": { + "better-assert": "~1.0.0" + } + }, + "node_modules/parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "dependencies": { + "better-assert": "~1.0.0" + } + }, + "node_modules/parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pbkdf2": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", + "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha1-KYuJ34uTsCIdv0Ia0rGx6iP8Z3c=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pngjs": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.3.tgz", + "integrity": "sha512-1n3Z4p3IOxArEs1VRXnZ/RXdfEniAUS9jb68g58FIXMNkPJeZd+Qh4Uq7/e0LVxAQGos1eIUrqrt4FpjdnEd+Q==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/portfinder": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.16.tgz", + "integrity": "sha1-pqaL6cNSvGbBpMF6Jh9mHz+sr1I=", + "dev": true, + "dependencies": { + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/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=" + }, + "node_modules/progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "node_modules/prop-types": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "dev": true, + "optional": true, + "dependencies": { + "fbjs": "^0.8.16", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, + "node_modules/protobufjs": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.2.tgz", + "integrity": "sha512-27yj+04uF6ya9l+qfpH187aqEzfCF4+Uit0I9ZBQVqK09hk/SQzKa2MUqUpXaVa7LOFRg1TSSr3lVxGOk6c0SQ==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": "^13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } + }, + "node_modules/protobufjs/node_modules/@types/node": { + "version": "13.13.32", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.32.tgz", + "integrity": "sha512-sPBvDnrwZE1uePhkCEyI/qQlgZM5kePPAhHIFDWNsOrWBFRBOk3LKJYmVCLeLZlL9Ub/FzMJb31OTWCg2F+06g==" + }, + "node_modules/protobufjs/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/proxy-addr": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", + "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "dev": true, + "dependencies": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.8.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "node_modules/psl": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", + "integrity": "sha1-+j7W5o6xUVlFfImze8ZHKDMZV1U=", + "dev": true + }, + "node_modules/randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true, + "dependencies": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body/node_modules/http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, + "dependencies": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": ">= 1.3.1 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body/node_modules/setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + }, + "node_modules/raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", + "dev": true + }, + "node_modules/readable-stream": { + "version": "2.2.9", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", + "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", + "dependencies": { + "buffer-shims": "~1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~1.0.0", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dependencies": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/readline2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "mute-stream": "0.0.5" + } + }, + "node_modules/readline2/node_modules/mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "dev": true + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "dependencies": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", + "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", + "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/regexpp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz", + "integrity": "sha1-sqdTSoXKGwM7z1zp/45W1OB1U2U=", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "node_modules/repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/request": { + "version": "2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "qs": "~6.3.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1", + "uuid": "^3.0.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.3.2", + "resolved": "http://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "node_modules/require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "dependencies": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/requizzle": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz", + "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", + "dev": true, + "dependencies": { + "underscore": "~1.6.0" + } + }, + "node_modules/resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "dependencies": { + "path-parse": "^1.0.5" + } + }, + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated" + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dependencies": { + "align-text": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "2.6.1", + "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "dependencies": { + "glob": "^7.0.5" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "dependencies": { + "is-promise": "^2.1.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", + "dev": true + }, + "node_modules/rxjs": { + "version": "5.5.11", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz", + "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==", + "dev": true, + "dependencies": { + "symbol-observable": "1.0.1" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", + "dependencies": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4.8.0 || >= 6.9.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", + "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", + "dependencies": { + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0", + "uri-js": "^3.0.2" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "peerDependencies": { + "ajv": "^6.0.0" + } + }, + "node_modules/scratch-audio": { + "version": "0.1.0-prerelease.20200528195344", + "resolved": "https://registry.npmjs.org/scratch-audio/-/scratch-audio-0.1.0-prerelease.20200528195344.tgz", + "integrity": "sha512-BY1IiMMBj0WDs7jdYnOzBHE88AX3ltjs2XfINJ1VrIE4xn2vZvPgJAyw6ZCc2FDPRwTWLpCdhnlA1TBdaKKdiQ==", + "dev": true, + "dependencies": { + "audio-context": "1.0.1", + "minilog": "^3.0.1", + "startaudiocontext": "1.2.1" + } + }, + "node_modules/scratch-blocks": { + "version": "0.1.0-prerelease.20201119044258", + "resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.20201119044258.tgz", + "integrity": "sha512-XL5ALMZLlD9clGybJErI/NzQU30XOMQxcPPHk0FbR1E0MMLIEGo9Mh4Sik6kpT1jHVlg1XCye84b5qyppDkI3w==", + "dev": true, + "dependencies": { + "exports-loader": "0.6.3", + "imports-loader": "0.6.5" + } + }, + "node_modules/scratch-l10n": { + "version": "3.1.20181129221712", + "resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.1.20181129221712.tgz", + "integrity": "sha512-aMzq5/Ie/9XPYEibut2jnV6dJO/6/fNI8h1bwKvhHdgbRaZKRlWXbBICt/zAgkvt2LSRY1gz4RiXsPLbXQczpQ==", + "dev": true, + "dependencies": { + "@babel/cli": "^7.1.2", + "@babel/core": "^7.1.2", + "babel-plugin-react-intl": "^2.3.1", + "transifex": "1.5.0" + }, + "bin": { + "build-i18n-src": "scripts/build-i18n-src.js", + "tx-push-src": "scripts/tx-push-src.js" + } + }, + "node_modules/scratch-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/scratch-parser/-/scratch-parser-5.0.0.tgz", + "integrity": "sha512-7kjxoxivLgYYvmAJVLOOWnca4CigwuCpgjy9+6UuxOMgSZKO1xqIjxIADupabmh1ZLZZDVe45DBM/CQTdtVDkw==", + "dependencies": { + "ajv": "6.3.0", + "jszip": "3.1.5", + "pify": "4.0.1" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/scratch-parser/node_modules/ajv": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.3.0.tgz", + "integrity": "sha1-FlCkERTvAFdMrBC4Ay2PTBSBLac=", + "dependencies": { + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/scratch-parser/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/scratch-render-fonts": { + "version": "1.0.0-prerelease.20200507182347", + "resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.0-prerelease.20200507182347.tgz", + "integrity": "sha512-tVt2s7lxsBhme9WKIZTnluMerdJVGEc80QSrDdIIzUvHXGCIYkLh6j7ytwXcyq2UsA34d93op9+I9Bh1SPkQkA==", + "dev": true, + "dependencies": { + "base64-loader": "1.0.0" + } + }, + "node_modules/scratch-sb1-converter": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/scratch-sb1-converter/-/scratch-sb1-converter-0.2.7.tgz", + "integrity": "sha512-MF1NzmRLbgCiq7wiSTuk2C9rQC8uM5Wj7SaYsn1SEMWNK9rtK0uc3LSm8FnEt14QS/1Icx2YgMsUPKR0HaPDdQ==", + "dependencies": { + "js-md5": "0.7.3", + "minilog": "3.1.0", + "text-encoding": "^0.7.0" + } + }, + "node_modules/scratch-storage": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/scratch-storage/-/scratch-storage-1.1.0.tgz", + "integrity": "sha512-4gtQW5ST5RDIWjfflK6k7Jxq7rQWgvhfM+oqL2Ld+eyQIbhZ4BwX0R3aRtwhupntv3tCa+2lBhRm+CGnaCijvA==", + "dev": true, + "dependencies": { + "arraybuffer-loader": "^1.0.3", + "base64-js": "1.3.0", + "js-md5": "0.7.3", + "minilog": "3.1.0", + "nets": "3.2.0", + "text-encoding": "0.7.0" + } + }, + "node_modules/scratch-storage/node_modules/js-md5": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz", + "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==", + "dev": true + }, + "node_modules/scratch-svg-renderer": { + "version": "0.2.0-prerelease.20201019174008", + "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-0.2.0-prerelease.20201019174008.tgz", + "integrity": "sha512-RF3Zx09Nl+uLTrPD7K4tR6Sqq/JqRTsLVRugohEJ8pGHXshvBh/A4zWx7XmMZHOdEDHunPxpCDHkW2LoMCFioQ==", + "dev": true, + "dependencies": { + "base64-js": "1.2.1", + "base64-loader": "1.0.0", + "dompurify": "2.1.1", + "minilog": "3.1.0", + "scratch-render-fonts": "1.0.0-prerelease.20200507182347", + "transformation-matrix": "1.15.0" + } + }, + "node_modules/scratch-svg-renderer/node_modules/base64-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", + "dev": true + }, + "node_modules/scratch-translate-extension-languages": { + "version": "0.0.20191118205314", + "resolved": "https://registry.npmjs.org/scratch-translate-extension-languages/-/scratch-translate-extension-languages-0.0.20191118205314.tgz", + "integrity": "sha512-r0lvpgQjPMjbhI2wROrgoXzBhCvWJdkbAqJMfl2CdNqrwBpUXqLvNNtI3VtNLPJAcp9VfxEylkU9lVZ0gvU46Q==" + }, + "node_modules/script-loader": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/script-loader/-/script-loader-0.7.2.tgz", + "integrity": "sha1-IBbbb4byX1z1baOJFdgzeLsWa6c=", + "dev": true, + "dependencies": { + "raw-loader": "~0.5.1" + } + }, + "node_modules/seedrandom": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.3.tgz", + "integrity": "sha1-JDhQTa0zkXMUv/GKxNeU8W1qrsw=" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "node_modules/selfsigned": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.3.tgz", + "integrity": "sha512-vmZenZ+8Al3NLHkWnhBQ0x6BkML1eCP2xEi3JE+f3D9wW9fipD9NNJHYtE9XJM4TsPaHGZJIamrSI6MTg1dU2Q==", + "dev": true, + "dependencies": { + "node-forge": "0.7.5" + } + }, + "node_modules/semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", + "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==" + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "dev": true, + "dependencies": { + "mime-db": "~1.35.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "deprecated": "Critical bug fixed in v3.0.1, please upgrade to the latest version.", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-copy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "iojs": "*", + "node": ">=0.11.0" + } + }, + "node_modules/should": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/should/-/should-11.2.1.tgz", + "integrity": "sha1-kPVRRVUtAc/CAGZuToGKHJZw7aI=", + "dev": true, + "dependencies": { + "should-equal": "^1.0.0", + "should-format": "^3.0.2", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "node_modules/should-equal": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/should-equal/-/should-equal-1.0.1.tgz", + "integrity": "sha1-C26VFvJgGp+wuy3MNpr6HH4gCvc=", + "dev": true, + "dependencies": { + "should-type": "^1.0.0" + } + }, + "node_modules/should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", + "dev": true, + "dependencies": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "node_modules/should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", + "dev": true + }, + "node_modules/should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "dev": true, + "dependencies": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "node_modules/should-util": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz", + "integrity": "sha1-yYzaN0qmsZDfi6h8mInCtNtiAGM=", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "deprecated": "This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/socket.io-client": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", + "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", + "dependencies": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~2.6.4", + "engine.io-client": "~3.1.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.1.1", + "to-array": "0.1.4" + } + }, + "node_modules/socket.io-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.2.tgz", + "integrity": "sha1-28IoIVH8T6675Aru3Ady66YZ9/I=", + "dependencies": { + "component-emitter": "1.2.1", + "debug": "~2.6.4", + "has-binary2": "~1.0.2", + "isarray": "2.0.1" + } + }, + "node_modules/socket.io-parser/node_modules/isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "node_modules/sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha1-2Xa76ACve9IK4IWY1YI5NQiZPA0=", + "dev": true, + "dependencies": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "node_modules/sockjs-client": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", + "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", + "dev": true, + "dependencies": { + "debug": "^2.6.6", + "eventsource": "0.1.6", + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" + } + }, + "node_modules/sockjs-client/node_modules/faye-websocket": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=" + }, + "node_modules/source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dependencies": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated" + }, + "node_modules/spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "dev": true + }, + "node_modules/spdy": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", + "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", + "dev": true, + "engines": [ + "node >= 0.7.0" + ], + "dependencies": { + "debug": "^2.6.8", + "handle-thing": "^1.2.5", + "http-deceiver": "^1.2.7", + "safe-buffer": "^5.0.1", + "select-hose": "^2.0.0", + "spdy-transport": "^2.0.18" + } + }, + "node_modules/spdy-transport": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz", + "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", + "dev": true, + "dependencies": { + "debug": "^2.6.8", + "detect-node": "^2.0.3", + "hpack.js": "^2.1.6", + "obuf": "^1.1.1", + "readable-stream": "^2.2.9", + "safe-buffer": "^5.0.1", + "wbuf": "^1.7.2" + } + }, + "node_modules/spdy-transport/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/spdy-transport/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/spdy/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/spdy/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "dashdash": "^1.12.0", + "getpass": "^0.1.1" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + }, + "optionalDependencies": { + "bcrypt-pbkdf": "^1.0.0", + "ecc-jsbn": "~0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + } + }, + "node_modules/sshpk/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dependencies": { + "safe-buffer": "^5.1.1" + } + }, + "node_modules/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/staffrender": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/staffrender/-/staffrender-0.2.1.tgz", + "integrity": "sha512-qg7aaR7YX8TwFYf4p1pjvm3tT8SYLZDe/J2eF2+z2WmYC/PyldnJlsaPKi1qRm0xqQ8nCLziooGXvYRcl5LNew==" + }, + "node_modules/startaudiocontext": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/startaudiocontext/-/startaudiocontext-1.2.1.tgz", + "integrity": "sha1-RtLKtUYseRGArMciPju7wycshZU=", + "dev": true + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stats.js": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz", + "integrity": "sha1-scPcRtlEmLV4t/05hbgaznExzH0=", + "dev": true + }, + "node_modules/statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-http/node_modules/process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-http/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.0.0.tgz", + "integrity": "sha1-8G9BFXtmTYYGn4S9vcmw2KsoFmc=", + "dependencies": { + "buffer-shims": "~1.0.0" + } + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-2.0.0.tgz", + "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "regexp.prototype.flags": "^1.2.0" + } + }, + "node_modules/string.prototype.matchall/node_modules/es-abstract": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "dependencies": { + "get-stdin": "^4.0.1" + }, + "bin": { + "strip-indent": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-url-auth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", + "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/table": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", + "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", + "dev": true, + "dependencies": { + "ajv": "^6.0.1", + "ajv-keywords": "^3.0.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "node_modules/table/node_modules/ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true, + "peerDependencies": { + "ajv": "^6.0.0" + } + }, + "node_modules/table/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/table/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", + "dev": true + }, + "node_modules/tap": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/tap/-/tap-12.0.1.tgz", + "integrity": "sha512-iEJytWaZy8risvfRjuV4+ST+Lrrui/MW2ZCWn01ZaMn0NKFej4+PpBy6bXGOg9+cEGNmI7d3Sdka/zTUZUGidA==", + "dev": true, + "dependencies": { + "bind-obj-methods": "^2.0.0", + "bluebird": "^3.5.1", + "clean-yaml-object": "^0.1.0", + "color-support": "^1.1.0", + "coveralls": "^3.0.1", + "foreground-child": "^1.3.3", + "fs-exists-cached": "^1.0.0", + "function-loop": "^1.0.1", + "glob": "^7.0.0", + "isexe": "^2.0.0", + "js-yaml": "^3.11.0", + "minipass": "^2.3.0", + "mkdirp": "^0.5.1", + "nyc": "^11.8.0", + "opener": "^1.4.1", + "os-homedir": "^1.0.2", + "own-or": "^1.0.0", + "own-or-env": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.0", + "source-map-support": "^0.5.6", + "stack-utils": "^1.0.0", + "tap-mocha-reporter": "^3.0.7", + "tap-parser": "^7.0.0", + "tmatch": "^4.0.0", + "trivial-deferred": "^1.0.1", + "tsame": "^2.0.0", + "write-file-atomic": "^2.3.0", + "yapool": "^1.0.0" + }, + "bin": { + "tap": "bin/run.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tap-mocha-reporter": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-3.0.7.tgz", + "integrity": "sha512-GHVXJ38C3oPRpM3YUc43JlGdpVZYiKeT1fmAd3HH2+J+ZWwsNAUFvRRdoGsXLw9+gU9o+zXpBqhS/oXyRQYwlA==", + "dev": true, + "dependencies": { + "color-support": "^1.1.0", + "debug": "^2.1.3", + "diff": "^1.3.2", + "escape-string-regexp": "^1.0.3", + "glob": "^7.0.5", + "js-yaml": "^3.3.1", + "tap-parser": "^5.1.0", + "unicode-length": "^1.0.0" + }, + "bin": { + "tap-mocha-reporter": "index.js" + }, + "optionalDependencies": { + "readable-stream": "^2.1.5" + } + }, + "node_modules/tap-mocha-reporter/node_modules/tap-parser": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-5.4.0.tgz", + "integrity": "sha1-aQfolyXXt/pq5B7ixGTD20MYiuw=", + "dev": true, + "dependencies": { + "events-to-array": "^1.0.1", + "js-yaml": "^3.2.7" + }, + "bin": { + "tap-parser": "bin/cmd.js" + }, + "optionalDependencies": { + "readable-stream": "^2" + } + }, + "node_modules/tap-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-7.0.0.tgz", + "integrity": "sha1-VNs1MC/aLCzMIZVK074issukJyE=", + "dev": true, + "dependencies": { + "events-to-array": "^1.0.1", + "js-yaml": "^3.2.7", + "minipass": "^2.2.0" + }, + "bin": { + "tap-parser": "bin/cmd.js" + } + }, + "node_modules/tap/node_modules/rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "dependencies": { + "glob": "^7.0.5" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/tap/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tap/node_modules/source-map-support": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", + "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/tapable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", + "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/text-encoding": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz", + "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==", + "deprecated": "no longer maintained" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dependencies": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "node_modules/thunky": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", + "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", + "dev": true + }, + "node_modules/timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tiny-worker": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.1.2.tgz", + "integrity": "sha512-t8xrlrw0ScBnJ1K5ziHcD6u2SgWpE9Tozv4EIqpXMnCfEVc3pWzMx+ZFwqpXk20C4WTRoLZVBi9v1tLkaciCTg==", + "dev": true + }, + "node_modules/tmatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-4.0.0.tgz", + "integrity": "sha512-Ynn2Gsp+oCvYScQXeV+cCs7citRDilq0qDXA6tuvFwDgiYyyaq7D5vKUlAPezzZR5NDobc/QMeN6e5guOYmvxg==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tonal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal/-/tonal-2.2.2.tgz", + "integrity": "sha512-Ze2bQc6KhAf3FKM9HzEsQ4z8hZh4WYCOsCrryONqf/THGOrOpL9Cc8Uc0dq0OA2yK2JbD5FhZckEXNYyD9946A==", + "dependencies": { + "tonal-array": "^2.2.2", + "tonal-chord": "^2.2.2", + "tonal-dictionary": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-interval": "^2.2.2", + "tonal-key": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2", + "tonal-scale": "^2.2.2" + } + }, + "node_modules/tonal-array": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-array/-/tonal-array-2.2.2.tgz", + "integrity": "sha512-h6YIq20L0EEU4EsDoKHAjl5kD2EQn467VfV79QHAuybvNCJpqqRNsQ3QNvoQyir1BgDXaDUIN9FEmQJNiaaCKA==", + "dependencies": { + "tonal-note": "^2.2.2" + } + }, + "node_modules/tonal-chord": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-chord/-/tonal-chord-2.2.2.tgz", + "integrity": "sha512-gOIXapi6Gx3ISRKdEJKEQjhDBiwjhaalyWSrN5rijGrSyyFFNZ+EVOfzcqLtnVAF9BgeO9Ca0eXCor3XpHdEJg==", + "dependencies": { + "tonal-dictionary": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2" + } + }, + "node_modules/tonal-dictionary": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-dictionary/-/tonal-dictionary-2.2.2.tgz", + "integrity": "sha512-283ppJl/0lohhlVPMI6t5C6XwaP5Wx0egu9qfG9TLCT2tn4pRwYpXkzGufd9icvkJTgOylOum3+RxWmywUIPIg==", + "dependencies": { + "tonal-array": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2" + } + }, + "node_modules/tonal-distance": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-distance/-/tonal-distance-2.2.2.tgz", + "integrity": "sha512-ktA6OapCxaetXJb/JuXD5QwfyB7/G3y3ONby7Kkbezyffc57cnNfjdhlTR9XBR7eSFIY/J1KuhLwMx/qrffT4g==", + "dependencies": { + "tonal-interval": "^2.2.2", + "tonal-note": "^2.2.2" + } + }, + "node_modules/tonal-interval": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-interval/-/tonal-interval-2.2.2.tgz", + "integrity": "sha512-lrtDU8lH5IAX7YE63OhGGDRpVb4OoGxaN0wDu5XC3sUhXBwjSgNYpHY2D9JI2aWQ/Er9jhQbnw9b0ffkLy34+Q==" + }, + "node_modules/tonal-key": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-key/-/tonal-key-2.2.2.tgz", + "integrity": "sha512-KIc0b8yPl2ATDxF/65P52tIIempNsAQrug0idpD0zFvs5F5cb1hp7Rh7JJ4gECwC/6a3Hgdd1jomI+TnJ7K98w==", + "dependencies": { + "tonal-array": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-roman-numeral": "^2.2.2" + } + }, + "node_modules/tonal-note": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-note/-/tonal-note-2.2.2.tgz", + "integrity": "sha512-RNK3Nb8PxBEW9yYGStcoczgE8bCYFZ5zfLvYJjvuzLWiwTQmqWOhTzONVobVCGFZ/jgDNwpBEKe/bngL3g3Xfw==" + }, + "node_modules/tonal-pcset": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-pcset/-/tonal-pcset-2.2.2.tgz", + "integrity": "sha512-PSqhkxzckO6J27W0GxawHYln4wvfDJ7puDmccksyFOBo97UhLnpxiyvBekhiYpkuaMtoZLQC/KALAkEj7lcb+A==", + "dependencies": { + "tonal-array": "^2.2.2", + "tonal-interval": "^2.2.2", + "tonal-note": "^2.2.2" + } + }, + "node_modules/tonal-roman-numeral": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-roman-numeral/-/tonal-roman-numeral-2.2.2.tgz", + "integrity": "sha512-+auQNObpW3OvsSqlo+Cc+0otrlEhtbEgpzkPoKbTtkCva0P9oSkSz0OZ9fI73KQM5MsBs1XbB+olxppWkzYTFw==" + }, + "node_modules/tonal-scale": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-scale/-/tonal-scale-2.2.2.tgz", + "integrity": "sha512-tDb3YCoTF50XOXq9kNhGB1JkInk7qAGN6GQnP/3xkGxkreFFRZyI58jfHlmWf/AH4+IKb/exsOmL6G8Ok/PCRw==", + "dependencies": { + "tonal-array": "^2.2.2", + "tonal-dictionary": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2" + } + }, + "node_modules/tone": { + "version": "13.8.34", + "resolved": "https://registry.npmjs.org/tone/-/tone-13.8.34.tgz", + "integrity": "sha512-sFIYee0CO5lDcnC/RwIPiPMOIZCMEk35AaxF0Q64q7SE1BL+i+efYR6vrD+peDGrswXJ+D3bTmci2wCy+omx+Q==" + }, + "node_modules/tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "dependencies": { + "punycode": "^1.4.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/transformation-matrix": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/transformation-matrix/-/transformation-matrix-1.15.0.tgz", + "integrity": "sha512-808EqPQbmUD6/IMpWUXLOZcblCHf9xaiB+un0RYNNE9+6VRjoiw6Be8R32tZ0ips1PX/15tlnA2Ev4UUgg827Q==", + "dev": true + }, + "node_modules/transifex": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/transifex/-/transifex-1.5.0.tgz", + "integrity": "sha1-/xxFMPR3/Y3iNPyWit0yKVPUXPQ=", + "dev": true, + "dependencies": { + "commander": "^2.9.0", + "lodash": "^4.17.1", + "mkpath": "^1.0.0", + "mocha": "^3.2.0", + "request": "^2.34.0", + "should": "^11.1.2" + }, + "bin": { + "transifex": "bin/index.js" + } + }, + "node_modules/trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" + }, + "node_modules/trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trivial-deferred": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", + "integrity": "sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=", + "dev": true + }, + "node_modules/tsame": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tsame/-/tsame-2.0.0.tgz", + "integrity": "sha512-dAuzcnOPdqZYojylFQzEes95UDjve3HqKrlTCeLZKSDPMTsn3smzHZqsJj/sWD8wOUkg0RD++B11evyLn2+bIw==", + "dev": true + }, + "node_modules/tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "node_modules/tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.18" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha1-ceRkU3p++BwV8tudl+kT/A/2BvA=", + "dev": true, + "dependencies": { + "mime-db": "~1.35.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "node_modules/typedarray-pool": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.2.0.tgz", + "integrity": "sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==", + "dependencies": { + "bit-twiddle": "^1.0.0", + "dup": "^1.0.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.17", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", + "integrity": "sha1-6exflJi57JEOeuOsYmqAXE0J7Kw=", + "dev": true, + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", + "dependencies": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-es/node_modules/commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + }, + "node_modules/uglify-es/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dependencies": { + "source-map": "~0.5.1", + "yargs": "~3.10.0" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + }, + "optionalDependencies": { + "uglify-to-browserify": "~1.0.0" + } + }, + "node_modules/uglify-js/node_modules/camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglify-js/node_modules/cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dependencies": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "node_modules/uglify-js/node_modules/wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/uglify-js/node_modules/yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dependencies": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + }, + "node_modules/uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "node_modules/uglifyjs-webpack-plugin": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz", + "integrity": "sha1-V2ON2ZyFOh6/6dl7QhYKilB/nQA=", + "dependencies": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "engines": { + "node": ">= 4.8 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha1-n+FTahCmZKZSZqHjzPhf02MCvJw=" + }, + "node_modules/underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + }, + "node_modules/underscore-contrib": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz", + "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=", + "dev": true, + "dependencies": { + "underscore": "1.6.0" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-1.0.3.tgz", + "integrity": "sha1-Wtp6f+1RhBpBijKM8UlHisg1irs=", + "dev": true, + "dependencies": { + "punycode": "^1.3.2", + "strip-ansi": "^3.0.1" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz", + "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz", + "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "deprecated": "Critical bug fixed in v3.0.1, please upgrade to the latest version.", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "node_modules/unique-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/uri-js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", + "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", + "engines": { + "node": ">=6" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated" + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-join": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", + "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", + "dev": true + }, + "node_modules/url-parse": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz", + "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==", + "dev": true, + "dependencies": { + "querystringify": "^2.0.0", + "requires-port": "^1.0.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "dev": true, + "dependencies": { + "os-homedir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", + "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dependencies": { + "indexof": "0.0.1" + } + }, + "node_modules/watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dependencies": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/webpack": { + "version": "4.16.5", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.16.5.tgz", + "integrity": "sha1-Kfs5Rigj1+uK78q4tF9/JB2w0JI=", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-module-context": "1.5.13", + "@webassemblyjs/wasm-edit": "1.5.13", + "@webassemblyjs/wasm-opt": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "acorn": "^5.6.2", + "acorn-dynamic-import": "^3.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^0.4.4", + "tapable": "^1.0.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "watchpack": "^1.5.0", + "webpack-sources": "^1.0.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/webpack-cli": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.0.tgz", + "integrity": "sha512-p5NeKDtYwjZozUWq6kGNs9w+Gtw/CPvyuXjXn2HMdz8Tie+krjEg8oAtonvIyITZdvpF7XG9xDHwscLr2c+ugQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.0.0", + "global-modules-path": "^2.1.0", + "import-local": "^1.0.0", + "inquirer": "^6.0.0", + "interpret": "^1.1.0", + "loader-utils": "^1.1.0", + "supports-color": "^5.4.0", + "v8-compile-cache": "^2.0.0", + "yargs": "^12.0.1" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "peerDependencies": { + "webpack": "^4.x.x" + } + }, + "node_modules/webpack-cli/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/chardet": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.5.0.tgz", + "integrity": "sha512-9ZTaoBaePSCFvNlNGrsyI8ZVACP2svUtq0DkM7t4K2ClAa96sqOIRjAzDTc8zXzFt1cZR46rRzLTiHFSJ+Qw0g==", + "dev": true + }, + "node_modules/webpack-cli/node_modules/external-editor": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.1.tgz", + "integrity": "sha512-e1neqvSt5pSwQcFnYc6yfGuJD2Q4336cdbHs5VeUO0zTkqPbrHMyw2q1r47fpfLWbvIG8H8A6YO3sck7upTV6Q==", + "dev": true, + "dependencies": { + "chardet": "^0.5.0", + "iconv-lite": "^0.4.22", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-cli/node_modules/inquirer": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", + "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.0", + "figures": "^2.0.0", + "lodash": "^4.17.10", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.1.0", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/webpack-cli/node_modules/lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "node_modules/webpack-cli/node_modules/rxjs": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.0.tgz", + "integrity": "sha512-ZnwuEquf72mnVORgX75eZCAKNNwulmKQuFxDPwDA5EvbkBXeRNJtmvhyVLcPcKkdiUtqqv+LbBM8jYo0eBW++w==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/webpack-cli/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz", + "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", + "dev": true, + "dependencies": { + "loud-rejection": "^1.6.0", + "memory-fs": "~0.4.1", + "mime": "^2.1.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "url-join": "^4.0.0", + "webpack-log": "^1.0.1" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.5.tgz", + "integrity": "sha1-h0dyUuGsZ4kwP7jNPlhfpdUIpAE=", + "dev": true, + "dependencies": { + "ansi-html": "0.0.7", + "array-includes": "^3.0.3", + "bonjour": "^3.5.0", + "chokidar": "^2.0.0", + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.16.2", + "html-entities": "^1.2.0", + "http-proxy-middleware": "~0.18.0", + "import-local": "^1.0.0", + "internal-ip": "1.2.0", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "selfsigned": "^1.9.1", + "serve-index": "^1.7.2", + "sockjs": "0.3.19", + "sockjs-client": "1.1.5", + "spdy": "^3.4.1", + "strip-ansi": "^3.0.0", + "supports-color": "^5.1.0", + "webpack-dev-middleware": "3.1.3", + "webpack-log": "^1.1.2", + "yargs": "11.0.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "peerDependencies": { + "webpack": "^4.0.0-beta.1" + } + }, + "node_modules/webpack-dev-server/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "dependencies": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/yargs": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", + "integrity": "sha1-wFKTEAbF7udGEOX8A1S+39CKIBs=", + "dev": true, + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/webpack-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", + "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", + "dev": true, + "dependencies": { + "chalk": "^2.1.0", + "log-symbols": "^2.1.0", + "loglevelnext": "^1.0.1", + "uuid": "^3.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-log/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-log/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-log/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "peerDependencies": { + "ajv": "^6.0.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha1-UL8wcekzi83EMzF5Sgy1M/ATYXI=", + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack/node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/webpack/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack/node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=", + "dev": true, + "optional": true + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "node_modules/worker-farm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/worker-loader": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-1.1.1.tgz", + "integrity": "sha512-qJZLVS/jMCBITDzPo/RuweYSIG8VJP5P67mP/71alGyTZRe1LYJFdwLjLalY3T5ifx0bMDRD3OB6P2p1escvlg==", + "dependencies": { + "loader-utils": "^1.0.0", + "schema-utils": "^0.4.0" + }, + "engines": { + "node": ">= 4.8 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.2.tgz", + "integrity": "sha1-lsHQiz/v2h1cHjNwDTv6qb4tVgg=", + "dependencies": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + }, + "node_modules/xhr": { + "version": "2.4.0", + "resolved": "http://registry.npmjs.org/xhr/-/xhr-2.4.0.tgz", + "integrity": "sha1-4W5mpF+GmGHu76tBbV7/ci3ECZM=", + "dependencies": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/xmlcreate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz", + "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=", + "dev": true + }, + "node_modules/xmlhttprequest-ssl": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.4.tgz", + "integrity": "sha1-BPVgkVcks4kIhxXMDteBPpZ3v1c=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/xregexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", + "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "node_modules/yapool": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", + "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", + "dev": true + }, + "node_modules/yargs": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz", + "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==", + "dev": true, + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^2.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^10.1.0" + } + }, + "node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/yargs/node_modules/decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "dev": true, + "dependencies": { + "xregexp": "4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + } + }, + "dependencies": { + "@babel/cli": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.1.5.tgz", + "integrity": "sha512-zbO/DtTnaDappBflIU3zYEgATLToRDmW5uN/EGH1GXaes7ydfjqmAoK++xmJIA+8HfDw7UyPZNdM8fhGhfmMhw==", + "dev": true, + "requires": { + "chokidar": "^2.0.3", + "commander": "^2.8.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.10", + "mkdirp": "^0.5.1", + "output-file-sync": "^2.0.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + } + } + }, + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.2.tgz", + "integrity": "sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.1.2", + "@babel/helpers": "^7.1.2", + "@babel/parser": "^7.1.2", + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.1.2", + "convert-source-map": "^1.1.0", + "debug": "^3.1.0", + "json5": "^0.5.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz", + "integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==", + "dev": true, + "requires": { + "@babel/types": "^7.1.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", + "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-define-map": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", + "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", + "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + }, + "dependencies": { + "@babel/types": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0.tgz", + "integrity": "sha512-5tPDap4bGKTLPtci2SUl/B7Gv8RnuJFuQoWx26RJobS0fFrz4reUA3JnwIM+HVHEmWE0C1mzKhDtTp8NsWY02Q==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/helper-module-transforms": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.1.0.tgz", + "integrity": "sha512-0JZRd2yhawo79Rcm4w0LwSMILFmFXjugG3yqf+P/UsKsRS1mJCmMwwlHDlMg7Avr9LrvSpp4ZSULO9r8jpCzcw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", + "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz", + "integrity": "sha512-BvcDWYZRWVuDeXTYZWxekQNO5D4kO55aArwZOTFXw6rlLQA8ZaDicJR1sO47h+HrnCiDFiww0fSPV0d713KBGQ==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "dev": true, + "requires": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-wrap-function": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz", + "integrity": "sha512-R6HU3dete+rwsdAfrOzTlE9Mcpk4RjU3aX3gi9grtmugQY0u79X7eogUvfXA5sI81Mfq1cn6AgxihfN33STjJA==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helpers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.2.tgz", + "integrity": "sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA==", + "dev": true, + "requires": { + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.1.2" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0.tgz", + "integrity": "sha512-RgJhNdRinpO8zibnoHbzTTexNs4c8ROkXFBanNDZTLHjwbdLk8J5cJSKulx/bycWTLYmKVNCkxRtVCoJnqPk+g==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.1.0.tgz", + "integrity": "sha512-Fq803F3Jcxo20MXUSDdmZZXrPe6BWyGcWBPPNB/M7WaUYESKDeKMOGIxEzQOjGSmW/NWb6UaPZrtTB2ekhB/ew==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.0.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz", + "integrity": "sha512-kfVdUkIAGJIVmHmtS/40i/fg/AGnw/rsZBCaapY5yjeO5RA9m165Xbw9KMOu2nqXP5dTFjEjHdfNdoVcHv133Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.0.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz", + "integrity": "sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz", + "integrity": "sha512-JPqAvLG1s13B/AuoBjdBYvn38RqW6n1TzrQO839/sIpqLpbnXKacsAgpZHzLD83Sm8SDXMkkrAvEnJ25+0yIpw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.0.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz", + "integrity": "sha512-tM3icA6GhC3ch2SkmSxv7J/hCWKISzwycub6eGsDrFDgukD4dZ/I+x81XgW0YslS6mzNuQ1Cbzh5osjIMgepPQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.2.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regexpu-core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", + "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.4.0", + "regjsparser": "^0.3.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" + } + }, + "regjsgen": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", + "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", + "dev": true + }, + "regjsparser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", + "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz", + "integrity": "sha512-im7ged00ddGKAjcZgewXmp1vxSZQQywuQXe2B1A7kajjZmDeY/ekMPmWr9zJgveSaQH0k7BcGrojQhcK06l0zA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz", + "integrity": "sha512-UlSfNydC+XLj4bw7ijpldc1uZ/HB84vw+U6BTuqMdIEmz/LDe63w/GHtpQMdXWdqQZFeAI9PjnHe/vDhwirhKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz", + "integrity": "sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz", + "integrity": "sha512-Wc+HVvwjcq5qBg1w5RG9o9RVzmCaAg/Vp0erHCKpAYV8La6I94o4GQAmFYNmkzoMO6gzoOSulpKeSSz6mPEoZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz", + "integrity": "sha512-2EZDBl1WIO/q4DIkIp4s86sdp4ZifL51MoIviLY/gG/mLSuOIEg7J8o6mhbxOTvUJkaN50n+8u41FVsr5KLy/w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.1.0.tgz", + "integrity": "sha512-rNmcmoQ78IrvNCIt/R9U+cixUHeYAzgusTFgIAv+wQb9HJU4szhpDD6e5GCACmj/JP5KxuCwM96bX3L9v4ZN/g==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz", + "integrity": "sha512-AOBiyUp7vYTqz2Jibe1UaAWL0Hl9JUXEgjFvvvcSc9MVDItv46ViXFw2F7SVt1B5k+KWjl44eeXOAk3UDEaJjQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz", + "integrity": "sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "@babel/plugin-transform-classes": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz", + "integrity": "sha512-rNaqoD+4OCBZjM7VaskladgqnZ1LO6o2UxuWSDzljzW21pN1KXkB7BstAVweZdxQkHAujps5QMNOTWesBciKFg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", + "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", + "dev": true + } + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz", + "integrity": "sha512-ubouZdChNAv4AAWAgU7QKbB93NU5sHwInEWfp+/OzJKA02E6Woh9RVoX4sZrbRwtybky/d7baTUqwFx+HgbvMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.1.3.tgz", + "integrity": "sha512-Mb9M4DGIOspH1ExHOUnn2UUXFOyVTiX84fXCd+6B5iWrQg/QMeeRmSwpZ9lnjYLSXtZwiw80ytVMr3zue0ucYw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz", + "integrity": "sha512-00THs8eJxOJUFVx1w8i1MBF4XH4PsAjKjQ1eqN/uCH3YKwP21GCKfrn6YZFZswbOk9+0cw1zGQPHVc1KBlSxig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regexpu-core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", + "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.4.0", + "regjsparser": "^0.3.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" + } + }, + "regjsgen": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", + "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", + "dev": true + }, + "regjsparser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", + "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz", + "integrity": "sha512-w2vfPkMqRkdxx+C71ATLJG30PpwtTpW7DDdLqYt2acXU7YjztzeWW2Jk1T6hKqCLYCcEA5UQM/+xTAm+QCSnuQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.1.0.tgz", + "integrity": "sha512-uZt9kD1Pp/JubkukOGQml9tqAeI8NkE98oZnHZ2qHRElmeKCodbTZgOEUtujSCSLhHSBWbzNiFSDIMC4/RBTLQ==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz", + "integrity": "sha512-TlxKecN20X2tt2UEr2LNE6aqA0oPeMT1Y3cgz8k4Dn1j5ObT8M3nl9aA37LLklx0PBZKETC9ZAf9n/6SujTuXA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.1.0.tgz", + "integrity": "sha512-VxOa1TMlFMtqPW2IDYZQaHsFrq/dDoIjgN098NowhexhZcz3UGlvPgZXuE1jEvNygyWyxRacqDpCZt+par1FNg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz", + "integrity": "sha512-1NTDBWkeNXgpUcyoVFxbr9hS57EpZYXpje92zv0SUzjdu3enaRwF/l3cmyRnXLtIdyJASyiS6PtybK+CgKf7jA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.1.0.tgz", + "integrity": "sha512-wt8P+xQ85rrnGNr2x1iV3DW32W8zrB6ctuBkYBbf5/ZzJY99Ob4MFgsZDFgczNU76iy9PWsy4EuxOliDjdKw6A==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz", + "integrity": "sha512-wtNwtMjn1XGwM0AXPspQgvmE6msSJP15CX2RVfpTSTNPLhKhaOjaIfBaVfj4iUZ/VrFSodcFedwtPg/NxwQlPA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.1.3.tgz", + "integrity": "sha512-PvTxgjxQAq4pvVUZF3mD5gEtVDuId8NtWkJsZLEJZMZAW3TvgQl1pmydLLN1bM8huHFVVU43lf0uvjQj9FRkKw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.1.0.tgz", + "integrity": "sha512-enrRtn5TfRhMmbRwm7F8qOj0qEYByqUvTttPEGimcBH4CJHphjyK1Vg7sdU7JjeEmgSpM890IT/efS2nMHwYig==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz", + "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.1.0.tgz", + "integrity": "sha512-/O02Je1CRTSk2SSJaq0xjwQ8hG4zhZGNjE8psTsSNPXyLRCODv7/PBozqT5AmQMzp7MI3ndvMhGdqp9c96tTEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.1.0.tgz", + "integrity": "sha512-vHV7oxkEJ8IHxTfRr3hNGzV446GAb+0hgbA7o/0Jd76s+YzccdWuTU296FOCOl/xweU4t/Ya4g41yWz80RFCRw==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.1.0", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", + "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", + "dev": true, + "requires": { + "regenerator-transform": "^0.13.3" + }, + "dependencies": { + "regenerator-transform": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", + "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", + "dev": true, + "requires": { + "private": "^0.1.6" + } + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz", + "integrity": "sha512-g/99LI4vm5iOf5r1Gdxq5Xmu91zvjhEG5+yZDJW268AZELAu4J1EiFLnkSG3yuUsZyOipVOVUKoGPYwfsTymhw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz", + "integrity": "sha512-L702YFy2EvirrR4shTj0g2xQp7aNwZoWNCkNu2mcoU0uyzMl0XRwDSwzB/xp6DSUFiBmEXuyAyEN16LsgVqGGQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz", + "integrity": "sha512-LFUToxiyS/WD+XEWpkx/XJBrUXKewSZpzX68s+yEOtIbdnsRjpryDw9U06gYc6klYEij/+KQVRnD3nz3AoKmjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz", + "integrity": "sha512-vA6rkTCabRZu7Nbl9DfLZE1imj4tzdWcg5vtdQGvj+OH9itNNB6hxuRMHuIY8SGnEt1T9g5foqs9LnrHzsqEFg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz", + "integrity": "sha512-1r1X5DO78WnaAIvs5uC48t41LLckxsYklJrZjNKcevyz83sF2l4RHbw29qrCPr/6ksFsdfRpT/ZgxNWHXRnffg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz", + "integrity": "sha512-uJBrJhBOEa3D033P95nPHu3nbFwFE9ZgXsfEitzoIXIwqAZWk7uXcg06yFKXz9FSxBH5ucgU/cYdX0IV8ldHKw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regexpu-core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", + "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.4.0", + "regjsparser": "^0.3.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" + } + }, + "regjsgen": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", + "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", + "dev": true + }, + "regjsparser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", + "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "@babel/preset-env": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.1.0.tgz", + "integrity": "sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.1.0", + "@babel/plugin-proposal-json-strings": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.0.0", + "@babel/plugin-syntax-async-generators": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.1.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.1.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-dotall-regex": "^7.0.0", + "@babel/plugin-transform-duplicate-keys": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.1.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.1.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-amd": "^7.1.0", + "@babel/plugin-transform-modules-commonjs": "^7.1.0", + "@babel/plugin-transform-modules-systemjs": "^7.0.0", + "@babel/plugin-transform-modules-umd": "^7.1.0", + "@babel/plugin-transform-new-target": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.1.0", + "@babel/plugin-transform-parameters": "^7.1.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typeof-symbol": "^7.0.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "browserslist": "^4.1.0", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.3.0" + }, + "dependencies": { + "browserslist": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.2.1.tgz", + "integrity": "sha512-1oO0c7Zhejwd+LXihS89WqtKionSbz298rJZKJgfrHIZhrV8AC15gw553VcB0lcEugja7IhWD7iAlrsamfYVPA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000890", + "electron-to-chromium": "^1.3.79", + "node-releases": "^1.0.0-alpha.14" + } + }, + "caniuse-lite": { + "version": "1.0.30000892", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000892.tgz", + "integrity": "sha512-X9rxMaWZNbJB5qjkDqPtNv/yfViTeUL6ILk0QJNxLV3OhKC5Acn5vxsuUvllR6B48mog8lmS+whwHq/QIYSL9w==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.79", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.79.tgz", + "integrity": "sha512-LQdY3j4PxuUl6xfxiFruTSlCniTrTrzAd8/HfsLEMi0PUpaQ0Iy+Pr4N4VllDYjs0Hyu2lkTbvzqlG+PX9NsNw==", + "dev": true + } + } + }, + "@babel/template": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz", + "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.1.2", + "@babel/types": "^7.1.2" + }, + "dependencies": { + "@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true + } + } + }, + "@babel/traverse": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.4.tgz", + "integrity": "sha512-my9mdrAIGdDiSVBuMjpn/oXYpva0/EZwWL3sm3Wcy/AVWO2eXnsoZruOT9jOGNRXU8KbCIu5zsKnXcAJ6PcV6Q==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.1.3", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.1.3", + "@babel/types": "^7.1.3", + "debug": "^3.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" + }, + "dependencies": { + "@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "globals": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", + "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", + "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@magenta/music": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@magenta/music/-/music-1.20.0.tgz", + "integrity": "sha512-/WSdKaKt+omMKXwf/LRHb9UgfwcCWQKbMwM6HFauXATTReg2Tz/5sIZ2FTaXfNvmX+d7/NZp5ZGifJGpzRUI/A==", + "requires": { + "@tensorflow/tfjs": "^1.1.2", + "@tonejs/midi": "^2.0.15", + "fft.js": "^4.0.3", + "ndarray-resample": "^1.0.1", + "protobufjs": "^6.8.6", + "staffrender": "^0.2.1", + "tonal": "^2.0.0", + "tone": "^13.8.21" + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, + "@tensorflow/tfjs": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-1.7.4.tgz", + "integrity": "sha512-XWGwRQ/ECEoQacd74JY/dmbLdnMpwtq3H8tls45dQ+GJ553Advir1FDo/aQt0Yr6fTimQDeiOIG4Mcb5KduP/w==", + "requires": { + "@tensorflow/tfjs-converter": "1.7.4", + "@tensorflow/tfjs-core": "1.7.4", + "@tensorflow/tfjs-data": "1.7.4", + "@tensorflow/tfjs-layers": "1.7.4" + } + }, + "@tensorflow/tfjs-converter": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-1.7.4.tgz", + "integrity": "sha512-B/Ux9I3osI0CXoESGR0Xe5C6BsEfC04+g2xn5zVaW9KEuVEnGEgnuBQxgijRFzkqTwoyLv4ptAmjyIghVARX0Q==", + "requires": {} + }, + "@tensorflow/tfjs-core": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-1.7.4.tgz", + "integrity": "sha512-3G4VKJ6nPs7iCt6gs3bjRj8chihKrYWenf63R0pm7D9MhlrVoX/tpN4LYVMGgBL7jHPxMLKdOkoAZJrn/J88HQ==", + "requires": { + "@types/offscreencanvas": "~2019.3.0", + "@types/seedrandom": "2.4.27", + "@types/webgl-ext": "0.0.30", + "@types/webgl2": "0.0.4", + "node-fetch": "~2.1.2", + "seedrandom": "2.4.3" + }, + "dependencies": { + "node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + } + } + }, + "@tensorflow/tfjs-data": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-1.7.4.tgz", + "integrity": "sha512-WFYG9wWjNDi62x6o3O20Q0XJxToCw2J4/fBEXiK/Gr0hIqVhl2oLQ1OjTWq7O08NUxM6BRzuG+ra3gWYdQUzOw==", + "requires": { + "@types/node-fetch": "^2.1.2", + "node-fetch": "~2.1.2" + }, + "dependencies": { + "node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + } + } + }, + "@tensorflow/tfjs-layers": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-1.7.4.tgz", + "integrity": "sha512-5/K8Z8RBfXsucL6EaSeb3/8jB/I8oPaaXkxwKVsBPQ+u6lB6LEtSKzeiFc57nDr5OMtVaUZV+pKDNEzP0RUQlg==", + "requires": {} + }, + "@tonejs/midi": { + "version": "2.0.25", + "resolved": "https://registry.npmjs.org/@tonejs/midi/-/midi-2.0.25.tgz", + "integrity": "sha512-zT8pZy/upJCGqXHSCO1+U39wgWIaizDg+sv7nVReJehMcT86Peh+zo5kQ42Guwgc/gnv47n7fJhoTRGsJVaqJQ==", + "requires": { + "array-flatten": "^2.1.2", + "midi-file": "^1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + } + } + }, + "@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" + }, + "@types/node": { + "version": "14.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.9.tgz", + "integrity": "sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==" + }, + "@types/node-fetch": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", + "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + }, + "dependencies": { + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, + "@types/offscreencanvas": { + "version": "2019.3.0", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.3.0.tgz", + "integrity": "sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==" + }, + "@types/seedrandom": { + "version": "2.4.27", + "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-2.4.27.tgz", + "integrity": "sha1-nbVjk33YaRX2kJK8QyWdL0hXjkE=" + }, + "@types/webgl-ext": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/webgl-ext/-/webgl-ext-0.0.30.tgz", + "integrity": "sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==" + }, + "@types/webgl2": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.4.tgz", + "integrity": "sha512-PACt1xdErJbMUOUweSrbVM7gSIYm1vTncW2hF6Os/EeWi6TXYAYMPp+8v6rzHmypE5gHrxaxZNXgMkJVIdZpHw==" + }, + "@vernier/godirect": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vernier/godirect/-/godirect-1.5.0.tgz", + "integrity": "sha512-vMS0fQubI3WSSLg1Ry3aey/qWCl9XoCsFzgwOWYkeJs45YxjPel+42pLh5pO7uP6oF47sjZUKx8kGOoTiiiirA==" + }, + "@webassemblyjs/ast": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.5.13.tgz", + "integrity": "sha512-49nwvW/Hx9i+OYHg+mRhKZfAlqThr11Dqz8TsrvqGKMhdI2ijy3KBJOun2Z4770TPjrIJhR6KxChQIDaz8clDA==", + "requires": { + "@webassemblyjs/helper-module-context": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/wast-parser": "1.5.13", + "debug": "^3.1.0", + "mamacro": "^0.0.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz", + "integrity": "sha512-vrvvB18Kh4uyghSKb0NTv+2WZx871WL2NzwMj61jcq2bXkyhRC+8Q0oD7JGVf0+5i/fKQYQSBCNMMsDMRVAMqA==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz", + "integrity": "sha512-dBh2CWYqjaDlvMmRP/kudxpdh30uXjIbpkLj9HQe+qtYlwvYjPRjdQXrq1cTAAOUSMTtzqbXIxEdEZmyKfcwsg==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz", + "integrity": "sha1-hzuwobRkSSMRN8EmLd/QVpUZWh4=", + "requires": { + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz", + "integrity": "sha512-yN6ScQQDFCiAXnVctdVO/J5NQRbwyTbQzsGzEgXsAnrxhjp0xihh+nNHQTMrq5UhOqTb5LykpJAvEv9AT0jnAQ==", + "requires": { + "@webassemblyjs/wast-printer": "1.5.13" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz", + "integrity": "sha512-hSIKzbXjVMRvy3Jzhgu+vDd/aswJ+UMEnLRCkZDdknZO3Z9e6rp1DAs0tdLItjCFqkz9+0BeOPK/mk3eYvVzZg==" + }, + "@webassemblyjs/helper-module-context": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz", + "integrity": "sha512-zxJXULGPLB7r+k+wIlvGlXpT4CYppRz8fLUM/xobGHc9Z3T6qlmJD9ySJ2jknuktuuiR9AjnNpKYDECyaiX+QQ==", + "requires": { + "debug": "^3.1.0", + "mamacro": "^0.0.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz", + "integrity": "sha512-0n3SoNGLvbJIZPhtMFq0XmmnA/YmQBXaZKQZcW8maGKwLpVcgjNrxpFZHEOLKjXJYVN5Il8vSfG7nRX50Zn+aw==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz", + "integrity": "sha1-78dvRKENMHO1hLQ8OKF53xc9XH0=", + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "@webassemblyjs/ieee754": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz", + "integrity": "sha1-Vz6XyMEuTuuzFspf3gID3dkLA2Q=", + "requires": { + "ieee754": "^1.1.11" + } + }, + "@webassemblyjs/leb128": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.5.13.tgz", + "integrity": "sha1-q1Lrq5zsKDwcGJesHagzoEo/TO4=", + "requires": { + "long": "4.0.0" + }, + "dependencies": { + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha1-mntxz7fTYaGU6lVSQckvdGjVvyg=" + } + } + }, + "@webassemblyjs/utf8": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.5.13.tgz", + "integrity": "sha1-a1PSzYYc+U+pnB8Sd53eaS+8JGk=" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz", + "integrity": "sha1-yc71ZkwkXPEbOzpzEQyRVYMXJKg=", + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/helper-wasm-section": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "@webassemblyjs/wasm-opt": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "@webassemblyjs/wast-printer": "1.5.13", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz", + "integrity": "sha1-jm6hE8S0MvpmVAGJ55sW16FAcA4=", + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/ieee754": "1.5.13", + "@webassemblyjs/leb128": "1.5.13", + "@webassemblyjs/utf8": "1.5.13" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz", + "integrity": "sha1-FHqtdxen7kIRw2shpfTDDd3zMTg=", + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz", + "integrity": "sha1-b0ZRbFuyOQT731gAkjPC3YpUxy8=", + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-api-error": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/ieee754": "1.5.13", + "@webassemblyjs/leb128": "1.5.13", + "@webassemblyjs/utf8": "1.5.13" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz", + "integrity": "sha512-Lbz65T0LQ1LgzKiUytl34CwuhMNhaCLgrh0JW4rJBN6INnBB8NMwUfQM+FxTnLY9qJ+lHJL/gCM5xYhB9oWi4A==", + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/floating-point-hex-parser": "1.5.13", + "@webassemblyjs/helper-api-error": "1.5.13", + "@webassemblyjs/helper-code-frame": "1.5.13", + "@webassemblyjs/helper-fsm": "1.5.13", + "long": "^3.2.0", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz", + "integrity": "sha512-QcwogrdqcBh8Z+eUF8SG+ag5iwQSXxQJELBEHmLkk790wgQgnIMmntT2sMAMw53GiFNckArf5X0bsCA44j3lWQ==", + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/wast-parser": "1.5.13", + "long": "^3.2.0" + } + }, + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "dev": true, + "requires": { + "mime-types": "~2.1.18", + "negotiator": "0.6.1" + }, + "dependencies": { + "mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=", + "dev": true + }, + "mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha1-ceRkU3p++BwV8tudl+kT/A/2BvA=", + "dev": true, + "requires": { + "mime-db": "~1.35.0" + } + } + } + }, + "acorn": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==" + }, + "acorn-dynamic-import": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", + "requires": { + "acorn": "^5.0.0" + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "requires": { + "acorn": "^3.0.4" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + }, + "adm-zip": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.11.tgz", + "integrity": "sha512-L8vcjDTCOIJk7wFvmlEUN7AsSb8T+2JrdP7KINBjzr24TJ5Mwj590sLu3BC7zNZowvJWa/JtPmD8eJCzdtDWjA==", + "dev": true + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + }, + "ajv": { + "version": "4.11.8", + "resolved": "http://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "ajv-errors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz", + "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=", + "dev": true, + "requires": {} + }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", + "dev": true, + "requires": {} + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "devOptional": true + }, + "ansi-escapes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "dev": true + }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "arraybuffer-loader": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/arraybuffer-loader/-/arraybuffer-loader-1.0.6.tgz", + "integrity": "sha1-3gZExXCnnOK7vGCcdaZ8go9jYsc=", + "requires": { + "loader-utils": "^1.1.0" + } + }, + "arraybuffer.slice": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", + "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true, + "optional": true + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "requires": { + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "audio-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/audio-context/-/audio-context-1.0.1.tgz", + "integrity": "sha1-zsTbis5u9KrL8Q7vCXekVxRo1Ks=", + "dev": true, + "requires": { + "global": "^4.3.1" + } + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" + }, + "aws4": { + "version": "1.6.0", + "resolved": "http://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" + }, + "babel-code-frame": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", + "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" + } + }, + "babel-eslint": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz", + "integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "^1.0.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/generator": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz", + "integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==", + "dev": true, + "requires": { + "@babel/types": "^7.1.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/template": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz", + "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.1.2", + "@babel/types": "^7.1.2" + }, + "dependencies": { + "@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true + } + } + }, + "@babel/traverse": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.4.tgz", + "integrity": "sha512-my9mdrAIGdDiSVBuMjpn/oXYpva0/EZwWL3sm3Wcy/AVWO2eXnsoZruOT9jOGNRXU8KbCIu5zsKnXcAJ6PcV6Q==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.1.3", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.1.3", + "@babel/types": "^7.1.3", + "debug": "^3.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" + }, + "dependencies": { + "@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", + "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "globals": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", + "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "jsesc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", + "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "babel-loader": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.4.tgz", + "integrity": "sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==", + "dev": true, + "requires": { + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "util.promisify": "^1.0.0" + } + }, + "babel-plugin-extract-format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-extract-format-message/-/babel-plugin-extract-format-message-6.2.0.tgz", + "integrity": "sha512-aFr8LeYCAlPjXGMaKlCGkrAxMNjPfS4FXAV7VLY4qgF+68xpHooqpkJndOA7cYSkeXO3LFCwOA4oy14xeEOmZg==", + "dev": true, + "requires": { + "format-message-estree-util": "^6.1.0", + "format-message-generate-id": "^6.2.0", + "format-message-parse": "^6.2.0", + "format-message-print": "^6.2.0" + }, + "dependencies": { + "format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", + "dev": true + } + } + }, + "babel-plugin-react-intl": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-2.4.0.tgz", + "integrity": "sha512-r67nOQdpKxPtDFiJHquTt9dBG0xOlBk1u3rForULNrDXvTzg5RRHbB7RLqqMWOvqfP2znTo0C+e/PLnPKt+JXA==", + "dev": true, + "requires": { + "babel-runtime": "^6.2.0", + "intl-messageformat-parser": "^1.2.0", + "mkdirp": "^0.5.1" + } + }, + "babel-plugin-transform-format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-format-message/-/babel-plugin-transform-format-message-6.2.0.tgz", + "integrity": "sha512-rj88gOe7ENYKSX74Yd0wTpUr1Ty8247OfGZqJh6flwElt8vtBwBAGONXoEG0B+QlRpm9iDgiPJhpFCv3tEok/w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/parser": "^7.0.0", + "format-message": "^6.2.0", + "format-message-estree-util": "^6.1.0", + "format-message-formats": "^6.2.0", + "format-message-generate-id": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0", + "source-map": "^0.5.7" + }, + "dependencies": { + "format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.0.tgz", + "integrity": "sha512-QzjDk0owKnAj/+HviUIaR6I3y6zOa8hKdbQbkl7ejkjbaVJ0j4YWllZmZDAyNrG2iEWdqKCmIU1mum8mHGLEFw==", + "dev": true, + "requires": { + "format-message-formats": "^6.2.0", + "format-message-interpret": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "format-message-formats": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", + "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==", + "dev": true + }, + "format-message-interpret": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.0.tgz", + "integrity": "sha512-G2WxW9c/vk97rPgbP67p/6BdpoZI8g4LdKDIqxAlXQq1ZI3uQTV2a5f9q3Big04hjSsI8uTgzWWmF4ht50foyw==", + "dev": true, + "requires": { + "format-message-formats": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", + "dev": true + }, + "lookup-closest-locale": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", + "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + }, + "base64-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64-loader/-/base64-loader-1.0.0.tgz", + "integrity": "sha1-5TC62I6QbdKh+tCvLZ5oP6i9kqg=", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "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.3" + } + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "requires": { + "callsite": "1.0.0" + } + }, + "big.js": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", + "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=" + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" + }, + "bind-obj-methods": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-2.0.0.tgz", + "integrity": "sha1-AXgUDb57e7Z9x0iSrOWbwCR/BvA=", + "dev": true + }, + "bit-twiddle": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", + "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" + }, + "blob": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=" + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=" + }, + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.1", + "http-errors": "~1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "~2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "~1.6.15" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "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.x.x" + } + }, + "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.1", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-hrtime": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/browser-hrtime/-/browser-hrtime-1.1.8.tgz", + "integrity": "sha512-kzXheikaJsBtzUBlyVtPIY5r0soQePzjwVwT4IlDpU2RvfB5Py52gpU98M77rgqMCheoSSZvrcrdj3t6cZ3suA==" + }, + "browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", + "requires": { + "pako": "~1.0.5" + } + }, + "btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", + "dev": true + }, + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + }, + "dependencies": { + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "requires": { + "glob": "^7.0.5" + } + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "^0.2.0" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "canvas-toBlob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/canvas-toBlob/-/canvas-toBlob-1.0.0.tgz", + "integrity": "sha1-m/MrKGu04SUhiyCO7MgyH9Az5sM=" + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=" + }, + "catharsis": { + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz", + "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", + "dev": true, + "requires": { + "underscore-contrib": "~0.3.0" + } + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.2.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "lodash.debounce": "^4.0.8", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.5" + } + }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" + }, + "chrome-trace-event": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", + "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", + "requires": { + "tslib": "^1.9.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-yaml-object": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", + "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", + "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", + "dev": true, + "requires": { + "color-name": "1.1.1" + } + }, + "color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", + "dev": true + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI=", + "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=", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "http://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + }, + "compressible": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", + "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", + "dev": true, + "requires": { + "mime-db": ">= 1.34.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=", + "dev": true + } + } + }, + "compression": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", + "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.14", + "debug": "2.6.9", + "on-headers": "~1.0.1", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "requires": { + "date-now": "^0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "copy-webpack-plugin": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.4.tgz", + "integrity": "sha512-0lstlEyj74OAtYMrDxlNZsU7cwFijAI3Ofz2fD6Mpo9r4xCv4yegfa3uHIKvZY1NSuOtE9nvG6TAhJ+uz9gDaQ==", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + }, + "dependencies": { + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "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=" + }, + "coveralls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.2.tgz", + "integrity": "sha512-Tv0LKe/MkBOilH2v7WBiTBdudg2ChfGbdXafc/s330djpF3zKOmuehTeRwjXWc7pzfj9FrDUTA7tEx6Div8NFw==", + "dev": true, + "requires": { + "growl": "~> 1.10.0", + "js-yaml": "^3.11.0", + "lcov-parse": "^0.0.10", + "log-driver": "^1.2.7", + "minimist": "^1.2.0", + "request": "^2.85.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + } + }, + "har-validator": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", + "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "dev": true, + "requires": { + "ajv": "^5.3.0", + "har-schema": "^2.0.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "mime-db": { + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", + "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", + "dev": true + }, + "mime-types": { + "version": "2.1.20", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", + "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", + "dev": true, + "requires": { + "mime-db": "~1.36.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "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, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + } + } + }, + "crc32": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/crc32/-/crc32-0.2.2.tgz", + "integrity": "sha1-etIg1v/c0Rn5/BJ6d3LKzqOQpLo=", + "dev": true + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "requires": { + "boom": "2.x.x" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cwise": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/cwise/-/cwise-1.0.10.tgz", + "integrity": "sha1-JO7mBy69/WuMb12tsXCQtkmxK+8=", + "requires": { + "cwise-compiler": "^1.1.1", + "cwise-parser": "^1.0.0", + "static-module": "^1.0.0", + "uglify-js": "^2.6.0" + }, + "dependencies": { + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "escodegen": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", + "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", + "requires": { + "esprima": "~1.1.1", + "estraverse": "~1.5.0", + "esutils": "~1.0.0", + "source-map": "~0.1.33" + } + }, + "esprima": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", + "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=" + }, + "estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=" + }, + "esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "object-inspect": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz", + "integrity": "sha1-9RV8EWwUVbJDsG7pdwM5LFrYn+w=" + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" + }, + "quote-stream": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-0.0.0.tgz", + "integrity": "sha1-zeKelMQJsW4Z3HCYuJtmWPlyHTs=", + "requires": { + "minimist": "0.0.8", + "through2": "~0.4.1" + } + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "static-eval": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-0.2.4.tgz", + "integrity": "sha1-t9NNg4k3uWn5ZBygfUj47eJj6ns=", + "requires": { + "escodegen": "~0.0.24" + }, + "dependencies": { + "escodegen": { + "version": "0.0.28", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz", + "integrity": "sha1-Dk/xcV8yh3XWyrUaxEpAbNer/9M=", + "requires": { + "esprima": "~1.0.2", + "estraverse": "~1.3.0", + "source-map": ">= 0.1.2" + } + }, + "esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=" + }, + "estraverse": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz", + "integrity": "sha1-N8K4k+8T1yPydth41g2FNRUqbEI=" + } + } + }, + "static-module": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-1.5.0.tgz", + "integrity": "sha1-J9qYg8QajNCSNvhC8MHrxu32PYY=", + "requires": { + "concat-stream": "~1.6.0", + "duplexer2": "~0.0.2", + "escodegen": "~1.3.2", + "falafel": "^2.1.0", + "has": "^1.0.0", + "object-inspect": "~0.4.0", + "quote-stream": "~0.0.0", + "readable-stream": "~1.0.27-1", + "shallow-copy": "~0.0.1", + "static-eval": "~0.2.0", + "through2": "~0.4.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "cwise-compiler": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz", + "integrity": "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=", + "requires": { + "uniq": "^1.0.0" + } + }, + "cwise-parser": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cwise-parser/-/cwise-parser-1.0.3.tgz", + "integrity": "sha1-jkk8F9VPl8sDCp6YVLyGyd+zVP4=", + "requires": { + "esprima": "^1.0.3", + "uniq": "^1.0.0" + }, + "dependencies": { + "esprima": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz", + "integrity": "sha1-CZNQL+r2aBODJXVvMPmlH+7sEek=" + } + } + }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=" + }, + "d": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "^0.10.9" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + }, + "debug": { + "version": "2.6.6", + "resolved": "http://registry.npmjs.org/debug/-/debug-2.6.6.tgz", + "integrity": "sha1-qfpvvpykPPHnn3O3XAGJy7fW21o=", + "requires": { + "ms": "0.7.3" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-html": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decode-html/-/decode-html-2.0.0.tgz", + "integrity": "sha1-fQqIfORCgOYJeKcH67f4CB/WHqo=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, + "requires": { + "foreach": "^2.0.5", + "object-keys": "^1.0.8" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-node": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", + "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", + "dev": true + }, + "diff": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", + "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", + "dev": true + }, + "diff-match-patch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.4.tgz", + "integrity": "sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg==" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo=", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "docdash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/docdash/-/docdash-1.0.0.tgz", + "integrity": "sha512-HhK72PT4z55og8FDqskO/tTYXxU+LovRz+9pCDHLnUoPchkxjdIJidS+96LqW3CLrRdBmnkDRrcVrDFGLIluTw==", + "dev": true + }, + "doctrine": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", + "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "requires": { + "domelementtype": "~1.1.1", + "entities": "~1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" + } + } + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=" + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "dompurify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.1.1.tgz", + "integrity": "sha512-NijiNVkS/OL8mdQL1hUbCD6uty/cgFpmNiuFxrmJ5YPH2cXrPKIewoixoji56rbZ6XBPmtM8GA8/sf9unlSuwg==", + "dev": true + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dup": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz", + "integrity": "sha1-UfxaxoX4GWRp3wuQXpNLIK9bQCk=" + }, + "duplexify": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "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.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "elliptic": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "requires": { + "once": "^1.4.0" + } + }, + "engine.io-client": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.4.tgz", + "integrity": "sha1-T88TcLRxY70s6b4nM5ckMDUNTqE=", + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~2.6.9", + "engine.io-parser": "~2.1.1", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~3.3.1", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "engine.io-parser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.1.tgz", + "integrity": "sha1-4Ps/DgRi9/WLt3waUun1p+JuRmg=", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "0.0.6", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.4", + "has-binary2": "~1.0.2" + } + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=", + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz", + "integrity": "sha1-aQgpoHyuNrIi5/2bdcDQVz6yUic=", + "dev": true, + "requires": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, + "requires": { + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" + } + }, + "es5-ext": { + "version": "0.10.16", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.16.tgz", + "integrity": "sha1-HvGwTz0J22pdYwIm1iIC8uQl5Fo=", + "dev": true, + "requires": { + "es6-iterator": "2", + "es6-symbol": "~3.1" + } + }, + "es6-iterator": { + "version": "2.0.1", + "resolved": "http://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", + "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-symbol": "^3.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "http://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=" + }, + "es6-set": { + "version": "0.1.5", + "resolved": "http://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "http://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "http://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.3.0.tgz", + "integrity": "sha1-U2laylITloqs35cMyyMeQqKyhfg=", + "dev": true, + "requires": { + "ajv": "^6.5.0", + "babel-code-frame": "^6.26.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^4.0.0", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.0.0", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.2", + "imurmurhash": "^0.1.4", + "inquirer": "^5.2.0", + "is-resolvable": "^1.1.0", + "js-yaml": "^3.11.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^2.0.0", + "require-uncached": "^1.0.3", + "semver": "^5.5.0", + "string.prototype.matchall": "^2.0.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^4.0.3", + "text-table": "^0.2.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha1-8JWCkpdwanyXdpWMCvyJMKm52dg=", + "dev": true + }, + "acorn-jsx": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz", + "integrity": "sha1-6OQeSOov4MiWdAYQq2pP/YrdIl4=", + "dev": true, + "requires": { + "acorn": "^5.0.3" + } + }, + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "eslint-scope": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha1-UL8wcekzi83EMzF5Sgy1M/ATYXI=", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "espree": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-4.0.0.tgz", + "integrity": "sha1-JTmY8goPgttdhmOFeZ2RKoOjZjQ=", + "dev": true, + "requires": { + "acorn": "^5.6.0", + "acorn-jsx": "^4.1.1" + } + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg=", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "globals": { + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", + "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", + "dev": true + }, + "ignore": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.5.tgz", + "integrity": "sha512-Q2daVnMtQJPacGrcCRyOEiI+syPCt+mR4YotoC0KEYeinV/6HztT5mUuVEj7UYyoNZ1jGYiu2XEem7I8oM44bg==", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha1-G3eTz3JZ6jj7NmHU04syYK+K5Oc=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + }, + "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 + } + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + } + } + }, + "eslint-config-scratch": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-scratch/-/eslint-config-scratch-5.0.0.tgz", + "integrity": "sha1-s3OvhEFNO+0nkq3kGOmgxvrnmf0=", + "dev": true, + "requires": { + "eslint-plugin-react": "^7.0" + } + }, + "eslint-plugin-format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-format-message/-/eslint-plugin-format-message-6.2.0.tgz", + "integrity": "sha512-9Q1F0ndotgcDqbFDl99gSoubjHLfaOYnpp7X8+tEhfFrRIb+AAVYI5aUZdg+sEd7+UGGQbTMv8u+vwaCDda2sQ==", + "dev": true, + "requires": { + "format-message": "^6.2.0", + "format-message-estree-util": "^6.1.0", + "format-message-generate-id": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + }, + "dependencies": { + "format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.0.tgz", + "integrity": "sha512-QzjDk0owKnAj/+HviUIaR6I3y6zOa8hKdbQbkl7ejkjbaVJ0j4YWllZmZDAyNrG2iEWdqKCmIU1mum8mHGLEFw==", + "dev": true, + "requires": { + "format-message-formats": "^6.2.0", + "format-message-interpret": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "format-message-formats": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", + "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==", + "dev": true + }, + "format-message-interpret": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.0.tgz", + "integrity": "sha512-G2WxW9c/vk97rPgbP67p/6BdpoZI8g4LdKDIqxAlXQq1ZI3uQTV2a5f9q3Big04hjSsI8uTgzWWmF4ht50foyw==", + "dev": true, + "requires": { + "format-message-formats": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", + "dev": true + }, + "lookup-closest-locale": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", + "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==", + "dev": true + } + } + }, + "eslint-plugin-react": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.5.1.tgz", + "integrity": "sha1-UuVujYDIEN4ViFnvB7iA0vVu4ws=", + "dev": true, + "optional": true, + "requires": { + "doctrine": "^2.0.0", + "has": "^1.0.1", + "jsx-ast-utils": "^2.0.0", + "prop-types": "^15.6.0" + } + }, + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", + "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", + "dev": true + }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha1-PzGA+y4pEBdxastMnW1bXDSmqB0=", + "dev": true + }, + "espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "requires": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "requires": { + "estraverse": "^4.1.0", + "object-assign": "^4.0.1" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "http://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "events-to-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", + "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", + "dev": true + }, + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, + "requires": { + "original": ">=0.0.5" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "exports-loader": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.3.tgz", + "integrity": "sha1-V9x4kX9wm5byR/qR5ptVTIVQE8g=", + "dev": true, + "requires": { + "loader-utils": "0.2.x", + "source-map": "0.1.x" + }, + "dependencies": { + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "expose-loader": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-0.7.5.tgz", + "integrity": "sha512-iPowgKUZkTPX5PznYsmifVj9Bob0w2wTHVkt/eYNPSzyebkUgIedmskf/kcfEIWpiWjg3JRjnW+a17XypySMuw==", + "dev": true, + "requires": {} + }, + "express": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.3", + "qs": "6.5.1", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "falafel": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", + "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", + "requires": { + "acorn": "^5.0.0", + "foreach": "^2.0.5", + "isarray": "0.0.1", + "object-keys": "^1.0.6" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + } + } + }, + "fast-deep-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fbjs": { + "version": "0.8.16", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", + "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "dev": true, + "optional": true, + "requires": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.9" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "dev": true, + "optional": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", + "dev": true, + "optional": true, + "requires": { + "asap": "~2.0.3" + } + } + } + }, + "fft.js": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fft.js/-/fft.js-4.0.3.tgz", + "integrity": "sha1-sAhO+pQYj+vdHP/mhpH0yFoPuMs=" + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "file-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz", + "integrity": "sha1-OXScgvAguehZAdz/mOgATmQBz94=", + "dev": true, + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", + "integrity": "sha1-JH1SdBENtlNwa1UPzCt5fKKM/Fk=", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true, + "requires": {} + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + } + } + }, + "filename-reserved-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", + "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=", + "dev": true + }, + "filenamify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", + "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", + "dev": true, + "requires": { + "filename-reserved-regex": "^1.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + }, + "filenamify-url": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", + "integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=", + "dev": true, + "requires": { + "filenamify": "^1.0.0", + "humanize-url": "^1.0.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", + "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", + "dev": true, + "requires": { + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" + } + }, + "flush-write-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + } + }, + "follow-redirects": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.2.tgz", + "integrity": "sha512-kssLorP/9acIdpQ2udQVTiCS5LQmdEz9mvdIfDcl1gYX2tPKFADHSyFdvJS040XdFsPzemWtgI3q8mFVCxtX8A==", + "dev": true, + "requires": { + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "for-each": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", + "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=", + "requires": { + "is-function": "~1.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "foreground-child": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "dev": true, + "requires": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + } + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + } + }, + "format-message": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.1.tgz", + "integrity": "sha1-kKJ9KJYNQRT5mRL9Uc2heJvdP/A=", + "requires": { + "format-message-formats": "^6.2.0", + "format-message-interpret": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + }, + "dependencies": { + "format-message-formats": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", + "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==" + }, + "format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==" + }, + "lookup-closest-locale": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", + "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==" + } + } + }, + "format-message-cli": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-cli/-/format-message-cli-6.2.0.tgz", + "integrity": "sha512-NpbIyGj6oqpGwtKJlV3PeVUqRwpbfdnDEdd9QGkABQ1hTIguGyQAQyKH23hBKWKTaqvI1IY2LHBqGkEtwa/Sgg==", + "dev": true, + "requires": { + "@babel/core": "^7.0.0", + "babel-plugin-extract-format-message": "^6.2.0", + "babel-plugin-transform-format-message": "^6.2.0", + "commander": "^2.11.0", + "eslint": "^3.19.0", + "eslint-plugin-format-message": "^6.2.0", + "glob": "^5.0.15", + "js-yaml": "^3.10.0", + "mkdirp": "^0.5.1", + "safe-buffer": "^5.1.1", + "source-map": "^0.5.7" + }, + "dependencies": { + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "commander": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", + "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", + "dev": true + }, + "eslint": { + "version": "3.19.0", + "resolved": "http://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", + "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "chalk": "^1.1.3", + "concat-stream": "^1.5.2", + "debug": "^2.1.1", + "doctrine": "^2.0.0", + "escope": "^3.6.0", + "espree": "^3.4.0", + "esquery": "^1.0.0", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "glob": "^7.0.3", + "globals": "^9.14.0", + "ignore": "^3.2.0", + "imurmurhash": "^0.1.4", + "inquirer": "^0.12.0", + "is-my-json-valid": "^2.10.0", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.5.1", + "json-stable-stringify": "^1.0.0", + "levn": "^0.3.0", + "lodash": "^4.0.0", + "mkdirp": "^0.5.0", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.1", + "pluralize": "^1.2.1", + "progress": "^1.1.8", + "require-uncached": "^1.0.2", + "shelljs": "^0.7.5", + "strip-bom": "^3.0.0", + "strip-json-comments": "~2.0.1", + "table": "^3.7.8", + "text-table": "~0.2.0", + "user-home": "^2.0.0" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "dev": true, + "requires": { + "ansi-escapes": "^1.1.0", + "ansi-regex": "^2.0.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "figures": "^1.3.5", + "lodash": "^4.3.0", + "readline2": "^1.0.1", + "run-async": "^0.1.0", + "rx-lite": "^3.1.2", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "dev": true + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + }, + "run-async": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", + "dev": true, + "requires": { + "once": "^1.3.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "table": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "dev": true, + "requires": { + "ajv": "^4.7.0", + "ajv-keywords": "^1.0.0", + "chalk": "^1.1.1", + "lodash": "^4.0.0", + "slice-ansi": "0.0.4", + "string-width": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "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" + } + } + } + } + } + }, + "format-message-estree-util": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/format-message-estree-util/-/format-message-estree-util-6.1.0.tgz", + "integrity": "sha512-z8nZdDI3vQdYVARVBVFebKSUEEZhw3/sgD8F+PneLT7TGBKt3QpeSQ8g2yUoQrj9saoR2fYbpXeaQ8qnjg013Q==", + "dev": true + }, + "format-message-generate-id": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-generate-id/-/format-message-generate-id-6.2.0.tgz", + "integrity": "sha512-q3nN7b/ONvzaUtLrCt13TDKbl7Rvc/Gk9bR2HfQqUWPKkhP+lciq3MKQDIeGb79dvciKdbWT/FB47YrHogQCCA==", + "dev": true, + "requires": { + "crc32": "^0.2.2", + "format-message-parse": "^6.2.0", + "format-message-print": "^6.2.0" + }, + "dependencies": { + "format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", + "dev": true + } + } + }, + "format-message-interpret": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.0.tgz", + "integrity": "sha512-G2WxW9c/vk97rPgbP67p/6BdpoZI8g4LdKDIqxAlXQq1ZI3uQTV2a5f9q3Big04hjSsI8uTgzWWmF4ht50foyw==", + "requires": { + "format-message-formats": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + }, + "dependencies": { + "format-message-formats": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", + "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==" + }, + "lookup-closest-locale": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", + "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==" + } + } + }, + "format-message-print": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-print/-/format-message-print-6.2.0.tgz", + "integrity": "sha512-KuT6xtQsvUafrybvqtCzTduf+esHPNqt3bcUz9OPU1jIJ5VESoC9OwT+4YtwmjyaJDyGTILyeCmnQ2centjQJw==", + "dev": true + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-exists-cached": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", + "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", + "dev": true + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "optional": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "optional": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "optional": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" + }, + "function-loop": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-1.0.1.tgz", + "integrity": "sha1-gHa7MF6OajzO7ikgdl8zDRkPNAw=", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=" + }, + "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=", + "requires": { + "is-property": "^1.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-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": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "gh-pages": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-1.2.0.tgz", + "integrity": "sha512-cGLYAvxtlQ1iTwAS4g7FreZPXoE/g62Fsxln2mmR19mgs4zZI+XJ+wVVUhBFCF/0+Nmvbq+abyTWue1m1BSnmg==", + "dev": true, + "requires": { + "async": "2.6.1", + "commander": "2.15.1", + "filenamify-url": "^1.0.0", + "fs-extra": "^5.0.0", + "globby": "^6.1.0", + "graceful-fs": "4.1.11", + "rimraf": "^2.6.2" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + } + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "requires": { + "min-document": "^2.19.0", + "process": "~0.5.1" + }, + "dependencies": { + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + } + } + }, + "global-modules-path": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz", + "integrity": "sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==", + "dev": true + }, + "globals": { + "version": "9.17.0", + "resolved": "http://registry.npmjs.org/globals/-/globals-9.17.0.tgz", + "integrity": "sha1-DAymltm5u2lNLlRwvTd3fKrVAoY=", + "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.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "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.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, + "handle-thing": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", + "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "requires": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + } + }, + "has": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "requires": { + "function-bind": "^1.0.2" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-binary2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz", + "integrity": "sha1-6D26SfC5vk0CbSc2U1DZ8D9Uvpg=", + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", + "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" + }, + "hosted-git-info": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "htmlparser2": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", + "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", + "requires": { + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz", + "integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "http-parser-js": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", + "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=", + "dev": true + }, + "http-proxy": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "dev": true, + "requires": { + "eventemitter3": "^3.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", + "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", + "dev": true, + "requires": { + "http-proxy": "^1.16.2", + "is-glob": "^4.0.0", + "lodash": "^4.17.5", + "micromatch": "^3.1.9" + }, + "dependencies": { + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + } + } + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "humanize-url": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", + "integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=", + "dev": true, + "requires": { + "normalize-url": "^1.0.0", + "strip-url-auth": "^1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=", + "dev": true + }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + }, + "immutable": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.1.tgz", + "integrity": "sha1-IAgH8Rqw9ycQ6khVQt4IgHX2jNI=" + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "requires": { + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imports-loader": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.6.5.tgz", + "integrity": "sha1-rnRlMDHVnjezwvslRKxhrq41MKY=", + "dev": true, + "requires": { + "loader-utils": "0.2.x", + "source-map": "0.1.x" + }, + "dependencies": { + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "inquirer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha1-2zUMK3Paynf/EkOWLp8i8JloVyY=", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "internal-ip": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", + "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", + "dev": true, + "requires": { + "meow": "^3.3.0" + } + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "intl-messageformat-parser": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz", + "integrity": "sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU=", + "dev": true + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "iota-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz", + "integrity": "sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ipaddr.js": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", + "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-callable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-my-json-valid": { + "version": "2.16.0", + "resolved": "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", + "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "dev": true, + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", + "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" + }, + "is-regex": { + "version": "1.0.4", + "resolved": "http://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "dev": true, + "optional": true, + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "js-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.4.tgz", + "integrity": "sha512-PxfGzSs0ztShKrUYPIn5r0MtyAhYcCwmndozzpz8YObbPnD1jFxzlBGbRnX2mIu6Z13xN6+PTu05TQFnZFlzow==", + "dev": true + }, + "js-md5": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz", + "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==" + }, + "js-tokens": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz", + "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "js2xmlparser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz", + "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", + "dev": true, + "requires": { + "xmlcreate": "^1.0.1" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "http://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "jsdoc": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz", + "integrity": "sha1-SEUhsSboGQTWMv+D7JqqCWcI+k0=", + "dev": true, + "requires": { + "babylon": "7.0.0-beta.19", + "bluebird": "~3.5.0", + "catharsis": "~0.8.9", + "escape-string-regexp": "~1.0.5", + "js2xmlparser": "~3.0.0", + "klaw": "~2.0.0", + "marked": "~0.3.6", + "mkdirp": "~0.5.1", + "requizzle": "~0.2.1", + "strip-json-comments": "~2.0.1", + "taffydb": "2.6.2", + "underscore": "~1.8.3" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.19", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz", + "integrity": "sha1-6SjH6AfpcOBTaweKs+DEj54FJQM=", + "dev": true + }, + "underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", + "dev": true + } + } + }, + "jsesc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", + "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", + "dev": true + }, + "json": { + "version": "9.0.6", + "resolved": "http://registry.npmjs.org/json/-/json-9.0.6.tgz", + "integrity": "sha1-eXLCpaSKQmeNsnMMfCxO5uTiRYU=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "jsx-ast-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", + "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", + "dev": true, + "optional": true, + "requires": { + "array-includes": "^3.0.3" + } + }, + "jszip": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", + "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", + "requires": { + "core-js": "~2.3.0", + "es6-promise": "~3.0.2", + "lie": "~3.1.0", + "pako": "~1.0.2", + "readable-stream": "~2.0.6" + }, + "dependencies": { + "core-js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", + "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=" + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "killable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz", + "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "klaw": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", + "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "lcov-parse": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", + "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "requires": { + "immediate": "~3.0.5" + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=" + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basecreate": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", + "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.create": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", + "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", + "dev": true, + "requires": { + "lodash._baseassign": "^3.0.0", + "lodash._basecreate": "^3.0.0", + "lodash._isiterateecall": "^3.0.0" + } + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "log-driver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha1-Y7lQIfBwL+36LJuwok53l9cYcdg=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "loglevel": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", + "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", + "dev": true + }, + "loglevelnext": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", + "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", + "dev": true, + "requires": { + "es6-symbol": "^3.1.1", + "object.assign": "^4.1.0" + } + }, + "long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "requires": { + "js-tokens": "^3.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "marked": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha1-XUf3CcTJ/Dwha21GEnKA9As515A=", + "dev": true + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "microee": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/microee/-/microee-0.0.6.tgz", + "integrity": "sha1-oSvbAQNoHosSapsHHrpMRnx4//4=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "midi-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/midi-file/-/midi-file-1.1.2.tgz", + "integrity": "sha512-VQNzirfADDFXTymgPJv2VfLylCq14spRNFhpA6u7dLqPMbw1BqGf5u9B0k7z++8X1RMs57pyn+G4kzhyIatlyw==" + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=", + "dev": true + }, + "mime-db": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz", + "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=" + }, + "mime-types": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", + "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", + "requires": { + "mime-db": "~1.29.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "minilog": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minilog/-/minilog-3.1.0.tgz", + "integrity": "sha1-0tDxiHyjY9Gs8OqG1cTfKTs/tnU=", + "requires": { + "microee": "0.0.6" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "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=" + }, + "minipass": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.4.tgz", + "integrity": "sha512-mlouk1OHlaUE8Odt1drMtG1bAJA4ZA6B/ehysgV0LUIrDHdKgo1KorZq3pK0b/7Z7LJIQ12MNM6aC+Tn6lUZ5w==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "yallist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", + "dev": true + } + } + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "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" + } + }, + "mkpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz", + "integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=", + "dev": true + }, + "mocha": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz", + "integrity": "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==", + "dev": true, + "requires": { + "browser-stdout": "1.3.0", + "commander": "2.9.0", + "debug": "2.6.8", + "diff": "3.2.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.1", + "growl": "1.9.2", + "he": "1.1.1", + "json3": "3.3.2", + "lodash.create": "3.1.1", + "mkdirp": "0.5.1", + "supports-color": "3.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "diff": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", + "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", + "dev": true + }, + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.3.tgz", + "integrity": "sha1-cIFVpeROM/X9D8U+gdDUCpG+H/8=" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "ndarray": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz", + "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==", + "requires": { + "iota-array": "^1.0.0", + "is-buffer": "^1.0.2" + } + }, + "ndarray-fft": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ndarray-fft/-/ndarray-fft-1.0.3.tgz", + "integrity": "sha1-3Fu6GOOrgsmXrbrrt455+CyToio=", + "requires": { + "bit-twiddle": "^1.0.2", + "cwise": "^1.0.4", + "ndarray": "^1.0.15", + "ndarray-ops": "^1.2.2", + "typedarray-pool": "^1.0.0" + } + }, + "ndarray-ops": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz", + "integrity": "sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=", + "requires": { + "cwise-compiler": "^1.0.0" + } + }, + "ndarray-resample": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ndarray-resample/-/ndarray-resample-1.0.1.tgz", + "integrity": "sha1-Qrsz9qS3OMV/9zxgzCINTPx1gh0=", + "requires": { + "cwise": "^1.0.7", + "ndarray-fft": "^1.0.0", + "ndarray-ops": "^1.2.2", + "ndarray-scratch": "^1.1.1" + } + }, + "ndarray-scratch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ndarray-scratch/-/ndarray-scratch-1.2.0.tgz", + "integrity": "sha1-YwRjbWLrqT20cnrBPGkzQdulDgE=", + "requires": { + "ndarray": "^1.0.14", + "ndarray-ops": "^1.2.1", + "typedarray-pool": "^1.0.2" + } + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "neo-async": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", + "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==" + }, + "nets": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nets/-/nets-3.2.0.tgz", + "integrity": "sha1-1RH7q3rxHaAT8huX7pF0fTOFLTg=", + "requires": { + "request": "^2.65.0", + "xhr": "^2.1.0" + } + }, + "nice-try": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", + "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==", + "dev": true + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8=", + "dev": true, + "optional": true, + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node-forge": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", + "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", + "dev": true + }, + "node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.0", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.10.3", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + } + } + }, + "node-releases": { + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.14.tgz", + "integrity": "sha512-G8nnF9cP9QPP/jUmYWw/uUUhumHmkm+X/EarCugYFjYm2uXRMFeOD6CVT3RLdoyCvDUNy51nirGfUItKWs/S1g==", + "dev": true, + "requires": { + "semver": "^5.3.0" + } + }, + "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=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^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 + }, + "nyc": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.9.0.tgz", + "integrity": "sha512-w8OdJAhXL5izerzZMdqzYKMj/pgHJyY3qEPYBjLLxrhcVoHEY9pU5ENIiZyCgG9OR7x3VcUMoD40o6PtVpfR4g==", + "dev": true, + "requires": { + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.5.1", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.2", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.10.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.3", + "istanbul-reports": "^1.4.0", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.2.0", + "yargs": "11.1.0", + "yargs-parser": "^8.0.0" + }, + "dependencies": { + "align-text": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "amdefine": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "bundled": true, + "dev": true + }, + "append-transform": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "requires": { + "default-require-extensions": "^1.0.0" + } + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "arr-diff": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "arrify": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "async": { + "version": "1.5.2", + "bundled": true, + "dev": true + }, + "atob": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "babel-generator": { + "version": "6.26.1", + "bundled": true, + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "bundled": true, + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "base": { + "version": "0.11.2", + "bundled": true, + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "builtin-modules": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "caching-transform": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" + } + }, + "camelcase": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true + }, + "center-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "class-utils": { + "version": "0.3.6", + "bundled": true, + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "cliui": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "commondir": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "bundled": true, + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "core-js": { + "version": "2.5.6", + "bundled": true, + "dev": true + }, + "cross-spawn": { + "version": "4.0.2", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "debug-log": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "strip-bom": "^2.0.0" + } + }, + "define-property": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "detect-indent": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "error-ex": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "esutils": { + "version": "2.0.2", + "bundled": true, + "dev": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "fill-range": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-cache-dir": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "foreground-child": { + "version": "1.5.6", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + } + }, + "fragment-cache": { + "version": "0.2.1", + "bundled": true, + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "get-value": { + "version": "2.0.6", + "bundled": true, + "dev": true + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globals": { + "version": "9.18.0", + "bundled": true, + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "handlebars": { + "version": "4.0.11", + "bundled": true, + "dev": true, + "requires": { + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "bundled": true, + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "has-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hosted-git-info": { + "version": "2.6.0", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "invariant": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-arrayish": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "bundled": true, + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-odd": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "bundled": true, + "dev": true + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "istanbul-lib-coverage": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "append-transform": "^0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.10.1", + "bundled": true, + "dev": true, + "requires": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.0", + "semver": "^5.3.0" + } + }, + "istanbul-lib-report": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" + }, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "bundled": true, + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.3", + "bundled": true, + "dev": true, + "requires": { + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "istanbul-reports": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "handlebars": "^4.0.3" + } + }, + "js-tokens": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "lazy-cache": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "optional": true + }, + "lcid": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true + } + } + }, + "lodash": { + "version": "4.17.10", + "bundled": true, + "dev": true + }, + "longest": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "loose-envify": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "js-tokens": "^3.0.0" + } + }, + "lru-cache": { + "version": "4.1.3", + "bundled": true, + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "map-cache": { + "version": "0.2.2", + "bundled": true, + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5-hex": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "md5-o-matic": "^0.1.1" + } + }, + "md5-o-matic": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "mem": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "merge-source-map": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true + } + } + }, + "micromatch": { + "version": "3.1.10", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "mimic-fn": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mixin-deep": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "nanomatch": { + "version": "1.2.9", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "normalize-package-data": { + "version": "2.4.0", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "object.pick": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optimist": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-limit": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "pascalcase": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "path-type": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "bundled": true, + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "bundled": true, + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "find-up": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "bundled": true, + "dev": true + }, + "regex-not": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "repeat-element": { + "version": "1.1.2", + "bundled": true, + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "bundled": true, + "dev": true + }, + "repeating": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "resolve-from": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "ret": { + "version": "0.1.15", + "bundled": true, + "dev": true + }, + "right-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-regex": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "set-value": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "slide": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.2.0" + } + }, + "source-map": { + "version": "0.5.7", + "bundled": true, + "dev": true + }, + "source-map-resolve": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "bundled": true, + "dev": true + }, + "spawn-wrap": { + "version": "1.4.2", + "bundled": true, + "dev": true, + "requires": { + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" + } + }, + "spdx-correct": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "split-string": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "static-extend": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "test-exclude": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "requires": { + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "braces": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "bundled": true, + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "to-fast-properties": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + } + } + }, + "trim-right": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "union-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, + "unset-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "bundled": true, + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "urix": { + "version": "0.1.0", + "bundled": true, + "dev": true + }, + "use": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "which": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "window-size": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "0.0.3", + "bundled": true, + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" + } + }, + "y18n": { + "version": "3.2.1", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "11.1.0", + "bundled": true, + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "cliui": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "yargs-parser": { + "version": "9.0.2", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "8.1.0", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "^4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "bundled": true, + "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=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "opener": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", + "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", + "dev": true + }, + "opn": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "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 + }, + "output-file-sync": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", + "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "is-plain-obj": "^1.1.0", + "mkdirp": "^0.5.1" + } + }, + "own-or": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", + "integrity": "sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=", + "dev": true + }, + "own-or-env": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.1.tgz", + "integrity": "sha1-VM5gHTv3gjbFxlYzqhyOwD+AB+Q=", + "dev": true, + "requires": { + "own-or": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", + "dev": true + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "pako": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "requires": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "parse-asn1": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" + } + }, + "parse-headers": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", + "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", + "requires": { + "for-each": "^0.3.2", + "trim": "0.0.1" + } + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", + "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "^2.1.0" + } + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha1-KYuJ34uTsCIdv0Ia0rGx6iP8Z3c=", + "dev": true + }, + "pngjs": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.3.tgz", + "integrity": "sha512-1n3Z4p3IOxArEs1VRXnZ/RXdfEniAUS9jb68g58FIXMNkPJeZd+Qh4Uq7/e0LVxAQGos1eIUrqrt4FpjdnEd+Q==", + "dev": true + }, + "portfinder": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.16.tgz", + "integrity": "sha1-pqaL6cNSvGbBpMF6Jh9mHz+sr1I=", + "dev": true, + "requires": { + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "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=" + }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "prop-types": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "dev": true, + "optional": true, + "requires": { + "fbjs": "^0.8.16", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, + "protobufjs": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.2.tgz", + "integrity": "sha512-27yj+04uF6ya9l+qfpH187aqEzfCF4+Uit0I9ZBQVqK09hk/SQzKa2MUqUpXaVa7LOFRg1TSSr3lVxGOk6c0SQ==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": "^13.7.0", + "long": "^4.0.0" + }, + "dependencies": { + "@types/node": { + "version": "13.13.32", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.32.tgz", + "integrity": "sha512-sPBvDnrwZE1uePhkCEyI/qQlgZM5kePPAhHIFDWNsOrWBFRBOk3LKJYmVCLeLZlL9Ub/FzMJb31OTWCg2F+06g==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + } + } + }, + "proxy-addr": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", + "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.8.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "querystringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", + "integrity": "sha1-+j7W5o6xUVlFfImze8ZHKDMZV1U=", + "dev": true + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": ">= 1.3.1 < 2" + } + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + } + } + }, + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", + "dev": true + }, + "readable-stream": { + "version": "2.2.9", + "resolved": "http://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.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~1.0.0", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "requires": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + } + }, + "readline2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "mute-stream": "0.0.5" + }, + "dependencies": { + "mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "dev": true + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", + "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", + "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2" + } + }, + "regexpp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz", + "integrity": "sha1-sqdTSoXKGwM7z1zp/45W1OB1U2U=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "qs": "~6.3.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1", + "uuid": "^3.0.0" + }, + "dependencies": { + "qs": { + "version": "6.3.2", + "resolved": "http://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=" + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "requizzle": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz", + "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", + "dev": true, + "requires": { + "underscore": "~1.6.0" + } + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=" + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.6.1", + "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "requires": { + "glob": "^7.0.5" + }, + "dependencies": { + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "requires": { + "aproba": "^1.1.1" + } + }, + "rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", + "dev": true + }, + "rxjs": { + "version": "5.5.11", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz", + "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + }, + "dependencies": { + "ajv": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", + "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", + "requires": { + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0", + "uri-js": "^3.0.2" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "requires": {} + } + } + }, + "scratch-audio": { + "version": "0.1.0-prerelease.20200528195344", + "resolved": "https://registry.npmjs.org/scratch-audio/-/scratch-audio-0.1.0-prerelease.20200528195344.tgz", + "integrity": "sha512-BY1IiMMBj0WDs7jdYnOzBHE88AX3ltjs2XfINJ1VrIE4xn2vZvPgJAyw6ZCc2FDPRwTWLpCdhnlA1TBdaKKdiQ==", + "dev": true, + "requires": { + "audio-context": "1.0.1", + "minilog": "^3.0.1", + "startaudiocontext": "1.2.1" + } + }, + "scratch-blocks": { + "version": "0.1.0-prerelease.20201119044258", + "resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.20201119044258.tgz", + "integrity": "sha512-XL5ALMZLlD9clGybJErI/NzQU30XOMQxcPPHk0FbR1E0MMLIEGo9Mh4Sik6kpT1jHVlg1XCye84b5qyppDkI3w==", + "dev": true, + "requires": { + "exports-loader": "0.6.3", + "imports-loader": "0.6.5" + } + }, + "scratch-l10n": { + "version": "3.1.20181129221712", + "resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.1.20181129221712.tgz", + "integrity": "sha512-aMzq5/Ie/9XPYEibut2jnV6dJO/6/fNI8h1bwKvhHdgbRaZKRlWXbBICt/zAgkvt2LSRY1gz4RiXsPLbXQczpQ==", + "dev": true, + "requires": { + "@babel/cli": "^7.1.2", + "@babel/core": "^7.1.2", + "babel-plugin-react-intl": "^2.3.1", + "transifex": "1.5.0" + } + }, + "scratch-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/scratch-parser/-/scratch-parser-5.0.0.tgz", + "integrity": "sha512-7kjxoxivLgYYvmAJVLOOWnca4CigwuCpgjy9+6UuxOMgSZKO1xqIjxIADupabmh1ZLZZDVe45DBM/CQTdtVDkw==", + "requires": { + "ajv": "6.3.0", + "jszip": "3.1.5", + "pify": "4.0.1" + }, + "dependencies": { + "ajv": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.3.0.tgz", + "integrity": "sha1-FlCkERTvAFdMrBC4Ay2PTBSBLac=", + "requires": { + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, + "scratch-render-fonts": { + "version": "1.0.0-prerelease.20200507182347", + "resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.0-prerelease.20200507182347.tgz", + "integrity": "sha512-tVt2s7lxsBhme9WKIZTnluMerdJVGEc80QSrDdIIzUvHXGCIYkLh6j7ytwXcyq2UsA34d93op9+I9Bh1SPkQkA==", + "dev": true, + "requires": { + "base64-loader": "1.0.0" + } + }, + "scratch-sb1-converter": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/scratch-sb1-converter/-/scratch-sb1-converter-0.2.7.tgz", + "integrity": "sha512-MF1NzmRLbgCiq7wiSTuk2C9rQC8uM5Wj7SaYsn1SEMWNK9rtK0uc3LSm8FnEt14QS/1Icx2YgMsUPKR0HaPDdQ==", + "requires": { + "js-md5": "0.7.3", + "minilog": "3.1.0", + "text-encoding": "^0.7.0" + } + }, + "scratch-storage": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/scratch-storage/-/scratch-storage-1.1.0.tgz", + "integrity": "sha512-4gtQW5ST5RDIWjfflK6k7Jxq7rQWgvhfM+oqL2Ld+eyQIbhZ4BwX0R3aRtwhupntv3tCa+2lBhRm+CGnaCijvA==", + "dev": true, + "requires": { + "arraybuffer-loader": "^1.0.3", + "base64-js": "1.3.0", + "js-md5": "0.7.3", + "minilog": "3.1.0", + "nets": "3.2.0", + "text-encoding": "0.7.0" + }, + "dependencies": { + "js-md5": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz", + "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==", + "dev": true + } + } + }, + "scratch-svg-renderer": { + "version": "0.2.0-prerelease.20201019174008", + "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-0.2.0-prerelease.20201019174008.tgz", + "integrity": "sha512-RF3Zx09Nl+uLTrPD7K4tR6Sqq/JqRTsLVRugohEJ8pGHXshvBh/A4zWx7XmMZHOdEDHunPxpCDHkW2LoMCFioQ==", + "dev": true, + "requires": { + "base64-js": "1.2.1", + "base64-loader": "1.0.0", + "dompurify": "2.1.1", + "minilog": "3.1.0", + "scratch-render-fonts": "1.0.0-prerelease.20200507182347", + "transformation-matrix": "1.15.0" + }, + "dependencies": { + "base64-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", + "dev": true + } + } + }, + "scratch-translate-extension-languages": { + "version": "0.0.20191118205314", + "resolved": "https://registry.npmjs.org/scratch-translate-extension-languages/-/scratch-translate-extension-languages-0.0.20191118205314.tgz", + "integrity": "sha512-r0lvpgQjPMjbhI2wROrgoXzBhCvWJdkbAqJMfl2CdNqrwBpUXqLvNNtI3VtNLPJAcp9VfxEylkU9lVZ0gvU46Q==" + }, + "script-loader": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/script-loader/-/script-loader-0.7.2.tgz", + "integrity": "sha1-IBbbb4byX1z1baOJFdgzeLsWa6c=", + "dev": true, + "requires": { + "raw-loader": "~0.5.1" + } + }, + "seedrandom": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.3.tgz", + "integrity": "sha1-JDhQTa0zkXMUv/GKxNeU8W1qrsw=" + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.3.tgz", + "integrity": "sha512-vmZenZ+8Al3NLHkWnhBQ0x6BkML1eCP2xEi3JE+f3D9wW9fipD9NNJHYtE9XJM4TsPaHGZJIamrSI6MTg1dU2Q==", + "dev": true, + "requires": { + "node-forge": "0.7.5" + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", + "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==" + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "dev": true, + "requires": { + "mime-db": "~1.35.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-copy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "should": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/should/-/should-11.2.1.tgz", + "integrity": "sha1-kPVRRVUtAc/CAGZuToGKHJZw7aI=", + "dev": true, + "requires": { + "should-equal": "^1.0.0", + "should-format": "^3.0.2", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "should-equal": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/should-equal/-/should-equal-1.0.1.tgz", + "integrity": "sha1-C26VFvJgGp+wuy3MNpr6HH4gCvc=", + "dev": true, + "requires": { + "should-type": "^1.0.0" + } + }, + "should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", + "dev": true, + "requires": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", + "dev": true + }, + "should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "dev": true, + "requires": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "should-util": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz", + "integrity": "sha1-yYzaN0qmsZDfi6h8mInCtNtiAGM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "requires": { + "hoek": "2.x.x" + } + }, + "socket.io-client": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", + "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~2.6.4", + "engine.io-client": "~3.1.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.1.1", + "to-array": "0.1.4" + } + }, + "socket.io-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.2.tgz", + "integrity": "sha1-28IoIVH8T6675Aru3Ady66YZ9/I=", + "requires": { + "component-emitter": "1.2.1", + "debug": "~2.6.4", + "has-binary2": "~1.0.2", + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha1-2Xa76ACve9IK4IWY1YI5NQiZPA0=", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "sockjs-client": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", + "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", + "dev": true, + "requires": { + "debug": "^2.6.6", + "eventsource": "0.1.6", + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" + }, + "dependencies": { + "faye-websocket": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "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=" + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "dev": true + }, + "spdy": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", + "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", + "dev": true, + "requires": { + "debug": "^2.6.8", + "handle-thing": "^1.2.5", + "http-deceiver": "^1.2.7", + "safe-buffer": "^5.0.1", + "select-hose": "^2.0.0", + "spdy-transport": "^2.0.18" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "spdy-transport": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz", + "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", + "dev": true, + "requires": { + "debug": "^2.6.8", + "detect-node": "^2.0.3", + "hpack.js": "^2.1.6", + "obuf": "^1.1.1", + "readable-stream": "^2.2.9", + "safe-buffer": "^5.0.1", + "wbuf": "^1.7.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", + "dev": true + }, + "staffrender": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/staffrender/-/staffrender-0.2.1.tgz", + "integrity": "sha512-qg7aaR7YX8TwFYf4p1pjvm3tT8SYLZDe/J2eF2+z2WmYC/PyldnJlsaPKi1qRm0xqQ8nCLziooGXvYRcl5LNew==" + }, + "startaudiocontext": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/startaudiocontext/-/startaudiocontext-1.2.1.tgz", + "integrity": "sha1-RtLKtUYseRGArMciPju7wycshZU=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stats.js": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz", + "integrity": "sha1-scPcRtlEmLV4t/05hbgaznExzH0=", + "dev": true + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string_decoder": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.0.0.tgz", + "integrity": "sha1-8G9BFXtmTYYGn4S9vcmw2KsoFmc=", + "requires": { + "buffer-shims": "~1.0.0" + } + }, + "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" + }, + "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 + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.matchall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-2.0.0.tgz", + "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "regexp.prototype.flags": "^1.2.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "dev": true, + "requires": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + } + } + } + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" + }, + "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.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.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 + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "strip-url-auth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", + "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true + }, + "table": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", + "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", + "dev": true, + "requires": { + "ajv": "^6.0.1", + "ajv-keywords": "^3.0.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + }, + "dependencies": { + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true, + "requires": {} + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "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 + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + } + } + }, + "taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", + "dev": true + }, + "tap": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/tap/-/tap-12.0.1.tgz", + "integrity": "sha512-iEJytWaZy8risvfRjuV4+ST+Lrrui/MW2ZCWn01ZaMn0NKFej4+PpBy6bXGOg9+cEGNmI7d3Sdka/zTUZUGidA==", + "dev": true, + "requires": { + "bind-obj-methods": "^2.0.0", + "bluebird": "^3.5.1", + "clean-yaml-object": "^0.1.0", + "color-support": "^1.1.0", + "coveralls": "^3.0.1", + "foreground-child": "^1.3.3", + "fs-exists-cached": "^1.0.0", + "function-loop": "^1.0.1", + "glob": "^7.0.0", + "isexe": "^2.0.0", + "js-yaml": "^3.11.0", + "minipass": "^2.3.0", + "mkdirp": "^0.5.1", + "nyc": "^11.8.0", + "opener": "^1.4.1", + "os-homedir": "^1.0.2", + "own-or": "^1.0.0", + "own-or-env": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.0", + "source-map-support": "^0.5.6", + "stack-utils": "^1.0.0", + "tap-mocha-reporter": "^3.0.7", + "tap-parser": "^7.0.0", + "tmatch": "^4.0.0", + "trivial-deferred": "^1.0.1", + "tsame": "^2.0.0", + "write-file-atomic": "^2.3.0", + "yapool": "^1.0.0" + }, + "dependencies": { + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", + "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "tap-mocha-reporter": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-3.0.7.tgz", + "integrity": "sha512-GHVXJ38C3oPRpM3YUc43JlGdpVZYiKeT1fmAd3HH2+J+ZWwsNAUFvRRdoGsXLw9+gU9o+zXpBqhS/oXyRQYwlA==", + "dev": true, + "requires": { + "color-support": "^1.1.0", + "debug": "^2.1.3", + "diff": "^1.3.2", + "escape-string-regexp": "^1.0.3", + "glob": "^7.0.5", + "js-yaml": "^3.3.1", + "readable-stream": "^2.1.5", + "tap-parser": "^5.1.0", + "unicode-length": "^1.0.0" + }, + "dependencies": { + "tap-parser": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-5.4.0.tgz", + "integrity": "sha1-aQfolyXXt/pq5B7ixGTD20MYiuw=", + "dev": true, + "requires": { + "events-to-array": "^1.0.1", + "js-yaml": "^3.2.7", + "readable-stream": "^2" + } + } + } + }, + "tap-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-7.0.0.tgz", + "integrity": "sha1-VNs1MC/aLCzMIZVK074issukJyE=", + "dev": true, + "requires": { + "events-to-array": "^1.0.1", + "js-yaml": "^3.2.7", + "minipass": "^2.2.0" + } + }, + "tapable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", + "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==" + }, + "text-encoding": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz", + "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==" + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", + "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tiny-worker": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.1.2.tgz", + "integrity": "sha512-t8xrlrw0ScBnJ1K5ziHcD6u2SgWpE9Tozv4EIqpXMnCfEVc3pWzMx+ZFwqpXk20C4WTRoLZVBi9v1tLkaciCTg==", + "dev": true + }, + "tmatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-4.0.0.tgz", + "integrity": "sha512-Ynn2Gsp+oCvYScQXeV+cCs7citRDilq0qDXA6tuvFwDgiYyyaq7D5vKUlAPezzZR5NDobc/QMeN6e5guOYmvxg==", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "tonal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal/-/tonal-2.2.2.tgz", + "integrity": "sha512-Ze2bQc6KhAf3FKM9HzEsQ4z8hZh4WYCOsCrryONqf/THGOrOpL9Cc8Uc0dq0OA2yK2JbD5FhZckEXNYyD9946A==", + "requires": { + "tonal-array": "^2.2.2", + "tonal-chord": "^2.2.2", + "tonal-dictionary": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-interval": "^2.2.2", + "tonal-key": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2", + "tonal-scale": "^2.2.2" + } + }, + "tonal-array": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-array/-/tonal-array-2.2.2.tgz", + "integrity": "sha512-h6YIq20L0EEU4EsDoKHAjl5kD2EQn467VfV79QHAuybvNCJpqqRNsQ3QNvoQyir1BgDXaDUIN9FEmQJNiaaCKA==", + "requires": { + "tonal-note": "^2.2.2" + } + }, + "tonal-chord": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-chord/-/tonal-chord-2.2.2.tgz", + "integrity": "sha512-gOIXapi6Gx3ISRKdEJKEQjhDBiwjhaalyWSrN5rijGrSyyFFNZ+EVOfzcqLtnVAF9BgeO9Ca0eXCor3XpHdEJg==", + "requires": { + "tonal-dictionary": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2" + } + }, + "tonal-dictionary": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-dictionary/-/tonal-dictionary-2.2.2.tgz", + "integrity": "sha512-283ppJl/0lohhlVPMI6t5C6XwaP5Wx0egu9qfG9TLCT2tn4pRwYpXkzGufd9icvkJTgOylOum3+RxWmywUIPIg==", + "requires": { + "tonal-array": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2" + } + }, + "tonal-distance": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-distance/-/tonal-distance-2.2.2.tgz", + "integrity": "sha512-ktA6OapCxaetXJb/JuXD5QwfyB7/G3y3ONby7Kkbezyffc57cnNfjdhlTR9XBR7eSFIY/J1KuhLwMx/qrffT4g==", + "requires": { + "tonal-interval": "^2.2.2", + "tonal-note": "^2.2.2" + } + }, + "tonal-interval": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-interval/-/tonal-interval-2.2.2.tgz", + "integrity": "sha512-lrtDU8lH5IAX7YE63OhGGDRpVb4OoGxaN0wDu5XC3sUhXBwjSgNYpHY2D9JI2aWQ/Er9jhQbnw9b0ffkLy34+Q==" + }, + "tonal-key": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-key/-/tonal-key-2.2.2.tgz", + "integrity": "sha512-KIc0b8yPl2ATDxF/65P52tIIempNsAQrug0idpD0zFvs5F5cb1hp7Rh7JJ4gECwC/6a3Hgdd1jomI+TnJ7K98w==", + "requires": { + "tonal-array": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-roman-numeral": "^2.2.2" + } + }, + "tonal-note": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-note/-/tonal-note-2.2.2.tgz", + "integrity": "sha512-RNK3Nb8PxBEW9yYGStcoczgE8bCYFZ5zfLvYJjvuzLWiwTQmqWOhTzONVobVCGFZ/jgDNwpBEKe/bngL3g3Xfw==" + }, + "tonal-pcset": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-pcset/-/tonal-pcset-2.2.2.tgz", + "integrity": "sha512-PSqhkxzckO6J27W0GxawHYln4wvfDJ7puDmccksyFOBo97UhLnpxiyvBekhiYpkuaMtoZLQC/KALAkEj7lcb+A==", + "requires": { + "tonal-array": "^2.2.2", + "tonal-interval": "^2.2.2", + "tonal-note": "^2.2.2" + } + }, + "tonal-roman-numeral": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-roman-numeral/-/tonal-roman-numeral-2.2.2.tgz", + "integrity": "sha512-+auQNObpW3OvsSqlo+Cc+0otrlEhtbEgpzkPoKbTtkCva0P9oSkSz0OZ9fI73KQM5MsBs1XbB+olxppWkzYTFw==" + }, + "tonal-scale": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-scale/-/tonal-scale-2.2.2.tgz", + "integrity": "sha512-tDb3YCoTF50XOXq9kNhGB1JkInk7qAGN6GQnP/3xkGxkreFFRZyI58jfHlmWf/AH4+IKb/exsOmL6G8Ok/PCRw==", + "requires": { + "tonal-array": "^2.2.2", + "tonal-dictionary": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2" + } + }, + "tone": { + "version": "13.8.34", + "resolved": "https://registry.npmjs.org/tone/-/tone-13.8.34.tgz", + "integrity": "sha512-sFIYee0CO5lDcnC/RwIPiPMOIZCMEk35AaxF0Q64q7SE1BL+i+efYR6vrD+peDGrswXJ+D3bTmci2wCy+omx+Q==" + }, + "tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "requires": { + "punycode": "^1.4.1" + } + }, + "transformation-matrix": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/transformation-matrix/-/transformation-matrix-1.15.0.tgz", + "integrity": "sha512-808EqPQbmUD6/IMpWUXLOZcblCHf9xaiB+un0RYNNE9+6VRjoiw6Be8R32tZ0ips1PX/15tlnA2Ev4UUgg827Q==", + "dev": true + }, + "transifex": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/transifex/-/transifex-1.5.0.tgz", + "integrity": "sha1-/xxFMPR3/Y3iNPyWit0yKVPUXPQ=", + "dev": true, + "requires": { + "commander": "^2.9.0", + "lodash": "^4.17.1", + "mkpath": "^1.0.0", + "mocha": "^3.2.0", + "request": "^2.34.0", + "should": "^11.1.2" + } + }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "trivial-deferred": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", + "integrity": "sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=", + "dev": true + }, + "tsame": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tsame/-/tsame-2.0.0.tgz", + "integrity": "sha512-dAuzcnOPdqZYojylFQzEes95UDjve3HqKrlTCeLZKSDPMTsn3smzHZqsJj/sWD8wOUkg0RD++B11evyLn2+bIw==", + "dev": true + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=" + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.18" + }, + "dependencies": { + "mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=", + "dev": true + }, + "mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha1-ceRkU3p++BwV8tudl+kT/A/2BvA=", + "dev": true, + "requires": { + "mime-db": "~1.35.0" + } + } + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typedarray-pool": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.2.0.tgz", + "integrity": "sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==", + "requires": { + "bit-twiddle": "^1.0.0", + "dup": "^1.0.0" + } + }, + "ua-parser-js": { + "version": "0.7.17", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", + "integrity": "sha1-6exflJi57JEOeuOsYmqAXE0J7Kw=", + "dev": true, + "optional": true + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "uglifyjs-webpack-plugin": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz", + "integrity": "sha1-V2ON2ZyFOh6/6dl7QhYKilB/nQA=", + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + } + } + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha1-n+FTahCmZKZSZqHjzPhf02MCvJw=" + }, + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + }, + "underscore-contrib": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz", + "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=", + "dev": true, + "requires": { + "underscore": "1.6.0" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-1.0.3.tgz", + "integrity": "sha1-Wtp6f+1RhBpBijKM8UlHisg1irs=", + "dev": true, + "requires": { + "punycode": "^1.3.2", + "strip-ansi": "^3.0.1" + } + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz", + "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz", + "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==", + "dev": true + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "unique-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==" + }, + "uri-js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", + "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "url-join": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", + "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", + "dev": true + }, + "url-parse": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz", + "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==", + "dev": true, + "requires": { + "querystringify": "^2.0.0", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0" + } + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "requires": { + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=" + }, + "v8-compile-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", + "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "requires": { + "indexof": "0.0.1" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webpack": { + "version": "4.16.5", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.16.5.tgz", + "integrity": "sha1-Kfs5Rigj1+uK78q4tF9/JB2w0JI=", + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-module-context": "1.5.13", + "@webassemblyjs/wasm-edit": "1.5.13", + "@webassemblyjs/wasm-opt": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "acorn": "^5.6.2", + "acorn-dynamic-import": "^3.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^0.4.4", + "tapable": "^1.0.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "watchpack": "^1.5.0", + "webpack-sources": "^1.0.1" + }, + "dependencies": { + "acorn": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==" + }, + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "requires": {} + }, + "eslint-scope": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha1-UL8wcekzi83EMzF5Sgy1M/ATYXI=", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + } + } + }, + "webpack-cli": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.0.tgz", + "integrity": "sha512-p5NeKDtYwjZozUWq6kGNs9w+Gtw/CPvyuXjXn2HMdz8Tie+krjEg8oAtonvIyITZdvpF7XG9xDHwscLr2c+ugQ==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.0.0", + "global-modules-path": "^2.1.0", + "import-local": "^1.0.0", + "inquirer": "^6.0.0", + "interpret": "^1.1.0", + "loader-utils": "^1.1.0", + "supports-color": "^5.4.0", + "v8-compile-cache": "^2.0.0", + "yargs": "^12.0.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 + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.5.0.tgz", + "integrity": "sha512-9ZTaoBaePSCFvNlNGrsyI8ZVACP2svUtq0DkM7t4K2ClAa96sqOIRjAzDTc8zXzFt1cZR46rRzLTiHFSJ+Qw0g==", + "dev": true + }, + "external-editor": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.1.tgz", + "integrity": "sha512-e1neqvSt5pSwQcFnYc6yfGuJD2Q4336cdbHs5VeUO0zTkqPbrHMyw2q1r47fpfLWbvIG8H8A6YO3sck7upTV6Q==", + "dev": true, + "requires": { + "chardet": "^0.5.0", + "iconv-lite": "^0.4.22", + "tmp": "^0.0.33" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inquirer": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", + "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.0", + "figures": "^2.0.0", + "lodash": "^4.17.10", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.1.0", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "rxjs": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.0.tgz", + "integrity": "sha512-ZnwuEquf72mnVORgX75eZCAKNNwulmKQuFxDPwDA5EvbkBXeRNJtmvhyVLcPcKkdiUtqqv+LbBM8jYo0eBW++w==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz", + "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", + "dev": true, + "requires": { + "loud-rejection": "^1.6.0", + "memory-fs": "~0.4.1", + "mime": "^2.1.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "url-join": "^4.0.0", + "webpack-log": "^1.0.1" + }, + "dependencies": { + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.5.tgz", + "integrity": "sha1-h0dyUuGsZ4kwP7jNPlhfpdUIpAE=", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "array-includes": "^3.0.3", + "bonjour": "^3.5.0", + "chokidar": "^2.0.0", + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.16.2", + "html-entities": "^1.2.0", + "http-proxy-middleware": "~0.18.0", + "import-local": "^1.0.0", + "internal-ip": "1.2.0", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "selfsigned": "^1.9.1", + "serve-index": "^1.7.2", + "sockjs": "0.3.19", + "sockjs-client": "1.1.5", + "spdy": "^3.4.1", + "strip-ansi": "^3.0.0", + "supports-color": "^5.1.0", + "webpack-dev-middleware": "3.1.3", + "webpack-log": "^1.1.2", + "yargs": "11.0.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", + "integrity": "sha1-wFKTEAbF7udGEOX8A1S+39CKIBs=", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + } + } + }, + "webpack-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", + "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", + "dev": true, + "requires": { + "chalk": "^2.1.0", + "log-symbols": "^2.1.0", + "loglevelnext": "^1.0.1", + "uuid": "^3.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + } + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "requires": { + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=", + "dev": true + }, + "whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=", + "dev": true, + "optional": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "worker-farm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "requires": { + "errno": "~0.1.7" + } + }, + "worker-loader": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-1.1.1.tgz", + "integrity": "sha512-qJZLVS/jMCBITDzPo/RuweYSIG8VJP5P67mP/71alGyTZRe1LYJFdwLjLalY3T5ifx0bMDRD3OB6P2p1escvlg==", + "requires": { + "loader-utils": "^1.0.0", + "schema-utils": "^0.4.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.2.tgz", + "integrity": "sha1-lsHQiz/v2h1cHjNwDTv6qb4tVgg=", + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + }, + "xhr": { + "version": "2.4.0", + "resolved": "http://registry.npmjs.org/xhr/-/xhr-2.4.0.tgz", + "integrity": "sha1-4W5mpF+GmGHu76tBbV7/ci3ECZM=", + "requires": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xmlcreate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz", + "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=", + "dev": true + }, + "xmlhttprequest-ssl": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.4.tgz", + "integrity": "sha1-BPVgkVcks4kIhxXMDteBPpZ3v1c=" + }, + "xregexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", + "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yapool": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", + "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", + "dev": true + }, + "yargs": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz", + "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^2.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^10.1.0" + }, + "dependencies": { + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "dev": true, + "requires": { + "xregexp": "4.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + } + } } From 8c7f36ac72094e52f680ca778e52c5131e01c484 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Wed, 8 Jun 2022 17:05:59 -0400 Subject: [PATCH 059/149] stop music on stop sign --- .../scratch3_musiccreation/index.js | 1 - .../musiccreationhelpers.js | 23 ++++++++++++------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 492371a97..f7f946fef 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -18,7 +18,6 @@ const regeneratorRuntime = require("regenerator-runtime"); //do not delete class Scratch3MusicCreation { constructor(runtime) { this.runtime = runtime; - this.musicPlayer = new MusicPlayers(runtime); this.vizHelper = new VizHelpers(runtime); this.musicCreationHelper = new MusicCreationHelpers(runtime); diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index c69f1f992..e90483e18 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -23,6 +23,7 @@ try { class MusicCreationHelpers { constructor (runtime) { this.runtime = runtime; + this._stopped = false; /** * An array of arrays of sound players. Each instrument has one or more audio players. @@ -368,7 +369,9 @@ class MusicCreationHelpers { * Gets the SoundPlayer for this note/instrument combo * @param {number} inst * @param {number} note - * @returns the SoundPlayer object + * @returns {SoundPlayer} object for the player + * + * @see {SoundPlayer} is in the scratch audio node module */ _getPlayer (inst, note) { if (!this._instrumentPlayerNoteArrays[inst][note]) { @@ -442,21 +445,24 @@ class MusicCreationHelpers { return; } const player = playerAndData['player']; - let stopped = false util.sequencer.runtime.once('PROJECT_STOP_ALL', () => { - stopped = true; - console.log('STOP SIGN CLICKED'); + this._stopped = true; + player.stopImmediately(); + util.stackFrame.duration = 0; + return; }); player.once('stop', () => { console.log(`stopped note ${i+1}`); - if (last || stopped) { + if (last || this._stopped) { util.stackFrame.duration = 0; } else { this._playNoteFromSeq(seq[i+1],seq,util,l,inst); } }); - console.log(`playing note ${i+1}`); - this._activatePlayer(util,playerAndData); + if (!this._stopped) { + console.log(`playing note ${i+1}`); + this._activatePlayer(util,playerAndData); + } } /** @@ -471,6 +477,7 @@ class MusicCreationHelpers { playFirstNote (util, seq, inst) { const l = seq.length if (l === 0) return; + util.sequencer.runtime.setMaxListeners(Infinity); this._playNoteFromSeq(seq[0],seq,util,l, inst); } @@ -487,7 +494,7 @@ class MusicCreationHelpers { seq.push(this._clamp(noteArg,i)); } if (l === 0) return; - + this._stopped = false; //begins the chain of events that plays the seq of notes this.playFirstNote(util, seq, inst); From 80b9110595b5bed381e7a27e0aa33c4df2f70f40 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Wed, 8 Jun 2022 18:12:26 -0400 Subject: [PATCH 060/149] Setup xml builder --- .../src/extension-support/xml-builder.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 packages/scratch-vm/src/extension-support/xml-builder.js diff --git a/packages/scratch-vm/src/extension-support/xml-builder.js b/packages/scratch-vm/src/extension-support/xml-builder.js new file mode 100644 index 000000000..2b2d3a96f --- /dev/null +++ b/packages/scratch-vm/src/extension-support/xml-builder.js @@ -0,0 +1,18 @@ +const Runtime = require('../engine/runtime.js'); +const uid = require('../util/uid.js'); + +/// + +/** + * @param {Runtime} runtime + * @param {{getInfo: () => ExtensionMetadata}} extension + * @param {string} opcode + * @returns {string} + */ +export const getXMLForOpcode = (extension, runtime, opcode) => { + const { id, blocks } = extension.getInfo(); + // do some error checking + const categoryInfo = runtime._blockInfo.find(i => i.id === id); + const block = blocks.find(block => block.opcode === opcode); + return runtime._convertBlockForScratchBlocks(block, categoryInfo).xml; +} \ No newline at end of file From 46bec2d145f118d8c3298009ab6a45d23ac0aac0 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Wed, 8 Jun 2022 18:27:48 -0400 Subject: [PATCH 061/149] committing sample xml to hang onto it --- packages/scratch-vm/SamplePlayNoteXml.xml | 82 +++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 packages/scratch-vm/SamplePlayNoteXml.xml diff --git a/packages/scratch-vm/SamplePlayNoteXml.xml b/packages/scratch-vm/SamplePlayNoteXml.xml new file mode 100644 index 000000000..a4abbd802 --- /dev/null +++ b/packages/scratch-vm/SamplePlayNoteXml.xml @@ -0,0 +1,82 @@ + + + my variable + + + + + 60 + + + + + 0.25 + + + + + + + 60 + + + + + 0.75 + + + + + + + 60 + + + + + 0.25 + + + + + + + + \ No newline at end of file From ca5be3486b8f516be8958ba7d433cd32d866dbab Mon Sep 17 00:00:00 2001 From: p-buddy Date: Thu, 9 Jun 2022 10:55:09 -0400 Subject: [PATCH 062/149] it worksgit add -u --- .../scratch-vm/src/engine/block-utility.js | 45 +- packages/scratch-vm/src/engine/runtime.js | 391 +++++++++--------- .../scratch3_musiccreation/index.js | 126 +++--- packages/scratch-vm/src/virtual-machine.js | 229 +++++----- 4 files changed, 412 insertions(+), 379 deletions(-) diff --git a/packages/scratch-vm/src/engine/block-utility.js b/packages/scratch-vm/src/engine/block-utility.js index cfe18a227..8f3bc88fb 100644 --- a/packages/scratch-vm/src/engine/block-utility.js +++ b/packages/scratch-vm/src/engine/block-utility.js @@ -1,5 +1,6 @@ const Thread = require('./thread'); const Timer = require('../util/timer'); +const Runtime = require('./runtime'); /** * @fileoverview @@ -8,7 +9,7 @@ const Timer = require('../util/timer'); */ class BlockUtility { - constructor (sequencer = null, thread = null) { + constructor(sequencer = null, thread = null) { /** * A sequencer block primitives use to branch or start procedures with * @type {?Sequencer} @@ -31,7 +32,7 @@ class BlockUtility { * The target the primitive is working on. * @type {Target} */ - get target () { + get target() { return this.thread.target; } @@ -39,7 +40,7 @@ class BlockUtility { * The runtime the block primitive is running in. * @type {Runtime} */ - get runtime () { + get runtime() { return this.sequencer.runtime; } @@ -48,7 +49,7 @@ class BlockUtility { * This is useful in some cases where we need compatibility with Scratch 2 * @type {function} */ - get nowObj () { + get nowObj() { if (this.runtime) { return this._nowObj; } @@ -59,7 +60,7 @@ class BlockUtility { * The stack frame used by loop and other blocks to track internal state. * @type {object} */ - get stackFrame () { + get stackFrame() { const frame = this.thread.peekStackFrame(); if (frame.executionContext === null) { frame.executionContext = {}; @@ -71,7 +72,7 @@ class BlockUtility { * Check the stack timer and return a boolean based on whether it has finished or not. * @return {boolean} - true if the stack timer has finished. */ - stackTimerFinished () { + stackTimerFinished() { const timeElapsed = this.stackFrame.timer.timeElapsed(); if (timeElapsed < this.stackFrame.duration) { return false; @@ -83,7 +84,7 @@ class BlockUtility { * Check if the stack timer needs initialization. * @return {boolean} - true if the stack timer needs to be initialized. */ - stackTimerNeedsInit () { + stackTimerNeedsInit() { return !this.stackFrame.timer; } @@ -91,7 +92,7 @@ class BlockUtility { * Create and start a stack timer * @param {number} duration - a duration in milliseconds to set the timer for. */ - startStackTimer (duration) { + startStackTimer(duration) { if (this.nowObj) { this.stackFrame.timer = new Timer(this.nowObj); } else { @@ -104,14 +105,14 @@ class BlockUtility { /** * Set the thread to yield. */ - yield () { + yield() { this.thread.status = Thread.STATUS_YIELD; } /** * Set the thread to yield until the next tick of the runtime. */ - yieldTick () { + yieldTick() { this.thread.status = Thread.STATUS_YIELD_TICK; } @@ -120,14 +121,14 @@ class BlockUtility { * @param {number} branchNum Which branch to step to (i.e., 1, 2). * @param {boolean} isLoop Whether this block is a loop. */ - startBranch (branchNum, isLoop) { + startBranch(branchNum, isLoop) { this.sequencer.stepToBranch(this.thread, branchNum, isLoop); } /** * Stop all threads. */ - stopAll () { + stopAll() { this.sequencer.runtime.stopAll(); } @@ -135,14 +136,14 @@ class BlockUtility { * Stop threads other on this target other than the thread holding the * executed block. */ - stopOtherTargetThreads () { + stopOtherTargetThreads() { this.sequencer.runtime.stopForTarget(this.thread.target, this.thread); } /** * Stop this thread. */ - stopThisScript () { + stopThisScript() { this.thread.stopThisScript(); } @@ -150,7 +151,7 @@ class BlockUtility { * Start a specified procedure on this thread. * @param {string} procedureCode Procedure code for procedure to start. */ - startProcedure (procedureCode) { + startProcedure(procedureCode) { this.sequencer.stepToProcedure(this.thread, procedureCode); } @@ -159,7 +160,7 @@ class BlockUtility { * @param {string} procedureCode Procedure code for procedure to query. * @return {Array.} List of param names for a procedure. */ - getProcedureParamNamesAndIds (procedureCode) { + getProcedureParamNamesAndIds(procedureCode) { return this.thread.target.blocks.getProcedureParamNamesAndIds(procedureCode); } @@ -168,14 +169,14 @@ class BlockUtility { * @param {string} procedureCode Procedure code for procedure to query. * @return {Array.} List of param names for a procedure. */ - getProcedureParamNamesIdsAndDefaults (procedureCode) { + getProcedureParamNamesIdsAndDefaults(procedureCode) { return this.thread.target.blocks.getProcedureParamNamesIdsAndDefaults(procedureCode); } /** * Initialize procedure parameters in the thread before pushing parameters. */ - initParams () { + initParams() { this.thread.initParams(); } @@ -184,7 +185,7 @@ class BlockUtility { * @param {string} paramName The procedure's parameter name. * @param {*} paramValue The procedure's parameter value. */ - pushParam (paramName, paramValue) { + pushParam(paramName, paramValue) { this.thread.pushParam(paramName, paramValue); } @@ -193,7 +194,7 @@ class BlockUtility { * @param {string} paramName The procedure's parameter name. * @return {*} The parameter's current stored value. */ - getParam (paramName) { + getParam(paramName) { return this.thread.getParam(paramName); } @@ -204,7 +205,7 @@ class BlockUtility { * @param {Target=} optTarget Optionally, a target to restrict to. * @return {Array.} List of threads started by this function. */ - startHats (requestedHat, optMatchFields, optTarget) { + startHats(requestedHat, optMatchFields, optTarget) { // Store thread and sequencer to ensure we can return to the calling block's context. // startHats may execute further blocks and dirty the BlockUtility's execution context // and confuse the calling block when we return to it. @@ -226,7 +227,7 @@ class BlockUtility { * @param {Array.<*>} args Arguments to pass to the device's function. * @return {*} The expected output for the device's function. */ - ioQuery (device, func, args) { + ioQuery(device, func, args) { // Find the I/O device and execute the query/function call. if ( this.sequencer.runtime.ioDevices[device] && diff --git a/packages/scratch-vm/src/engine/runtime.js b/packages/scratch-vm/src/engine/runtime.js index 834a7c219..ac22999b6 100644 --- a/packages/scratch-vm/src/engine/runtime.js +++ b/packages/scratch-vm/src/engine/runtime.js @@ -1,5 +1,5 @@ const EventEmitter = require('events'); -const {OrderedMap} = require('immutable'); +const { OrderedMap } = require('immutable'); const ArgumentType = require('../extension-support/argument-type'); const Blocks = require('./blocks'); @@ -175,7 +175,7 @@ let rendererDrawProfilerId = -1; * @constructor */ class Runtime extends EventEmitter { - constructor () { + constructor() { super(); /** @@ -398,7 +398,7 @@ class Runtime extends EventEmitter { * Width of the stage, in pixels. * @const {number} */ - static get STAGE_WIDTH () { + static get STAGE_WIDTH() { return 480; } @@ -406,7 +406,7 @@ class Runtime extends EventEmitter { * Height of the stage, in pixels. * @const {number} */ - static get STAGE_HEIGHT () { + static get STAGE_HEIGHT() { return 360; } @@ -414,7 +414,7 @@ class Runtime extends EventEmitter { * Event name for glowing a script. * @const {string} */ - static get SCRIPT_GLOW_ON () { + static get SCRIPT_GLOW_ON() { return 'SCRIPT_GLOW_ON'; } @@ -422,7 +422,7 @@ class Runtime extends EventEmitter { * Event name for unglowing a script. * @const {string} */ - static get SCRIPT_GLOW_OFF () { + static get SCRIPT_GLOW_OFF() { return 'SCRIPT_GLOW_OFF'; } @@ -430,7 +430,7 @@ class Runtime extends EventEmitter { * Event name for glowing a block. * @const {string} */ - static get BLOCK_GLOW_ON () { + static get BLOCK_GLOW_ON() { return 'BLOCK_GLOW_ON'; } @@ -438,7 +438,7 @@ class Runtime extends EventEmitter { * Event name for unglowing a block. * @const {string} */ - static get BLOCK_GLOW_OFF () { + static get BLOCK_GLOW_OFF() { return 'BLOCK_GLOW_OFF'; } @@ -447,7 +447,7 @@ class Runtime extends EventEmitter { * to this project. * @const {string} */ - static get HAS_CLOUD_DATA_UPDATE () { + static get HAS_CLOUD_DATA_UPDATE() { return 'HAS_CLOUD_DATA_UPDATE'; } @@ -455,7 +455,7 @@ class Runtime extends EventEmitter { * Event name for turning on turbo mode. * @const {string} */ - static get TURBO_MODE_ON () { + static get TURBO_MODE_ON() { return 'TURBO_MODE_ON'; } @@ -463,7 +463,7 @@ class Runtime extends EventEmitter { * Event name for turning off turbo mode. * @const {string} */ - static get TURBO_MODE_OFF () { + static get TURBO_MODE_OFF() { return 'TURBO_MODE_OFF'; } @@ -471,7 +471,7 @@ class Runtime extends EventEmitter { * Event name for turning on turbo mode. * @const {string} */ - static get RECORDING_ON () { + static get RECORDING_ON() { return 'RECORDING_ON'; } @@ -479,7 +479,7 @@ class Runtime extends EventEmitter { * Event name for turning off turbo mode. * @const {string} */ - static get RECORDING_OFF () { + static get RECORDING_OFF() { return 'RECORDING_OFF'; } @@ -488,7 +488,7 @@ class Runtime extends EventEmitter { * running). * @const {string} */ - static get PROJECT_START () { + static get PROJECT_START() { return 'PROJECT_START'; } @@ -497,7 +497,7 @@ class Runtime extends EventEmitter { * Used by the UI to indicate running status. * @const {string} */ - static get PROJECT_RUN_START () { + static get PROJECT_RUN_START() { return 'PROJECT_RUN_START'; } @@ -506,7 +506,7 @@ class Runtime extends EventEmitter { * Used by the UI to indicate not-running status. * @const {string} */ - static get PROJECT_RUN_STOP () { + static get PROJECT_RUN_STOP() { return 'PROJECT_RUN_STOP'; } @@ -515,7 +515,7 @@ class Runtime extends EventEmitter { * Used by blocks that need to reset state. * @const {string} */ - static get PROJECT_STOP_ALL () { + static get PROJECT_STOP_ALL() { return 'PROJECT_STOP_ALL'; } @@ -524,7 +524,7 @@ class Runtime extends EventEmitter { * Used by blocks that need to stop individual targets. * @const {string} */ - static get STOP_FOR_TARGET () { + static get STOP_FOR_TARGET() { return 'STOP_FOR_TARGET'; } @@ -532,7 +532,7 @@ class Runtime extends EventEmitter { * Event name for visual value report. * @const {string} */ - static get VISUAL_REPORT () { + static get VISUAL_REPORT() { return 'VISUAL_REPORT'; } @@ -540,7 +540,7 @@ class Runtime extends EventEmitter { * Event name for project loaded report. * @const {string} */ - static get PROJECT_LOADED () { + static get PROJECT_LOADED() { return 'PROJECT_LOADED'; } @@ -548,7 +548,7 @@ class Runtime extends EventEmitter { * Event name for report that a change was made that can be saved * @const {string} */ - static get PROJECT_CHANGED () { + static get PROJECT_CHANGED() { return 'PROJECT_CHANGED'; } @@ -556,7 +556,7 @@ class Runtime extends EventEmitter { * Event name for report that a change was made to an extension in the toolbox. * @const {string} */ - static get TOOLBOX_EXTENSIONS_NEED_UPDATE () { + static get TOOLBOX_EXTENSIONS_NEED_UPDATE() { return 'TOOLBOX_EXTENSIONS_NEED_UPDATE'; } @@ -564,7 +564,7 @@ class Runtime extends EventEmitter { * Event name for targets update report. * @const {string} */ - static get TARGETS_UPDATE () { + static get TARGETS_UPDATE() { return 'TARGETS_UPDATE'; } @@ -572,7 +572,7 @@ class Runtime extends EventEmitter { * Event name for monitors update. * @const {string} */ - static get MONITORS_UPDATE () { + static get MONITORS_UPDATE() { return 'MONITORS_UPDATE'; } @@ -580,7 +580,7 @@ class Runtime extends EventEmitter { * Event name for block drag update. * @const {string} */ - static get BLOCK_DRAG_UPDATE () { + static get BLOCK_DRAG_UPDATE() { return 'BLOCK_DRAG_UPDATE'; } @@ -588,7 +588,7 @@ class Runtime extends EventEmitter { * Event name for block drag end. * @const {string} */ - static get BLOCK_DRAG_END () { + static get BLOCK_DRAG_END() { return 'BLOCK_DRAG_END'; } @@ -596,7 +596,7 @@ class Runtime extends EventEmitter { * Event name for reporting that an extension was added. * @const {string} */ - static get EXTENSION_ADDED () { + static get EXTENSION_ADDED() { return 'EXTENSION_ADDED'; } @@ -604,7 +604,7 @@ class Runtime extends EventEmitter { * Event name for reporting that an extension as asked for a custom field to be added * @const {string} */ - static get EXTENSION_FIELD_ADDED () { + static get EXTENSION_FIELD_ADDED() { return 'EXTENSION_FIELD_ADDED'; } @@ -614,7 +614,7 @@ class Runtime extends EventEmitter { * available peripherals. * @const {string} */ - static get PERIPHERAL_LIST_UPDATE () { + static get PERIPHERAL_LIST_UPDATE() { return 'PERIPHERAL_LIST_UPDATE'; } @@ -623,7 +623,7 @@ class Runtime extends EventEmitter { * This causes the status button in the blocks menu to indicate 'connected'. * @const {string} */ - static get PERIPHERAL_CONNECTED () { + static get PERIPHERAL_CONNECTED() { return 'PERIPHERAL_CONNECTED'; } @@ -632,7 +632,7 @@ class Runtime extends EventEmitter { * This causes the status button in the blocks menu to indicate 'disconnected'. * @const {string} */ - static get PERIPHERAL_DISCONNECTED () { + static get PERIPHERAL_DISCONNECTED() { return 'PERIPHERAL_DISCONNECTED'; } @@ -641,7 +641,7 @@ class Runtime extends EventEmitter { * This causes the peripheral connection modal to switch to an error state. * @const {string} */ - static get PERIPHERAL_REQUEST_ERROR () { + static get PERIPHERAL_REQUEST_ERROR() { return 'PERIPHERAL_REQUEST_ERROR'; } @@ -650,7 +650,7 @@ class Runtime extends EventEmitter { * This causes a 'peripheral connection lost' error alert to display. * @const {string} */ - static get PERIPHERAL_CONNECTION_LOST_ERROR () { + static get PERIPHERAL_CONNECTION_LOST_ERROR() { return 'PERIPHERAL_CONNECTION_LOST_ERROR'; } @@ -659,7 +659,7 @@ class Runtime extends EventEmitter { * This causes the peripheral connection modal to show a timeout state. * @const {string} */ - static get PERIPHERAL_SCAN_TIMEOUT () { + static get PERIPHERAL_SCAN_TIMEOUT() { return 'PERIPHERAL_SCAN_TIMEOUT'; } @@ -667,7 +667,7 @@ class Runtime extends EventEmitter { * Event name to indicate that the microphone is being used to stream audio. * @const {string} */ - static get MIC_LISTENING () { + static get MIC_LISTENING() { return 'MIC_LISTENING'; } @@ -675,7 +675,7 @@ class Runtime extends EventEmitter { * Event name for reporting that blocksInfo was updated. * @const {string} */ - static get BLOCKSINFO_UPDATE () { + static get BLOCKSINFO_UPDATE() { return 'BLOCKSINFO_UPDATE'; } @@ -683,7 +683,7 @@ class Runtime extends EventEmitter { * Event name when the runtime tick loop has been started. * @const {string} */ - static get RUNTIME_STARTED () { + static get RUNTIME_STARTED() { return 'RUNTIME_STARTED'; } @@ -691,7 +691,7 @@ class Runtime extends EventEmitter { * Event name when the runtime dispose has been called. * @const {string} */ - static get RUNTIME_DISPOSED () { + static get RUNTIME_DISPOSED() { return 'RUNTIME_DISPOSED'; } @@ -699,21 +699,29 @@ class Runtime extends EventEmitter { * Event name for reporting that a block was updated and needs to be rerendered. * @const {string} */ - static get BLOCKS_NEED_UPDATE () { + static get BLOCKS_NEED_UPDATE() { return 'BLOCKS_NEED_UPDATE'; } + /** + * Event name for reporting that a block was updated and needs to be rerendered. + * @const {string} + */ + static get ADD_BLOCKS_TO_WORKSPACE() { + return 'ADD_BLOCKS_TO_WORKSPACE'; + } + /** * How rapidly we try to step threads by default, in ms. */ - static get THREAD_STEP_INTERVAL () { + static get THREAD_STEP_INTERVAL() { return 1000 / 60; } /** * In compatibility mode, how rapidly we try to step threads, in ms. */ - static get THREAD_STEP_INTERVAL_COMPATIBILITY () { + static get THREAD_STEP_INTERVAL_COMPATIBILITY() { return 1000 / 30; } @@ -721,7 +729,7 @@ class Runtime extends EventEmitter { * How many clones can be created at a time. * @const {number} */ - static get MAX_CLONES () { + static get MAX_CLONES() { return 300; } @@ -729,7 +737,7 @@ class Runtime extends EventEmitter { // ----------------------------------------------------------------------------- // Helper function for initializing the addCloudVariable function - _initializeAddCloudVariable (newCloudDataManager) { + _initializeAddCloudVariable(newCloudDataManager) { // The addCloudVariable function return (() => { const hadCloudVarsBefore = this.hasCloudData(); @@ -741,7 +749,7 @@ class Runtime extends EventEmitter { } // Helper function for initializing the removeCloudVariable function - _initializeRemoveCloudVariable (newCloudDataManager) { + _initializeRemoveCloudVariable(newCloudDataManager) { return (() => { const hadCloudVarsBefore = this.hasCloudData(); newCloudDataManager.removeCloudVariable(); @@ -756,7 +764,7 @@ class Runtime extends EventEmitter { * @todo Prefix opcodes with package name. * @private */ - _registerBlockPackages () { + _registerBlockPackages() { for (const packageName in defaultBlockPackages) { if (defaultBlockPackages.hasOwnProperty(packageName)) { // @todo pass a different runtime depending on package privilege? @@ -788,7 +796,7 @@ class Runtime extends EventEmitter { } } - getMonitorState () { + getMonitorState() { return this._monitorState; } @@ -799,7 +807,7 @@ class Runtime extends EventEmitter { * @returns {string} - the constructed ID. * @private */ - _makeExtensionMenuId (menuName, extensionId) { + _makeExtensionMenuId(menuName, extensionId) { return `${extensionId}_menu_${xmlEscape(menuName)}`; } @@ -808,7 +816,7 @@ class Runtime extends EventEmitter { * @param {Target} [target] - the target to use as context. If a target is not provided, default to the current * editing target or the stage. */ - makeMessageContextForTarget (target) { + makeMessageContextForTarget(target) { const context = {}; target = target || this.getEditingTarget() || this.getTargetForStage(); if (target) { @@ -821,7 +829,7 @@ class Runtime extends EventEmitter { * @param {ExtensionMetadata} extensionInfo - information about the extension (id, blocks, etc.) * @private */ - _registerExtensionPrimitives (extensionInfo) { + _registerExtensionPrimitives(extensionInfo) { const categoryInfo = { id: extensionInfo.id, name: maybeFormatMessage(extensionInfo.name), @@ -864,7 +872,7 @@ class Runtime extends EventEmitter { * @param {ExtensionMetadata} extensionInfo - new info (results of running getInfo) for an extension * @private */ - _refreshExtensionPrimitives (extensionInfo) { + _refreshExtensionPrimitives(extensionInfo) { const categoryInfo = this._blockInfo.find(info => info.id === extensionInfo.id); if (categoryInfo) { categoryInfo.name = maybeFormatMessage(extensionInfo.name); @@ -881,7 +889,7 @@ class Runtime extends EventEmitter { * @param {ExtensionMetadata} extensionInfo - the extension metadata to read * @private */ - _fillExtensionCategory (categoryInfo, extensionInfo) { + _fillExtensionCategory(categoryInfo, extensionInfo) { categoryInfo.blocks = []; categoryInfo.customFieldTypes = {}; categoryInfo.menus = []; @@ -926,7 +934,7 @@ class Runtime extends EventEmitter { } } } catch (e) { - log.error('Error parsing block: ', {block: blockInfo, error: e}); + log.error('Error parsing block: ', { block: blockInfo, error: e }); } } } @@ -938,18 +946,18 @@ class Runtime extends EventEmitter { * @returns {object} - an array of 2 element arrays or the original input function * @private */ - _convertMenuItems (menuItems) { + _convertMenuItems(menuItems) { if (typeof menuItems !== 'function') { const extensionMessageContext = this.makeMessageContextForTarget(); return menuItems.map(item => { const formattedItem = maybeFormatMessage(item, extensionMessageContext); switch (typeof formattedItem) { - case 'string': - return [formattedItem, formattedItem]; - case 'object': - return [maybeFormatMessage(item.text, extensionMessageContext), item.value]; - default: - throw new Error(`Can't interpret menu item: ${JSON.stringify(item)}`); + case 'string': + return [formattedItem, formattedItem]; + case 'object': + return [maybeFormatMessage(item.text, extensionMessageContext), item.value]; + default: + throw new Error(`Can't interpret menu item: ${JSON.stringify(item)}`); } }); } @@ -966,7 +974,7 @@ class Runtime extends EventEmitter { * @returns {object} - a JSON-esque object ready for scratch-blocks' consumption * @private */ - _buildMenuForScratchBlocks (menuName, menuInfo, categoryInfo) { + _buildMenuForScratchBlocks(menuName, menuInfo, categoryInfo) { const menuId = this._makeExtensionMenuId(menuName, categoryInfo.id); const menuItems = this._convertMenuItems(menuInfo.items); return { @@ -991,7 +999,7 @@ class Runtime extends EventEmitter { }; } - _buildCustomFieldInfo (fieldName, fieldInfo, extensionId, categoryInfo) { + _buildCustomFieldInfo(fieldName, fieldInfo, extensionId, categoryInfo) { const extendedName = `${extensionId}_${fieldName}`; return { fieldName: fieldName, @@ -1021,7 +1029,7 @@ class Runtime extends EventEmitter { * @param {object} categoryInfo - The category the field belongs to (Used to set its colors) * @returns {object} - Object to be inserted into scratch-blocks */ - _buildCustomFieldTypeForScratchBlocks (fieldName, output, outputShape, categoryInfo) { + _buildCustomFieldTypeForScratchBlocks(fieldName, output, outputShape, categoryInfo) { return { json: { type: fieldName, @@ -1049,7 +1057,7 @@ class Runtime extends EventEmitter { * @returns {ConvertedBlockInfo} - the converted & original block information * @private */ - _convertForScratchBlocks (blockInfo, categoryInfo) { + _convertForScratchBlocks(blockInfo, categoryInfo) { if (blockInfo === '---') { return this._convertSeparatorForScratchBlocks(blockInfo); } @@ -1068,7 +1076,7 @@ class Runtime extends EventEmitter { * @returns {ConvertedBlockInfo} - the converted & original block information * @private */ - _convertBlockForScratchBlocks (blockInfo, categoryInfo) { + _convertBlockForScratchBlocks(blockInfo, categoryInfo) { const extendedOpcode = `${categoryInfo.id}_${blockInfo.opcode}`; const blockJSON = { @@ -1115,39 +1123,39 @@ class Runtime extends EventEmitter { } switch (blockInfo.blockType) { - case BlockType.COMMAND: - blockJSON.outputShape = ScratchBlocksConstants.OUTPUT_SHAPE_SQUARE; - blockJSON.previousStatement = null; // null = available connection; undefined = hat - if (!blockInfo.isTerminal) { - blockJSON.nextStatement = null; // null = available connection; undefined = terminal - } - break; - case BlockType.REPORTER: - blockJSON.output = 'String'; // TODO: distinguish number & string here? - blockJSON.outputShape = ScratchBlocksConstants.OUTPUT_SHAPE_ROUND; - break; - case BlockType.BOOLEAN: - blockJSON.output = 'Boolean'; - blockJSON.outputShape = ScratchBlocksConstants.OUTPUT_SHAPE_HEXAGONAL; - break; - case BlockType.HAT: - case BlockType.EVENT: - if (!blockInfo.hasOwnProperty('isEdgeActivated')) { - // if absent, this property defaults to true - blockInfo.isEdgeActivated = true; - } - blockJSON.outputShape = ScratchBlocksConstants.OUTPUT_SHAPE_SQUARE; - blockJSON.nextStatement = null; // null = available connection; undefined = terminal - break; - case BlockType.CONDITIONAL: - case BlockType.LOOP: - blockInfo.branchCount = blockInfo.branchCount || 1; - blockJSON.outputShape = ScratchBlocksConstants.OUTPUT_SHAPE_SQUARE; - blockJSON.previousStatement = null; // null = available connection; undefined = hat - if (!blockInfo.isTerminal) { + case BlockType.COMMAND: + blockJSON.outputShape = ScratchBlocksConstants.OUTPUT_SHAPE_SQUARE; + blockJSON.previousStatement = null; // null = available connection; undefined = hat + if (!blockInfo.isTerminal) { + blockJSON.nextStatement = null; // null = available connection; undefined = terminal + } + break; + case BlockType.REPORTER: + blockJSON.output = 'String'; // TODO: distinguish number & string here? + blockJSON.outputShape = ScratchBlocksConstants.OUTPUT_SHAPE_ROUND; + break; + case BlockType.BOOLEAN: + blockJSON.output = 'Boolean'; + blockJSON.outputShape = ScratchBlocksConstants.OUTPUT_SHAPE_HEXAGONAL; + break; + case BlockType.HAT: + case BlockType.EVENT: + if (!blockInfo.hasOwnProperty('isEdgeActivated')) { + // if absent, this property defaults to true + blockInfo.isEdgeActivated = true; + } + blockJSON.outputShape = ScratchBlocksConstants.OUTPUT_SHAPE_SQUARE; blockJSON.nextStatement = null; // null = available connection; undefined = terminal - } - break; + break; + case BlockType.CONDITIONAL: + case BlockType.LOOP: + blockInfo.branchCount = blockInfo.branchCount || 1; + blockJSON.outputShape = ScratchBlocksConstants.OUTPUT_SHAPE_SQUARE; + blockJSON.previousStatement = null; // null = available connection; undefined = hat + if (!blockInfo.isTerminal) { + blockJSON.nextStatement = null; // null = available connection; undefined = terminal + } + break; } const blockText = Array.isArray(blockInfo.text) ? blockInfo.text : [blockInfo.text]; @@ -1219,7 +1227,7 @@ class Runtime extends EventEmitter { * @returns {ConvertedBlockInfo} - the converted & original block information * @private */ - _convertSeparatorForScratchBlocks (blockInfo) { + _convertSeparatorForScratchBlocks(blockInfo) { return { info: blockInfo, xml: '' @@ -1234,7 +1242,7 @@ class Runtime extends EventEmitter { * @returns {ConvertedBlockInfo} - the converted & original button information * @private */ - _convertButtonForScratchBlocks (buttonInfo) { + _convertButtonForScratchBlocks(buttonInfo) { // for now we only support these pre-defined callbacks handled in scratch-blocks const supportedCallbackKeys = ['MAKE_A_LIST', 'MAKE_A_PROCEDURE', 'MAKE_A_VARIABLE']; if (supportedCallbackKeys.indexOf(buttonInfo.func) < 0) { @@ -1255,7 +1263,7 @@ class Runtime extends EventEmitter { * @return {object} JSON blob for a scratch-blocks image field. * @private */ - _constructInlineImageJson (argInfo) { + _constructInlineImageJson(argInfo) { if (!argInfo.dataURI) { log.warn('Missing data URI in extension block with argument type IMAGE'); } @@ -1281,7 +1289,7 @@ class Runtime extends EventEmitter { * @return {string} scratch-blocks placeholder for the argument: '%1'. * @private */ - _convertPlaceholders (context, match, placeholder) { + _convertPlaceholders(context, match, placeholder) { // Sanitize the placeholder to ensure valid XML placeholder = placeholder.replace(/[<"&]/, '_'); @@ -1384,9 +1392,9 @@ class Runtime extends EventEmitter { * @property {string} id - the category / extension ID * @property {string} xml - the XML text for this category, starting with `` and ending with `` */ - getBlocksXML () { + getBlocksXML() { return this._blockInfo.map(categoryInfo => { - const {name, color1, color2} = categoryInfo; + const { name, color1, color2 } = categoryInfo; const paletteBlocks = categoryInfo.blocks.filter(block => !block.info.hideFromPalette); const colorXML = `colour="${color1}" secondaryColour="${color2}"`; @@ -1408,8 +1416,7 @@ class Runtime extends EventEmitter { return { id: categoryInfo.id, - xml: `${ - paletteBlocks.map(block => block.xml).join('')}` + xml: `${paletteBlocks.map(block => block.xml).join('')}` }; }); } @@ -1417,7 +1424,7 @@ class Runtime extends EventEmitter { /** * @returns {Array.} - an array containing the scratch-blocks JSON information for each dynamic block. */ - getBlocksJSON () { + getBlocksJSON() { return this._blockInfo.reduce( (result, categoryInfo) => result.concat(categoryInfo.blocks.map(blockInfo => blockInfo.json)), []); } @@ -1427,7 +1434,7 @@ class Runtime extends EventEmitter { * @param {string} type Either BLE or BT * @returns {ScratchLinkSocket} The scratch link socket. */ - getScratchLinkSocket (type) { + getScratchLinkSocket(type) { const factory = this._linkSocketFactory || this._defaultScratchLinkSocketFactory; return factory(type); } @@ -1437,7 +1444,7 @@ class Runtime extends EventEmitter { * either BT or BLE. * @param {Function} factory The new factory for creating ScratchLink sockets. */ - configureScratchLinkSocketFactory (factory) { + configureScratchLinkSocketFactory(factory) { this._linkSocketFactory = factory; } @@ -1446,7 +1453,7 @@ class Runtime extends EventEmitter { * @param {string} type Either BLE or BT * @returns {ScratchLinkSocket} The new scratch link socket (a WebSocket object) */ - _defaultScratchLinkSocketFactory (type) { + _defaultScratchLinkSocketFactory(type) { return new ScratchLinkWebSocket(type); } @@ -1456,7 +1463,7 @@ class Runtime extends EventEmitter { * @param {string} extensionId - the id of the extension. * @param {object} extension - the extension to register. */ - registerPeripheralExtension (extensionId, extension) { + registerPeripheralExtension(extensionId, extension) { this.peripheralExtensions[extensionId] = extension; } @@ -1464,7 +1471,7 @@ class Runtime extends EventEmitter { * Tell the specified extension to scan for a peripheral. * @param {string} extensionId - the id of the extension. */ - scanForPeripheral (extensionId) { + scanForPeripheral(extensionId) { if (this.peripheralExtensions[extensionId]) { this.peripheralExtensions[extensionId].scan(); } @@ -1475,7 +1482,7 @@ class Runtime extends EventEmitter { * @param {string} extensionId - the id of the extension. * @param {number} peripheralId - the id of the peripheral. */ - connectPeripheral (extensionId, peripheralId) { + connectPeripheral(extensionId, peripheralId) { if (this.peripheralExtensions[extensionId]) { this.peripheralExtensions[extensionId].connect(peripheralId); } @@ -1485,7 +1492,7 @@ class Runtime extends EventEmitter { * Disconnect from the extension's connected peripheral. * @param {string} extensionId - the id of the extension. */ - disconnectPeripheral (extensionId) { + disconnectPeripheral(extensionId) { if (this.peripheralExtensions[extensionId]) { this.peripheralExtensions[extensionId].disconnect(); } @@ -1496,7 +1503,7 @@ class Runtime extends EventEmitter { * @param {string} extensionId - the id of the extension. * @return {boolean} - whether the extension has a connected peripheral. */ - getPeripheralIsConnected (extensionId) { + getPeripheralIsConnected(extensionId) { let isConnected = false; if (this.peripheralExtensions[extensionId]) { isConnected = this.peripheralExtensions[extensionId].isConnected(); @@ -1508,7 +1515,7 @@ class Runtime extends EventEmitter { * Emit an event to indicate that the microphone is being used to stream audio. * @param {boolean} listening - true if the microphone is currently listening. */ - emitMicListening (listening) { + emitMicListening(listening) { this.emit(Runtime.MIC_LISTENING, listening); } @@ -1517,7 +1524,7 @@ class Runtime extends EventEmitter { * @param {!string} opcode The opcode to look up. * @return {Function} The function which implements the opcode. */ - getOpcodeFunction (opcode) { + getOpcodeFunction(opcode) { return this._primitives[opcode]; } @@ -1526,7 +1533,7 @@ class Runtime extends EventEmitter { * @param {!string} opcode The opcode to look up. * @return {boolean} True if the op is known to be a hat. */ - getIsHat (opcode) { + getIsHat(opcode) { return this._hats.hasOwnProperty(opcode); } @@ -1535,7 +1542,7 @@ class Runtime extends EventEmitter { * @param {!string} opcode The opcode to look up. * @return {boolean} True if the op is known to be a edge-activated hat. */ - getIsEdgeActivatedHat (opcode) { + getIsEdgeActivatedHat(opcode) { return this._hats.hasOwnProperty(opcode) && this._hats[opcode].edgeActivated; } @@ -1545,7 +1552,7 @@ class Runtime extends EventEmitter { * Attach the audio engine * @param {!AudioEngine} audioEngine The audio engine to attach */ - attachAudioEngine (audioEngine) { + attachAudioEngine(audioEngine) { this.audioEngine = audioEngine; } @@ -1553,7 +1560,7 @@ class Runtime extends EventEmitter { * Attach the renderer * @param {!RenderWebGL} renderer The renderer to attach */ - attachRenderer (renderer) { + attachRenderer(renderer) { this.renderer = renderer; this.renderer.setLayerGroupOrdering(StageLayering.LAYER_GROUPS); } @@ -1562,7 +1569,7 @@ class Runtime extends EventEmitter { * Set the svg adapter, which converts scratch 2 svgs to scratch 3 svgs * @param {!SvgRenderer} svgAdapter The adapter to attach */ - attachV2SVGAdapter (svgAdapter) { + attachV2SVGAdapter(svgAdapter) { this.v2SvgAdapter = svgAdapter; } @@ -1571,7 +1578,7 @@ class Runtime extends EventEmitter { * bitmaps to scratch 3 bitmaps. (Scratch 3 bitmaps are all bitmap resolution 2) * @param {!function} bitmapAdapter The adapter to attach */ - attachV2BitmapAdapter (bitmapAdapter) { + attachV2BitmapAdapter(bitmapAdapter) { this.v2BitmapAdapter = bitmapAdapter; } @@ -1579,7 +1586,7 @@ class Runtime extends EventEmitter { * Attach the storage module * @param {!ScratchStorage} storage The storage module to attach */ - attachStorage (storage) { + attachStorage(storage) { this.storage = storage; } @@ -1595,7 +1602,7 @@ class Runtime extends EventEmitter { * @param {?boolean} opts.updateMonitor true if the script should update a monitor value * @return {!Thread} The newly created thread. */ - _pushThread (id, target, opts) { + _pushThread(id, target, opts) { const thread = new Thread(id); thread.target = target; thread.stackClick = Boolean(opts && opts.stackClick); @@ -1613,7 +1620,7 @@ class Runtime extends EventEmitter { * Stop a thread: stop running it immediately, and remove it from the thread list later. * @param {!Thread} thread Thread object to remove from actives */ - _stopThread (thread) { + _stopThread(thread) { // Mark the thread for later removal thread.isKilled = true; // Inform sequencer to stop executing that thread. @@ -1627,7 +1634,7 @@ class Runtime extends EventEmitter { * @param {!Thread} thread Thread object to restart. * @return {Thread} The restarted thread. */ - _restartThread (thread) { + _restartThread(thread) { const newThread = new Thread(thread.topBlock); newThread.target = thread.target; newThread.stackClick = thread.stackClick; @@ -1648,7 +1655,7 @@ class Runtime extends EventEmitter { * @param {?Thread} thread Thread object to check. * @return {boolean} True if the thread is active/running. */ - isActiveThread (thread) { + isActiveThread(thread) { return ( ( thread.stack.length > 0 && @@ -1661,7 +1668,7 @@ class Runtime extends EventEmitter { * @param {?Thread} thread Thread object to check. * @return {boolean} True if the thread is waiting */ - isWaitingThread (thread) { + isWaitingThread(thread) { return ( thread.status === Thread.STATUS_PROMISE_WAIT || thread.status === Thread.STATUS_YIELD_TICK || @@ -1677,7 +1684,7 @@ class Runtime extends EventEmitter { * @param {?boolean} opts.stackClick true if the user activated the stack by clicking, false if not. This * determines whether we show a visual report when turning on the script. */ - toggleScript (topBlockId, opts) { + toggleScript(topBlockId, opts) { opts = Object.assign({ target: this._editingTarget, stackClick: false @@ -1707,17 +1714,17 @@ class Runtime extends EventEmitter { * @param {!string} topBlockId ID of block that starts the script. * @param {?Target} optTarget target Target to run script on. If not supplied, uses editing target. */ - addMonitorScript (topBlockId, optTarget) { + addMonitorScript(topBlockId, optTarget) { if (!optTarget) optTarget = this._editingTarget; for (let i = 0; i < this.threads.length; i++) { // Don't re-add the script if it's already running if (this.threads[i].topBlock === topBlockId && this.threads[i].status !== Thread.STATUS_DONE && - this.threads[i].updateMonitor) { + this.threads[i].updateMonitor) { return; } } // Otherwise add it. - this._pushThread(topBlockId, optTarget, {updateMonitor: true}); + this._pushThread(topBlockId, optTarget, { updateMonitor: true }); } /** @@ -1728,7 +1735,7 @@ class Runtime extends EventEmitter { * @param {!Function} f Function to call for each script. * @param {Target=} optTarget Optionally, a target to restrict to. */ - allScriptsDo (f, optTarget) { + allScriptsDo(f, optTarget) { let targets = this.executableTargets; if (optTarget) { targets = [optTarget]; @@ -1743,7 +1750,7 @@ class Runtime extends EventEmitter { } } - allScriptsByOpcodeDo (opcode, f, optTarget) { + allScriptsByOpcodeDo(opcode, f, optTarget) { let targets = this.executableTargets; if (optTarget) { targets = [optTarget]; @@ -1764,7 +1771,7 @@ class Runtime extends EventEmitter { * @param {Target=} optTarget Optionally, a target to restrict to. * @return {Array.} List of threads started by this function. */ - startHats (requestedHatOpcode, + startHats(requestedHatOpcode, optMatchFields, optTarget) { if (!this._hats.hasOwnProperty(requestedHatOpcode)) { // No known hat with this opcode. @@ -1841,7 +1848,7 @@ class Runtime extends EventEmitter { /** * Dispose all targets. Return to clean state. */ - dispose () { + dispose() { this.stopAll(); // Deleting each target's variable's monitors. this.targets.forEach(target => { @@ -1878,7 +1885,7 @@ class Runtime extends EventEmitter { * into the correct execution order after calling this function. * @param {Target} target target to add */ - addTarget (target) { + addTarget(target) { this.targets.push(target); this.executableTargets.push(target); } @@ -1893,7 +1900,7 @@ class Runtime extends EventEmitter { * @param {number} delta number of positions to move target by * @returns {number} new position in execution order */ - moveExecutable (executableTarget, delta) { + moveExecutable(executableTarget, delta) { const oldIndex = this.executableTargets.indexOf(executableTarget); this.executableTargets.splice(oldIndex, 1); let newIndex = oldIndex + delta; @@ -1921,7 +1928,7 @@ class Runtime extends EventEmitter { * @param {number} newIndex position in execution order to place the target * @returns {number} new position in the execution order */ - setExecutablePosition (executableTarget, newIndex) { + setExecutablePosition(executableTarget, newIndex) { const oldIndex = this.executableTargets.indexOf(executableTarget); return this.moveExecutable(executableTarget, newIndex - oldIndex); } @@ -1930,7 +1937,7 @@ class Runtime extends EventEmitter { * Remove a target from the execution set. * @param {Target} executableTarget target to remove */ - removeExecutable (executableTarget) { + removeExecutable(executableTarget) { const oldIndex = this.executableTargets.indexOf(executableTarget); if (oldIndex > -1) { this.executableTargets.splice(oldIndex, 1); @@ -1941,7 +1948,7 @@ class Runtime extends EventEmitter { * Dispose of a target. * @param {!Target} disposingTarget Target to dispose of. */ - disposeTarget (disposingTarget) { + disposeTarget(disposingTarget) { this.targets = this.targets.filter(target => { if (disposingTarget !== target) return true; // Allow target to do dispose actions. @@ -1956,7 +1963,7 @@ class Runtime extends EventEmitter { * @param {!Target} target Target to stop threads for. * @param {Thread=} optThreadException Optional thread to skip. */ - stopForTarget (target, optThreadException) { + stopForTarget(target, optThreadException) { // Emit stop event to allow blocks to clean up any state. this.emit(Runtime.STOP_FOR_TARGET, target, optThreadException); @@ -1974,7 +1981,7 @@ class Runtime extends EventEmitter { /** * Start all threads that start with the green flag. */ - greenFlag () { + greenFlag() { this.stopAll(); this.emit(Runtime.PROJECT_START); this.ioDevices.clock.resetProjectTimer(); @@ -1989,7 +1996,7 @@ class Runtime extends EventEmitter { /** * Stop "everything." */ - stopAll () { + stopAll() { // Emit stop event to allow blocks to clean up any state. this.emit(Runtime.PROJECT_STOP_ALL); @@ -2017,7 +2024,7 @@ class Runtime extends EventEmitter { * Repeatedly run `sequencer.stepThreads` and filter out * inactive threads after each iteration. */ - _step () { + _step() { if (this.profiler !== null) { if (stepProfilerId === -1) { stepProfilerId = this.profiler.idByName('Runtime._step'); @@ -2053,7 +2060,7 @@ class Runtime extends EventEmitter { // flag will still indicate that a script ran. this._emitProjectRunStatus( this.threads.length + doneThreads.length - - this._getMonitorThreadCount([...this.threads, ...doneThreads])); + this._getMonitorThreadCount([...this.threads, ...doneThreads])); // Store threads that completed this iteration for testing and other // internal purposes. this._lastStepDoneThreads = doneThreads; @@ -2093,7 +2100,7 @@ class Runtime extends EventEmitter { * @param {!Array.} threads The set of threads to look through. * @return {number} The number of monitor threads in threads. */ - _getMonitorThreadCount (threads) { + _getMonitorThreadCount(threads) { let count = 0; threads.forEach(thread => { if (thread.updateMonitor) count++; @@ -2104,7 +2111,7 @@ class Runtime extends EventEmitter { /** * Queue monitor blocks to sequencer to be run. */ - _pushMonitors () { + _pushMonitors() { this.monitorBlocks.runAllMonitored(this); } @@ -2112,7 +2119,7 @@ class Runtime extends EventEmitter { * Set the current editing target known by the runtime. * @param {!Target} editingTarget New editing target. */ - setEditingTarget (editingTarget) { + setEditingTarget(editingTarget) { const oldEditingTarget = this._editingTarget; this._editingTarget = editingTarget; // Script glows must be cleared. @@ -2128,7 +2135,7 @@ class Runtime extends EventEmitter { * Set whether we are in 30 TPS compatibility mode. * @param {boolean} compatibilityModeOn True iff in compatibility mode. */ - setCompatibilityMode (compatibilityModeOn) { + setCompatibilityMode(compatibilityModeOn) { this.compatibilityMode = compatibilityModeOn; if (this._steppingInterval) { clearInterval(this._steppingInterval); @@ -2142,7 +2149,7 @@ class Runtime extends EventEmitter { * Looks at `this.threads` and notices which have turned on/off new glows. * @param {Array.=} optExtraThreads Optional list of inactive threads. */ - _updateGlows (optExtraThreads) { + _updateGlows(optExtraThreads) { const searchThreads = []; searchThreads.push.apply(searchThreads, this.threads); if (optExtraThreads) { @@ -2200,7 +2207,7 @@ class Runtime extends EventEmitter { * * @param {number} nonMonitorThreadCount The new nonMonitorThreadCount */ - _emitProjectRunStatus (nonMonitorThreadCount) { + _emitProjectRunStatus(nonMonitorThreadCount) { if (this._nonMonitorThreadCount === 0 && nonMonitorThreadCount > 0) { this.emit(Runtime.PROJECT_RUN_START); } @@ -2216,7 +2223,7 @@ class Runtime extends EventEmitter { * still be tracking glow data about it. * @param {!string} scriptBlockId Id of top-level block in script to quiet. */ - quietGlow (scriptBlockId) { + quietGlow(scriptBlockId) { const index = this._scriptGlowsPreviousFrame.indexOf(scriptBlockId); if (index > -1) { this._scriptGlowsPreviousFrame.splice(index, 1); @@ -2228,11 +2235,11 @@ class Runtime extends EventEmitter { * @param {?string} blockId ID for the block to update glow * @param {boolean} isGlowing True to turn on glow; false to turn off. */ - glowBlock (blockId, isGlowing) { + glowBlock(blockId, isGlowing) { if (isGlowing) { - this.emit(Runtime.BLOCK_GLOW_ON, {id: blockId}); + this.emit(Runtime.BLOCK_GLOW_ON, { id: blockId }); } else { - this.emit(Runtime.BLOCK_GLOW_OFF, {id: blockId}); + this.emit(Runtime.BLOCK_GLOW_OFF, { id: blockId }); } } @@ -2241,11 +2248,11 @@ class Runtime extends EventEmitter { * @param {?string} topBlockId ID for the top block to update glow * @param {boolean} isGlowing True to turn on glow; false to turn off. */ - glowScript (topBlockId, isGlowing) { + glowScript(topBlockId, isGlowing) { if (isGlowing) { - this.emit(Runtime.SCRIPT_GLOW_ON, {id: topBlockId}); + this.emit(Runtime.SCRIPT_GLOW_ON, { id: topBlockId }); } else { - this.emit(Runtime.SCRIPT_GLOW_OFF, {id: topBlockId}); + this.emit(Runtime.SCRIPT_GLOW_OFF, { id: topBlockId }); } } @@ -2253,7 +2260,7 @@ class Runtime extends EventEmitter { * Emit whether blocks are being dragged over gui * @param {boolean} areBlocksOverGui True if blocks are dragged out of blocks workspace, false otherwise */ - emitBlockDragUpdate (areBlocksOverGui) { + emitBlockDragUpdate(areBlocksOverGui) { this.emit(Runtime.BLOCK_DRAG_UPDATE, areBlocksOverGui); } @@ -2262,7 +2269,7 @@ class Runtime extends EventEmitter { * @param {Array.} blocks The set of blocks dragged to the GUI * @param {string} topBlockId The original id of the top block being dragged */ - emitBlockEndDrag (blocks, topBlockId) { + emitBlockEndDrag(blocks, topBlockId) { this.emit(Runtime.BLOCK_DRAG_END, blocks, topBlockId); } @@ -2271,8 +2278,8 @@ class Runtime extends EventEmitter { * @param {string} blockId ID for the block. * @param {string} value Value to show associated with the block. */ - visualReport (blockId, value) { - this.emit(Runtime.VISUAL_REPORT, {id: blockId, value: String(value)}); + visualReport(blockId, value) { + this.emit(Runtime.VISUAL_REPORT, { id: blockId, value: String(value) }); } /** @@ -2280,7 +2287,7 @@ class Runtime extends EventEmitter { * updates those properties that are defined in the given monitor record. * @param {!MonitorRecord} monitor Monitor to add. */ - requestAddMonitor (monitor) { + requestAddMonitor(monitor) { const id = monitor.get('id'); if (!this.requestUpdateMonitor(monitor)) { // update monitor if it exists in the state // if the monitor did not exist in the state, add it @@ -2295,7 +2302,7 @@ class Runtime extends EventEmitter { * the old monitor will keep its old value. * @return {boolean} true if monitor exists in the state and was updated, false if it did not exist. */ - requestUpdateMonitor (monitor) { + requestUpdateMonitor(monitor) { const id = monitor.get('id'); if (this._monitorState.has(id)) { this._monitorState = @@ -2316,7 +2323,7 @@ class Runtime extends EventEmitter { * not exist in the state. * @param {!string} monitorId ID of the monitor to remove. */ - requestRemoveMonitor (monitorId) { + requestRemoveMonitor(monitorId) { this._monitorState = this._monitorState.delete(monitorId); } @@ -2325,7 +2332,7 @@ class Runtime extends EventEmitter { * @param {!string} monitorId ID of the monitor to hide. * @return {boolean} true if monitor exists and was updated, false otherwise */ - requestHideMonitor (monitorId) { + requestHideMonitor(monitorId) { return this.requestUpdateMonitor(new Map([ ['id', monitorId], ['visible', false] @@ -2338,7 +2345,7 @@ class Runtime extends EventEmitter { * @param {!string} monitorId ID of the monitor to show. * @return {boolean} true if monitor exists and was updated, false otherwise */ - requestShowMonitor (monitorId) { + requestShowMonitor(monitorId) { return this.requestUpdateMonitor(new Map([ ['id', monitorId], ['visible', true] @@ -2350,7 +2357,7 @@ class Runtime extends EventEmitter { * the monitor already does not exist in the state. * @param {!string} targetId Remove all monitors with given target ID. */ - requestRemoveMonitorByTargetId (targetId) { + requestRemoveMonitorByTargetId(targetId) { this._monitorState = this._monitorState.filterNot(value => value.targetId === targetId); } @@ -2359,7 +2366,7 @@ class Runtime extends EventEmitter { * @param {string} targetId Id of target to find. * @return {?Target} The target, if found. */ - getTargetById (targetId) { + getTargetById(targetId) { for (let i = 0; i < this.targets.length; i++) { const target = this.targets[i]; if (target.id === targetId) { @@ -2373,7 +2380,7 @@ class Runtime extends EventEmitter { * @param {string} spriteName Name of sprite to look for. * @return {?Target} Target representing a sprite of the given name. */ - getSpriteTargetByName (spriteName) { + getSpriteTargetByName(spriteName) { for (let i = 0; i < this.targets.length; i++) { const target = this.targets[i]; if (target.isStage) { @@ -2390,7 +2397,7 @@ class Runtime extends EventEmitter { * @param {number} drawableID drawable id of target to find * @return {?Target} The target, if found */ - getTargetByDrawableId (drawableID) { + getTargetByDrawableId(drawableID) { for (let i = 0; i < this.targets.length; i++) { const target = this.targets[i]; if (target.drawableID === drawableID) return target; @@ -2401,7 +2408,7 @@ class Runtime extends EventEmitter { * Update the clone counter to track how many clones are created. * @param {number} changeAmount How many clones have been created/destroyed. */ - changeCloneCounter (changeAmount) { + changeCloneCounter(changeAmount) { this._cloneCounter += changeAmount; } @@ -2409,21 +2416,21 @@ class Runtime extends EventEmitter { * Return whether there are clones available. * @return {boolean} True until the number of clones hits Runtime.MAX_CLONES. */ - clonesAvailable () { + clonesAvailable() { return this._cloneCounter < Runtime.MAX_CLONES; } /** * Report that the project has loaded in the Virtual Machine. */ - emitProjectLoaded () { + emitProjectLoaded() { this.emit(Runtime.PROJECT_LOADED); } /** * Report that the project has changed in a way that would affect serialization */ - emitProjectChanged () { + emitProjectChanged() { this.emit(Runtime.PROJECT_CHANGED); } @@ -2433,7 +2440,7 @@ class Runtime extends EventEmitter { * @param {Target} [sourceTarget] - the target used as a source for the new clone, if any. * @fires Runtime#targetWasCreated */ - fireTargetWasCreated (newTarget, sourceTarget) { + fireTargetWasCreated(newTarget, sourceTarget) { this.emit('targetWasCreated', newTarget, sourceTarget); } @@ -2442,7 +2449,7 @@ class Runtime extends EventEmitter { * @param {Target} target - the target being removed * @fires Runtime#targetWasRemoved */ - fireTargetWasRemoved (target) { + fireTargetWasRemoved(target) { this.emit('targetWasRemoved', target); } @@ -2450,7 +2457,7 @@ class Runtime extends EventEmitter { * Get a target representing the Scratch stage, if one exists. * @return {?Target} The target, if found. */ - getTargetForStage () { + getTargetForStage() { for (let i = 0; i < this.targets.length; i++) { const target = this.targets[i]; if (target.isStage) { @@ -2463,11 +2470,11 @@ class Runtime extends EventEmitter { * Get the editing target. * @return {?Target} The editing target. */ - getEditingTarget () { + getEditingTarget() { return this._editingTarget; } - getAllVarNamesOfType (varType) { + getAllVarNamesOfType(varType) { let varNames = []; for (const target of this.targets) { const targetVarNames = target.getAllVariableNamesInScopeByType(varType, true); @@ -2484,7 +2491,7 @@ class Runtime extends EventEmitter { * @property {Function} [labelFn] - function to generate the label for this opcode * @property {string} [label] - the label for this opcode if `labelFn` is absent */ - getLabelForOpcode (extendedOpcode) { + getLabelForOpcode(extendedOpcode) { const [category, opcode] = StringUtil.splitFirst(extendedOpcode, '_'); if (!(category && opcode)) return; @@ -2510,7 +2517,7 @@ class Runtime extends EventEmitter { * @param {string} optVarType The type of the variable to create. Defaults to Variable.SCALAR_TYPE. * @return {Variable} The new variable that was created. */ - createNewGlobalVariable (variableName, optVarId, optVarType) { + createNewGlobalVariable(variableName, optVarId, optVarType) { const varType = (typeof optVarType === 'string') ? optVarType : Variable.SCALAR_TYPE; const allVariableNames = this.getAllVarNamesOfType(varType); const newName = StringUtil.unusedName(variableName, allVariableNames); @@ -2524,7 +2531,7 @@ class Runtime extends EventEmitter { * Tell the runtime to request a redraw. * Use after a clone/sprite has completed some visible operation on the stage. */ - requestRedraw () { + requestRedraw() { this.redrawRequested = true; } @@ -2533,7 +2540,7 @@ class Runtime extends EventEmitter { * the original sprite * @param {!Target} target Target requesting the targets update */ - requestTargetsUpdate (target) { + requestTargetsUpdate(target) { if (!target.isOriginal) return; this._refreshTargets = true; } @@ -2541,21 +2548,21 @@ class Runtime extends EventEmitter { /** * Emit an event that indicates that the blocks on the workspace need updating. */ - requestBlocksUpdate () { + requestBlocksUpdate() { this.emit(Runtime.BLOCKS_NEED_UPDATE); } /** * Emit an event that indicates that the toolbox extension blocks need updating. */ - requestToolboxExtensionsUpdate () { + requestToolboxExtensionsUpdate() { this.emit(Runtime.TOOLBOX_EXTENSIONS_NEED_UPDATE); } /** * Set up timers to repeatedly step in a browser. */ - start () { + start() { // Do not start if we are already running if (this._steppingInterval) return; @@ -2575,7 +2582,7 @@ class Runtime extends EventEmitter { * @param {Profiler/FrameCallback} onFrame A callback handle passed a * profiling frame when the profiler reports its collected data. */ - enableProfiling (onFrame) { + enableProfiling(onFrame) { if (Profiler.available()) { this.profiler = new Profiler(onFrame); } @@ -2584,7 +2591,7 @@ class Runtime extends EventEmitter { /** * Turn off profiling. */ - disableProfiling () { + disableProfiling() { this.profiler = null; } @@ -2593,9 +2600,13 @@ class Runtime extends EventEmitter { * This value is helpful in certain instances for compatibility with Scratch 2, * which sometimes uses a `currentMSecs` timestamp value in Interpreter.as */ - updateCurrentMSecs () { + updateCurrentMSecs() { this.currentMSecs = Date.now(); } + + addBlocksToWorkspace(xmlToAdd) { + this.emit(Runtime.ADD_BLOCKS_TO_WORKSPACE, xmlToAdd); + } } /** diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 34c6138f4..b421c2964 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -10,12 +10,14 @@ const MusicCreationHelpers = require('./musiccreationhelpers'); const MusicAccompanimentHelpers = require('./musicaccompanimenthelpers'); const AnalysisHelpers = require('./analysishelpers'); const MusicPlayers = require('./musicplayer') -const textRender = require('./textrender'); +const textRender = require('./textrender'); const regeneratorRuntime = require("regenerator-runtime"); //do not delete +const BlockUtility = require('../../engine/block-utility'); +const { getXMLForOpcode } = require('../../extension-support/xml-builder'); class Scratch3MusicCreation { - constructor (runtime) { + constructor(runtime) { this.runtime = runtime; this.musicPlayer = new MusicPlayers(runtime); @@ -28,32 +30,32 @@ class Scratch3MusicCreation { this.noteList = []; this.wavenoteList = []; this.magentaNoteList = []; - - this.volumes = [{text: "pianissimo", value: '15'}, - {text: "piano", value: '30'}, - {text: "mezzo-piano", value: '45'}, - {text: "mezzo-forte", value: '60'}, - {text: "forte", value: '85'}, - {text: "fortissimo", value: '100'}]; - - this.beats = [{text: "1/4", value: '0.0625'}, - {text: "1/2", value: '0.125'}, - {text: "1", value: '0.25'}, - {text: "2", value: '0.5'}, - {text: "3", value: '0.75'}, - {text: "4", value: '1'}]; - - this.files = [{text: "mystery 1", value: '1'}, - {text: "mystery 2", value: '2'}, - {text: "mystery 3", value: '3'}, - {text: "mystery 4", value: '4'}, - {text: "mystery 5", value: '5'}, - {text: "mystery 6", value: '6'}]; - - this.displayOptions = [{text: "sheet music", value: '1'}, - {text: "waveform", value: '2'}, - {text: "frequencies", value: '3'}, - {text: "frequencies over time", value: '4'}]; + + this.volumes = [{ text: "pianissimo", value: '15' }, + { text: "piano", value: '30' }, + { text: "mezzo-piano", value: '45' }, + { text: "mezzo-forte", value: '60' }, + { text: "forte", value: '85' }, + { text: "fortissimo", value: '100' }]; + + this.beats = [{ text: "1/4", value: '0.0625' }, + { text: "1/2", value: '0.125' }, + { text: "1", value: '0.25' }, + { text: "2", value: '0.5' }, + { text: "3", value: '0.75' }, + { text: "4", value: '1' }]; + + this.files = [{ text: "mystery 1", value: '1' }, + { text: "mystery 2", value: '2' }, + { text: "mystery 3", value: '3' }, + { text: "mystery 4", value: '4' }, + { text: "mystery 5", value: '5' }, + { text: "mystery 6", value: '6' }]; + + this.displayOptions = [{ text: "sheet music", value: '1' }, + { text: "waveform", value: '2' }, + { text: "frequencies", value: '3' }, + { text: "frequencies over time", value: '4' }]; this.textRenderer = new textRender(runtime); @@ -69,7 +71,7 @@ class Scratch3MusicCreation { * The key to load & store a target's music-related state. * @type {string} */ - static get STATE_KEY () { + static get STATE_KEY() { return 'Scratch.musiccreation'; } @@ -80,7 +82,7 @@ class Scratch3MusicCreation { * @listens Runtime#event:targetWasCreated * @private */ - _onTargetCreated (newTarget, sourceTarget) { + _onTargetCreated(newTarget, sourceTarget) { if (sourceTarget) { const musicState = sourceTarget.getCustomState(Scratch3MusicCreation.STATE_KEY); if (musicState) { @@ -96,7 +98,7 @@ class Scratch3MusicCreation { * @return {array} - An array of objects with text and value properties. * @private */ - _buildMenu (info) { + _buildMenu(info) { return info.map((entry, index) => { const obj = {}; obj.text = entry.name; @@ -115,7 +117,7 @@ class Scratch3MusicCreation { * @param {number[]} samples - an array of numbers representing the MIDI note number for each * sampled sound used to play this instrument. */ - get INSTRUMENT_INFO () { + get INSTRUMENT_INFO() { return [ { name: formatMessage({ @@ -136,7 +138,7 @@ class Scratch3MusicCreation { dirName: '4-guitar', releaseTime: 0.5, samples: [60] - }, { + }, { name: formatMessage({ id: 'music.instrumentBass', default: 'Bass', @@ -188,7 +190,7 @@ class Scratch3MusicCreation { } - getInfo () { + getInfo() { return { id: 'musiccreation', name: 'Music Creation', @@ -435,55 +437,55 @@ class Scratch3MusicCreation { acceptReporters: true, items: this.displayOptions } - + } }; } - setText (args, util) { + setText(args, util) { this.textRenderer.say(args.TEXT, args, util); } - resetMusic (args, util) { + resetMusic(args, util) { this.noteList = []; this.wavenoteList = []; this.magentaNoteList = []; } - testWaveformViz (args, util) { + testWaveformViz(args, util) { this.totalNoteList = this.noteList.concat(this.magentaNoteList); this.vizHelper.testWaveformViz(this.totalNoteList, args, util); } - testSheetMusicViz (args, util) { + testSheetMusicViz(args, util) { this.totalNoteList = this.noteList.concat(this.magentaNoteList); this.vizHelper.testSheetMusicViz(this.totalNoteList, args, util); } - testFreqViz (args, util) { + testFreqViz(args, util) { this.totalNoteList = this.noteList.concat(this.magentaNoteList); this.vizHelper.testFreqViz(this.totalNoteList, args, util); } - testSpectViz (args, util) { + testSpectViz(args, util) { this.totalNoteList = this.noteList.concat(this.magentaNoteList); this.vizHelper.testSpectViz(this.totalNoteList, args, util); } - - visualize (args, util) { + + visualize(args, util) { var disp_type = Cast.toNumber(args.FORMAT); switch (disp_type) { case 2: - this.testWaveformViz(args,util) + this.testWaveformViz(args, util) break; case 3: - this.testFreqViz(args,util) + this.testFreqViz(args, util) break; case 4: - this.testSpectViz(args,util) + this.testSpectViz(args, util) break; default: - this.testSheetMusicViz(args,util) + this.testSheetMusicViz(args, util) break; } } @@ -494,24 +496,24 @@ class Scratch3MusicCreation { * @param {object} util - utility object provided by the runtime. * @property {int} INSTRUMENT - the number of the instrument to select. */ - setInstrument (args, util) { + setInstrument(args, util) { this.musicCreationHelper._setInstrument(args.INSTRUMENT, util, false); } - async testMagentaRNN (args, utils) { + async testMagentaRNN(args, utils) { this.magentaNoteList = await this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); } - async testMagentaMVAE (utils) { + async testMagentaMVAE(utils) { this.magentaNoteList = await this.musicAccompanimentHelper.testMagentaMVAE(utils); } - getInstrument (util) { + getInstrument(util) { return this.musicCreationHelper.getInstrument(util); } - _playNoteForPicker (noteNum, category) { + _playNoteForPicker(noteNum, category) { if (category !== this.getInfo().name) return; const util = { runtime: this.runtime, @@ -524,17 +526,19 @@ class Scratch3MusicCreation { * Set the current tempo to a new value. * @param {object} args - the block arguments. * @property {number} TEMPO - the tempo, in beats per minute. + * @param {BlockUtility} util */ - setVolume (args, util) { + setVolume(args, util) { + util.runtime.addBlocksToWorkspace(getXMLForOpcode(this, util.runtime, 'playNote')); const volume = Cast.toNumber(args.VOLUME); this.musicCreationHelper._updateVolume(volume, util); } - getVolume (util) { + getVolume(util) { return this.musicCreationHelper.getVolume(util); } - playNote (args, util) { + playNote(args, util) { toAdd = this.musicCreationHelper.playNote(args, util); if (toAdd.length == 3) { this.noteList.push(toAdd); @@ -548,27 +552,27 @@ class Scratch3MusicCreation { } } - playMystery (args, util) { + playMystery(args, util) { this.analysisHelper.playFile(args, util); } - compareFiles (args, util) { + compareFiles(args, util) { this.analysisHelper.compareFiles(args, util); } - getLouder (util) { + getLouder(util) { return this.analysisHelper.getLouder(util); } - getHigher (util) { + getHigher(util) { return this.analysisHelper.getHigher(util); } - getInst1 (util) { + getInst1(util) { return this.analysisHelper.getInst1(util); } - getInst2 (util) { + getInst2(util) { return this.analysisHelper.getInst2(util); } diff --git a/packages/scratch-vm/src/virtual-machine.js b/packages/scratch-vm/src/virtual-machine.js index 9ec7bdf55..3994e9506 100644 --- a/packages/scratch-vm/src/virtual-machine.js +++ b/packages/scratch-vm/src/virtual-machine.js @@ -21,9 +21,9 @@ const formatMessage = require('format-message'); const Variable = require('./engine/variable'); const newBlockIds = require('./util/new-block-ids'); -const {loadCostume} = require('./import/load-costume.js'); -const {loadSound} = require('./import/load-sound.js'); -const {serializeSounds, serializeCostumes} = require('./serialization/serialize-assets'); +const { loadCostume } = require('./import/load-costume.js'); +const { loadSound } = require('./import/load-sound.js'); +const { serializeSounds, serializeCostumes } = require('./serialization/serialize-assets'); require('canvas-toBlob'); const RESERVED_NAMES = ['_mouse_', '_stage_', '_edge_', '_myself_', '_random_']; @@ -52,8 +52,8 @@ class ScratchCanvasRecorder { this.recording = false; this.canvas = canvas; this.video = document.createElement('video'); - this.video.width=500; - this.video.height=500; + this.video.width = 500; + this.video.height = 500; this.video.style.pointerEvents = 'none'; this.video.style.position = 'fixed'; this.video.style.top = '0'; @@ -78,7 +78,7 @@ class ScratchCanvasRecorder { handleStop(event) { console.log('Recorder stopped: ', event); - const superBuffer = new Blob(this.recordedBlobs, {type: 'video/webm'}); + const superBuffer = new Blob(this.recordedBlobs, { type: 'video/webm' }); this.video.src = window.URL.createObjectURL(superBuffer); } @@ -96,14 +96,14 @@ class ScratchCanvasRecorder { // The nested try blocks will be simplified when Chrome 47 moves to Stable startRecording() { this.recording = true; - let options = {mimeType: 'video/webm'}; + let options = { mimeType: 'video/webm' }; this.recordedBlobs = []; try { this.mediaRecorder = new MediaRecorder(this.stream, options); } catch (e0) { console.log('Unable to create MediaRecorder with options Object: ', e0); try { - options = {mimeType: 'video/webm,codecs=vp9'}; + options = { mimeType: 'video/webm,codecs=vp9' }; this.mediaRecorder = new MediaRecorder(this.stream, options); } catch (e1) { console.log('Unable to create MediaRecorder with options Object: ', e1); @@ -180,7 +180,7 @@ class ScratchCanvasRecorder { }, encoding: undefined, body - },(err, resp, body) => { + }, (err, resp, body) => { if (err) { console.log(err); return; @@ -207,7 +207,7 @@ class ScratchCanvasRecorder { } download() { - const blob = new Blob(this.recordedBlobs, {type: 'video/webm'}); + const blob = new Blob(this.recordedBlobs, { type: 'video/webm' }); this.lastBlob = blob; const url = window.URL.createObjectURL(blob); const a = document.createElement('a'); @@ -238,7 +238,7 @@ class ScratchCanvasRecorder { * @constructor */ class VirtualMachine extends EventEmitter { - constructor () { + constructor() { super(); /** @@ -315,6 +315,9 @@ class VirtualMachine extends EventEmitter { this.runtime.on(Runtime.BLOCKS_NEED_UPDATE, () => { this.emitWorkspaceUpdate(); }); + this.runtime.on(Runtime.ADD_BLOCKS_TO_WORKSPACE, (xmlToAdd) => { + this.emitWorkspaceUpdateWithAdditionalBlocks(xmlToAdd); + }); this.runtime.on(Runtime.TOOLBOX_EXTENSIONS_NEED_UPDATE, () => { this.extensionManager.refreshBlocks(); }); @@ -362,14 +365,14 @@ class VirtualMachine extends EventEmitter { /** * Start running the VM - do this before anything else. */ - start () { + start() { this.runtime.start(); } /** * "Green flag" handler - start all threads starting with a green flag. */ - greenFlag () { + greenFlag() { this.runtime.greenFlag(); } @@ -396,7 +399,7 @@ class VirtualMachine extends EventEmitter { * When true, loops don't yield to redraw. * @param {boolean} turboModeOn Whether turbo mode should be set. */ - setTurboMode (turboModeOn) { + setTurboMode(turboModeOn) { this.runtime.turboMode = !!turboModeOn; if (this.runtime.turboMode) { this.emit(Runtime.TURBO_MODE_ON); @@ -405,7 +408,7 @@ class VirtualMachine extends EventEmitter { } } - setRecordingMode (recordingOn) { + setRecordingMode(recordingOn) { this.runtime.recording = !!recordingOn; if (this.runtime.recording) { this.emit(Runtime.RECORDING_ON); @@ -419,14 +422,14 @@ class VirtualMachine extends EventEmitter { * When true, ticks go at 2.0 speed (30 TPS). * @param {boolean} compatibilityModeOn Whether compatibility mode is set. */ - setCompatibilityMode (compatibilityModeOn) { + setCompatibilityMode(compatibilityModeOn) { this.runtime.setCompatibilityMode(!!compatibilityModeOn); } /** * Stop all threads and running activities. */ - stopAll () { + stopAll() { if (this.runtime.recording) { this.stopRecording(); } @@ -444,7 +447,7 @@ class VirtualMachine extends EventEmitter { /** * Clear out current running project data. */ - clear () { + clear() { this.runtime.dispose(); this.editingTarget = null; this.emitTargetsUpdate(false /* Don't emit project change */); @@ -453,7 +456,7 @@ class VirtualMachine extends EventEmitter { /** * Get data for playground. Data comes back in an emitted event. */ - getPlaygroundData () { + getPlaygroundData() { const instance = this; // Only send back thread data for the current editingTarget. const threadData = this.runtime.threads.filter(thread => thread.target === instance.editingTarget); @@ -473,17 +476,17 @@ class VirtualMachine extends EventEmitter { * @param {?string} device Name of virtual I/O device. * @param {object} data Any data object to post to the I/O device. */ - postIOData (device, data) { + postIOData(device, data) { if (this.runtime.ioDevices[device]) { this.runtime.ioDevices[device].postData(data); } } - setVideoProvider (videoProvider) { + setVideoProvider(videoProvider) { this.runtime.ioDevices.video.setProvider(videoProvider); } - setCloudProvider (cloudProvider) { + setCloudProvider(cloudProvider) { this.runtime.ioDevices.cloud.setProvider(cloudProvider); } @@ -491,7 +494,7 @@ class VirtualMachine extends EventEmitter { * Tell the specified extension to scan for a peripheral. * @param {string} extensionId - the id of the extension. */ - scanForPeripheral (extensionId) { + scanForPeripheral(extensionId) { this.runtime.scanForPeripheral(extensionId); } @@ -500,7 +503,7 @@ class VirtualMachine extends EventEmitter { * @param {string} extensionId - the id of the extension. * @param {number} peripheralId - the id of the peripheral. */ - connectPeripheral (extensionId, peripheralId) { + connectPeripheral(extensionId, peripheralId) { this.runtime.connectPeripheral(extensionId, peripheralId); } @@ -508,7 +511,7 @@ class VirtualMachine extends EventEmitter { * Disconnect from the extension's connected peripheral. * @param {string} extensionId - the id of the extension. */ - disconnectPeripheral (extensionId) { + disconnectPeripheral(extensionId) { this.runtime.disconnectPeripheral(extensionId); } @@ -517,7 +520,7 @@ class VirtualMachine extends EventEmitter { * @param {string} extensionId - the id of the extension. * @return {boolean} - whether the extension has a connected peripheral. */ - getPeripheralIsConnected (extensionId) { + getPeripheralIsConnected(extensionId) { return this.runtime.getPeripheralIsConnected(extensionId); } @@ -526,9 +529,9 @@ class VirtualMachine extends EventEmitter { * @param {string | object} input A json string, object, or ArrayBuffer representing the project to load. * @return {!Promise} Promise that resolves after targets are installed. */ - loadProject (input) { + loadProject(input) { if (typeof input === 'object' && !(input instanceof ArrayBuffer) && - !ArrayBuffer.isView(input)) { + !ArrayBuffer.isView(input)) { // If the input is an object and not any ArrayBuffer // or an ArrayBuffer view (this includes all typed arrays and DataViews) // turn the object into a JSON string, because we suspect @@ -548,7 +551,7 @@ class VirtualMachine extends EventEmitter { }); }) .catch(error => { - const {SB1File, ValidationError} = require('scratch-sb1-converter'); + const { SB1File, ValidationError } = require('scratch-sb1-converter'); try { const sb1 = new SB1File(input); @@ -586,7 +589,7 @@ class VirtualMachine extends EventEmitter { * Load a project from the Scratch web site, by ID. * @param {string} id - the ID of the project to download, as a string. */ - downloadProjectId (id) { + downloadProjectId(id) { const storage = this.runtime.storage; if (!storage) { log.error('No storage module present; cannot load project: ', id); @@ -610,7 +613,7 @@ class VirtualMachine extends EventEmitter { /** * @returns {string} Project in a Scratch 3.0 JSON representation. */ - saveProjectSb3 () { + saveProjectSb3() { const soundDescs = serializeSounds(this.runtime); const costumeDescs = serializeCostumes(this.runtime); const projectJson = this.toJSON(); @@ -636,7 +639,7 @@ class VirtualMachine extends EventEmitter { /* * @type {Array} Array of all costumes and sounds currently in the runtime */ - get assets () { + get assets() { return this.runtime.targets.reduce((acc, target) => ( acc .concat(target.sprite.sounds.map(sound => sound.asset)) @@ -644,7 +647,7 @@ class VirtualMachine extends EventEmitter { ), []); } - _addFileDescsToZip (fileDescs, zip) { + _addFileDescsToZip(fileDescs, zip) { for (let i = 0; i < fileDescs.length; i++) { const currFileDesc = fileDescs[i]; zip.file(currFileDesc.fileName, currFileDesc.fileContent); @@ -663,7 +666,7 @@ class VirtualMachine extends EventEmitter { * @return {object} A generated zip of the sprite and its assets in the format * specified by optZipType or blob by default. */ - exportSprite (targetId, optZipType) { + exportSprite(targetId, optZipType) { const sb3 = require('./serialization/sb3'); const soundDescs = serializeSounds(this.runtime, targetId); @@ -688,7 +691,7 @@ class VirtualMachine extends EventEmitter { * Export project as a Scratch 3.0 JSON representation. * @return {string} Serialized state of the runtime. */ - toJSON () { + toJSON() { const sb3 = require('./serialization/sb3'); return StringUtil.stringify(sb3.serialize(this.runtime)); } @@ -700,7 +703,7 @@ class VirtualMachine extends EventEmitter { * @param {string} json JSON string representing a project. * @returns {Promise} Promise that resolves after the project has loaded */ - fromJSON (json) { + fromJSON(json) { log.warning('fromJSON is now just a wrapper around loadProject, please use that function instead.'); return this.loadProject(json); } @@ -711,7 +714,7 @@ class VirtualMachine extends EventEmitter { * @param {?JSZip} zip Optional zipped project containing assets to be loaded. * @returns {Promise} Promise that resolves after the project has loaded */ - deserializeProject (projectJSON, zip) { + deserializeProject(projectJSON, zip) { // Clear the current runtime this.clear(); @@ -729,7 +732,7 @@ class VirtualMachine extends EventEmitter { return Promise.reject('Unable to verify Scratch Project version.'); }; return deserializePromise() - .then(({targets, extensions}) => + .then(({ targets, extensions }) => this.installTargets(targets, extensions, true)); } @@ -740,7 +743,7 @@ class VirtualMachine extends EventEmitter { * @param {boolean} wholeProject - set to true if installing a whole project, as opposed to a single sprite. * @returns {Promise} resolved once targets have been installed */ - installTargets (targets, extensions, wholeProject) { + installTargets(targets, extensions, wholeProject) { const extensionPromises = []; extensions.extensionIDs.forEach(extensionID => { @@ -791,10 +794,10 @@ class VirtualMachine extends EventEmitter { * @param {string | object} input A json string, object, or ArrayBuffer representing the project to load. * @return {!Promise} Promise that resolves after targets are installed. */ - addSprite (input) { + addSprite(input) { const errorPrefix = 'Sprite Upload Error:'; if (typeof input === 'object' && !(input instanceof ArrayBuffer) && - !ArrayBuffer.isView(input)) { + !ArrayBuffer.isView(input)) { // If the input is an object and not any ArrayBuffer // or an ArrayBuffer view (this includes all typed arrays and DataViews) // turn the object into a JSON string, because we suspect @@ -842,12 +845,12 @@ class VirtualMachine extends EventEmitter { * @param {?ArrayBuffer} zip Optional zip of assets being referenced by json * @returns {Promise} Promise that resolves after the sprite is added */ - _addSprite2 (sprite, zip) { + _addSprite2(sprite, zip) { // Validate & parse const sb2 = require('./serialization/sb2'); return sb2.deserialize(sprite, this.runtime, true, zip) - .then(({targets, extensions}) => + .then(({ targets, extensions }) => this.installTargets(targets, extensions, false)); } @@ -857,12 +860,12 @@ class VirtualMachine extends EventEmitter { * @param {?ArrayBuffer} zip Optional zip of assets being referenced by target json * @returns {Promise} Promise that resolves after the sprite is added */ - _addSprite3 (sprite, zip) { + _addSprite3(sprite, zip) { // Validate & parse const sb3 = require('./serialization/sb3'); return sb3 .deserialize(sprite, this.runtime, zip, true) - .then(({targets, extensions}) => this.installTargets(targets, extensions, false)); + .then(({ targets, extensions }) => this.installTargets(targets, extensions, false)); } /** @@ -877,7 +880,7 @@ class VirtualMachine extends EventEmitter { * @param {string} optVersion - if this is 2, load costume as sb2, otherwise load costume as sb3. * @returns {?Promise} - a promise that resolves when the costume has been added */ - addCostume (md5ext, costumeObject, optTargetId, optVersion) { + addCostume(md5ext, costumeObject, optTargetId, optVersion) { const target = optTargetId ? this.runtime.getTargetById(optTargetId) : this.editingTarget; if (target) { @@ -903,7 +906,7 @@ class VirtualMachine extends EventEmitter { * @property {number} [bitmapResolution] - the resolution scale for a bitmap costume. * @returns {?Promise} - a promise that resolves when the costume has been added */ - addCostumeFromLibrary (md5ext, costumeObject) { + addCostumeFromLibrary(md5ext, costumeObject) { if (!this.editingTarget) return Promise.reject(); return this.addCostume(md5ext, costumeObject, this.editingTarget.id, 2 /* optVersion */); } @@ -913,7 +916,7 @@ class VirtualMachine extends EventEmitter { * @param {!int} costumeIndex Index of costume to duplicate * @returns {?Promise} - a promise that resolves when the costume has been decoded and added */ - duplicateCostume (costumeIndex) { + duplicateCostume(costumeIndex) { const originalCostume = this.editingTarget.getCostumes()[costumeIndex]; const clone = Object.assign({}, originalCostume); const md5ext = `${clone.assetId}.${clone.dataFormat}`; @@ -929,7 +932,7 @@ class VirtualMachine extends EventEmitter { * @param {!int} soundIndex Index of sound to duplicate * @returns {?Promise} - a promise that resolves when the sound has been decoded and added */ - duplicateSound (soundIndex) { + duplicateSound(soundIndex) { const originalSound = this.editingTarget.getSounds()[soundIndex]; const clone = Object.assign({}, originalSound); return loadSound(clone, this.runtime, this.editingTarget.sprite.soundBank).then(() => { @@ -943,7 +946,7 @@ class VirtualMachine extends EventEmitter { * @param {int} costumeIndex - the index of the costume to be renamed. * @param {string} newName - the desired new name of the costume (will be modified if already in use). */ - renameCostume (costumeIndex, newName) { + renameCostume(costumeIndex, newName) { this.editingTarget.renameCostume(costumeIndex, newName); this.emitTargetsUpdate(); } @@ -954,7 +957,7 @@ class VirtualMachine extends EventEmitter { * @return {?function} A function to restore the deleted costume, or null, * if no costume was deleted. */ - deleteCostume (costumeIndex) { + deleteCostume(costumeIndex) { const deletedCostume = this.editingTarget.deleteCostume(costumeIndex); if (deletedCostume) { const target = this.editingTarget; @@ -973,7 +976,7 @@ class VirtualMachine extends EventEmitter { * @param {string} optTargetId - the id of the target to add to, if not the editing target. * @returns {?Promise} - a promise that resolves when the sound has been decoded and added */ - addSound (soundObject, optTargetId) { + addSound(soundObject, optTargetId) { const target = optTargetId ? this.runtime.getTargetById(optTargetId) : this.editingTarget; if (target) { @@ -991,7 +994,7 @@ class VirtualMachine extends EventEmitter { * @param {int} soundIndex - the index of the sound to be renamed. * @param {string} newName - the desired new name of the sound (will be modified if already in use). */ - renameSound (soundIndex, newName) { + renameSound(soundIndex, newName) { this.editingTarget.renameSound(soundIndex, newName); this.emitTargetsUpdate(); } @@ -1001,7 +1004,7 @@ class VirtualMachine extends EventEmitter { * @param {int} soundIndex - the index of the sound to be got. * @return {AudioBuffer} the sound's audio buffer. */ - getSoundBuffer (soundIndex) { + getSoundBuffer(soundIndex) { const id = this.editingTarget.sprite.sounds[soundIndex].soundId; if (id && this.runtime && this.runtime.audioEngine) { return this.editingTarget.sprite.soundBank.getSoundPlayer(id).buffer; @@ -1015,7 +1018,7 @@ class VirtualMachine extends EventEmitter { * @param {AudioBuffer} newBuffer - new audio buffer for the audio engine. * @param {ArrayBuffer} soundEncoding - the new (wav) encoded sound to be stored */ - updateSoundBuffer (soundIndex, newBuffer, soundEncoding) { + updateSoundBuffer(soundIndex, newBuffer, soundEncoding) { const sound = this.editingTarget.sprite.sounds[soundIndex]; const id = sound ? sound.soundId : null; if (id && this.runtime && this.runtime.audioEngine) { @@ -1056,7 +1059,7 @@ class VirtualMachine extends EventEmitter { * @return {?Function} A function to restore the sound that was deleted, * or null, if no sound was deleted. */ - deleteSound (soundIndex) { + deleteSound(soundIndex) { const target = this.editingTarget; const deletedSound = this.editingTarget.deleteSound(soundIndex); if (deletedSound) { @@ -1076,14 +1079,14 @@ class VirtualMachine extends EventEmitter { * @return {string} the costume's SVG string if it's SVG, * a dataURI if it's a PNG or JPG, or null if it couldn't be found or decoded. */ - getCostume (costumeIndex) { + getCostume(costumeIndex) { const asset = this.editingTarget.getCostumes()[costumeIndex].asset; if (!asset || !this.runtime || !this.runtime.storage) return null; const format = asset.dataFormat; if (format === this.runtime.storage.DataFormat.SVG) { return asset.decodeText(); } else if (format === this.runtime.storage.DataFormat.PNG || - format === this.runtime.storage.DataFormat.JPG) { + format === this.runtime.storage.DataFormat.JPG) { return asset.encodeDataURI(); } log.error(`Unhandled format: ${asset.dataFormat}`); @@ -1099,7 +1102,7 @@ class VirtualMachine extends EventEmitter { * @param {!number} bitmapResolution 1 for bitmaps that have 1 pixel per unit of stage, * 2 for double-resolution bitmaps */ - updateBitmap (costumeIndex, bitmap, rotationCenterX, rotationCenterY, bitmapResolution) { + updateBitmap(costumeIndex, bitmap, rotationCenterX, rotationCenterY, bitmapResolution) { const costume = this.editingTarget.getCostumes()[costumeIndex]; if (!(costume && this.runtime && this.runtime.renderer)) return; @@ -1145,7 +1148,7 @@ class VirtualMachine extends EventEmitter { this.emitTargetsUpdate(); }); // Bitmaps with a zero width or height return null for their blob - if (blob){ + if (blob) { reader.readAsArrayBuffer(blob); } }); @@ -1158,7 +1161,7 @@ class VirtualMachine extends EventEmitter { * @param {number} rotationCenterX x of point about which the costume rotates, relative to its upper left corner * @param {number} rotationCenterY y of point about which the costume rotates, relative to its upper left corner */ - updateSvg (costumeIndex, svg, rotationCenterX, rotationCenterY) { + updateSvg(costumeIndex, svg, rotationCenterX, rotationCenterY) { const costume = this.editingTarget.getCostumes()[costumeIndex]; if (costume && this.runtime && this.runtime.renderer) { costume.rotationCenterX = rotationCenterX; @@ -1193,7 +1196,7 @@ class VirtualMachine extends EventEmitter { * @property {number} [bitmapResolution] - the resolution scale for a bitmap backdrop. * @returns {?Promise} - a promise that resolves when the backdrop has been added */ - addBackdrop (md5ext, backdropObject) { + addBackdrop(md5ext, backdropObject) { return loadCostume(md5ext, backdropObject, this.runtime).then(() => { const stage = this.runtime.getTargetForStage(); stage.addCostume(backdropObject); @@ -1207,7 +1210,7 @@ class VirtualMachine extends EventEmitter { * @param {string} targetId ID of a target whose sprite to rename. * @param {string} newName New name of the sprite. */ - renameSprite (targetId, newName) { + renameSprite(targetId, newName) { const target = this.runtime.getTargetById(targetId); if (target) { if (!target.isSprite()) { @@ -1242,7 +1245,7 @@ class VirtualMachine extends EventEmitter { * @param {string} targetId ID of a target whose sprite to delete. * @return {Function} Returns a function to restore the sprite that was deleted */ - deleteSprite (targetId) { + deleteSprite(targetId) { const target = this.runtime.getTargetById(targetId); if (target) { @@ -1267,7 +1270,7 @@ class VirtualMachine extends EventEmitter { // Ensure editing target is switched if we are deleting it. if (clone === currentEditingTarget) { const nextTargetIndex = Math.min(this.runtime.targets.length - 1, targetIndexBeforeDelete); - if (this.runtime.targets.length > 0){ + if (this.runtime.targets.length > 0) { this.setEditingTarget(this.runtime.targets[nextTargetIndex].id); } else { this.editingTarget = null; @@ -1288,7 +1291,7 @@ class VirtualMachine extends EventEmitter { * @returns {Promise} Promise that resolves when duplicated target has * been added to the runtime. */ - duplicateSprite (targetId) { + duplicateSprite(targetId) { const target = this.runtime.getTargetById(targetId); if (!target) { throw new Error('No target with the provided id.'); @@ -1308,7 +1311,7 @@ class VirtualMachine extends EventEmitter { * Set the audio engine for the VM/runtime * @param {!AudioEngine} audioEngine The audio engine to attach */ - attachAudioEngine (audioEngine) { + attachAudioEngine(audioEngine) { this.runtime.attachAudioEngine(audioEngine); } @@ -1316,7 +1319,7 @@ class VirtualMachine extends EventEmitter { * Set the renderer for the VM/runtime * @param {!RenderWebGL} renderer The renderer to attach */ - attachRenderer (renderer) { + attachRenderer(renderer) { this.runtime.attachRenderer(renderer); this.mediaRecorder = new ScratchCanvasRecorder(renderer.canvas) } @@ -1324,7 +1327,7 @@ class VirtualMachine extends EventEmitter { /** * @returns {RenderWebGL} The renderer attached to the vm */ - get renderer () { + get renderer() { return this.runtime && this.runtime.renderer; } @@ -1332,7 +1335,7 @@ class VirtualMachine extends EventEmitter { * Set the svg adapter for the VM/runtime, which converts scratch 2 svgs to scratch 3 svgs * @param {!SvgRenderer} svgAdapter The adapter to attach */ - attachV2SVGAdapter (svgAdapter) { + attachV2SVGAdapter(svgAdapter) { this.runtime.attachV2SVGAdapter(svgAdapter); } @@ -1341,7 +1344,7 @@ class VirtualMachine extends EventEmitter { * bitmaps to scratch 3 bitmaps. (Scratch 3 bitmaps are all bitmap resolution 2) * @param {!function} bitmapAdapter The adapter to attach */ - attachV2BitmapAdapter (bitmapAdapter) { + attachV2BitmapAdapter(bitmapAdapter) { this.runtime.attachV2BitmapAdapter(bitmapAdapter); } @@ -1349,7 +1352,7 @@ class VirtualMachine extends EventEmitter { * Set the storage module for the VM/runtime * @param {!ScratchStorage} storage The storage module to attach */ - attachStorage (storage) { + attachStorage(storage) { this.runtime.attachStorage(storage); } @@ -1360,9 +1363,9 @@ class VirtualMachine extends EventEmitter { * @returns {Promise} Promise that resolves when all the blocks have been * updated for a new locale (or empty if locale hasn't changed.) */ - setLocale (locale, messages) { + setLocale(locale, messages) { if (locale !== formatMessage.setup().locale) { - formatMessage.setup({locale: locale, translations: {[locale]: messages}}); + formatMessage.setup({ locale: locale, translations: { [locale]: messages } }); } return this.extensionManager.refreshBlocks(); } @@ -1371,7 +1374,7 @@ class VirtualMachine extends EventEmitter { * get the current locale for the VM * @returns {string} the current locale in the VM */ - getLocale () { + getLocale() { return formatMessage.setup().locale; } @@ -1379,7 +1382,7 @@ class VirtualMachine extends EventEmitter { * Handle a Blockly event for the current editing target. * @param {!Blockly.Event} e Any Blockly event. */ - blockListener (e) { + blockListener(e) { if (this.editingTarget) { this.editingTarget.blocks.blocklyListen(e); } @@ -1389,7 +1392,7 @@ class VirtualMachine extends EventEmitter { * Handle a Blockly event for the flyout. * @param {!Blockly.Event} e Any Blockly event. */ - flyoutBlockListener (e) { + flyoutBlockListener(e) { this.runtime.flyoutBlocks.blocklyListen(e); } @@ -1397,7 +1400,7 @@ class VirtualMachine extends EventEmitter { * Handle a Blockly event for the flyout to be passed to the monitor container. * @param {!Blockly.Event} e Any Blockly event. */ - monitorBlockListener (e) { + monitorBlockListener(e) { // Filter events by type, since monitor blocks only need to listen to these events. // Monitor blocks shouldn't be destroyed when flyout blocks are deleted. if (['create', 'change'].indexOf(e.type) !== -1) { @@ -1409,7 +1412,7 @@ class VirtualMachine extends EventEmitter { * Handle a Blockly event for the variable map. * @param {!Blockly.Event} e Any Blockly event. */ - variableListener (e) { + variableListener(e) { // Filter events by type, since blocks only needs to listen to these // var events. if (['var_create', 'var_rename', 'var_delete'].indexOf(e.type) !== -1) { @@ -1425,7 +1428,7 @@ class VirtualMachine extends EventEmitter { * (see `emitTargetsUpdate` and `emitWorkspaceUpdate`). * @param {string} targetId Id of target to set as editing. */ - setEditingTarget (targetId) { + setEditingTarget(targetId) { // Has the target id changed? If not, exit. if (this.editingTarget && targetId === this.editingTarget.id) { return; @@ -1449,7 +1452,7 @@ class VirtualMachine extends EventEmitter { * shared from that target. This is needed for resolving any potential variable conflicts. * @return {!Promise} Promise that resolves when the extensions and blocks have been added. */ - shareBlocksToTarget (blocks, targetId, optFromTargetId) { + shareBlocksToTarget(blocks, targetId, optFromTargetId) { const sb3 = require('./serialization/sb3'); const copiedBlocks = JSON.parse(JSON.stringify(blocks)); @@ -1490,7 +1493,7 @@ class VirtualMachine extends EventEmitter { * @param {!string} targetId Id of target to add the costume. * @return {Promise} Promise that resolves when the new costume has been loaded. */ - shareCostumeToTarget (costumeIndex, targetId) { + shareCostumeToTarget(costumeIndex, targetId) { const originalCostume = this.editingTarget.getCostumes()[costumeIndex]; const clone = Object.assign({}, originalCostume); const md5ext = `${clone.assetId}.${clone.dataFormat}`; @@ -1511,7 +1514,7 @@ class VirtualMachine extends EventEmitter { * @param {!string} targetId Id of target to add the sound. * @return {Promise} Promise that resolves when the new sound has been loaded. */ - shareSoundToTarget (soundIndex, targetId) { + shareSoundToTarget(soundIndex, targetId) { const originalSound = this.editingTarget.getSounds()[soundIndex]; const clone = Object.assign({}, originalSound); const target = this.runtime.getTargetById(targetId); @@ -1527,7 +1530,7 @@ class VirtualMachine extends EventEmitter { * Repopulate the workspace with the blocks of the current editingTarget. This * allows us to get around bugs like gui#413. */ - refreshWorkspace () { + refreshWorkspace() { if (this.editingTarget) { this.emitWorkspaceUpdate(); this.runtime.setEditingTarget(this.editingTarget); @@ -1543,7 +1546,7 @@ class VirtualMachine extends EventEmitter { * Disabled selectively by updates that don't affect project serialization. * Defaults to true. */ - emitTargetsUpdate (triggerProjectChange) { + emitTargetsUpdate(triggerProjectChange) { if (typeof triggerProjectChange === 'undefined') triggerProjectChange = true; this.emit('targetsUpdate', { // [[target id, human readable target name], ...]. @@ -1563,10 +1566,10 @@ class VirtualMachine extends EventEmitter { } /** - * Emit an Blockly/scratch-blocks compatible XML representation + * Retrieve a Blockly/scratch-blocks compatible XML representation * of the current editing target's blocks. */ - emitWorkspaceUpdate () { + getWorkspaceXML() { // Create a list of broadcast message Ids according to the stage variables const stageVariables = this.runtime.getTargetForStage().variables; let messageIds = []; @@ -1607,16 +1610,30 @@ class VirtualMachine extends EventEmitter { .map(k => this.editingTarget.comments[k]) .filter(c => c.blockId === null); - const xmlString = ` - - ${globalVariables.map(v => v.toXML()).join()} - ${localVariables.map(v => v.toXML(true)).join()} - - ${workspaceComments.map(c => c.toXML()).join()} - ${this.editingTarget.blocks.toXML(this.editingTarget.comments)} - `; + return ` + + ${globalVariables.map(v => v.toXML()).join()} + ${localVariables.map(v => v.toXML(true)).join()} + + ${workspaceComments.map(c => c.toXML()).join()} + ${this.editingTarget.blocks.toXML(this.editingTarget.comments)} + `; + } + + /** + * Emit an Blockly/scratch-blocks compatible XML representation + * of the current editing target's blocks. + */ + emitWorkspaceUpdate() { + this.emit('workspaceUpdate', { xml: this.getWorkspaceXML() }); + } - this.emit('workspaceUpdate', {xml: xmlString}); + emitWorkspaceUpdateWithAdditionalBlocks(newBlocksXML) { + const workspaceXml = this.getWorkspaceXML().split(/\n/); + workspaceXml.splice(workspaceXml.length - 1, 0, newBlocksXML.split(/\n/)); + const updated = workspaceXml.join('\r\n'); + console.log(updated); + this.emit('workspaceUpdate', { xml: updated }); } /** @@ -1624,7 +1641,7 @@ class VirtualMachine extends EventEmitter { * @param {int} drawableId The drawable id to request the target id for * @returns {?string} The target id, if found. Will also be null if the target found is the stage. */ - getTargetIdForDrawableId (drawableId) { + getTargetIdForDrawableId(drawableId) { const target = this.runtime.getTargetByDrawableId(drawableId); if (target && target.hasOwnProperty('id') && target.hasOwnProperty('isStage') && !target.isStage) { return target.id; @@ -1638,7 +1655,7 @@ class VirtualMachine extends EventEmitter { * @param {!number} newIndex index that the target should be moved to. * @returns {boolean} Whether a target was reordered. */ - reorderTarget (targetIndex, newIndex) { + reorderTarget(targetIndex, newIndex) { let targets = this.runtime.targets; targetIndex = MathUtil.clamp(targetIndex, 0, targets.length - 1); newIndex = MathUtil.clamp(newIndex, 0, targets.length - 1); @@ -1658,7 +1675,7 @@ class VirtualMachine extends EventEmitter { * @param {!number} newIndex index that the costume should be moved to. * @returns {boolean} Whether a costume was reordered. */ - reorderCostume (targetId, costumeIndex, newIndex) { + reorderCostume(targetId, costumeIndex, newIndex) { const target = this.runtime.getTargetById(targetId); if (target) { const reorderSuccessful = target.reorderCostume(costumeIndex, newIndex); @@ -1677,7 +1694,7 @@ class VirtualMachine extends EventEmitter { * @param {!number} newIndex index that the sound should be moved to. * @returns {boolean} Whether a sound was reordered. */ - reorderSound (targetId, soundIndex, newIndex) { + reorderSound(targetId, soundIndex, newIndex) { const target = this.runtime.getTargetById(targetId); if (target) { const reorderSuccessful = target.reorderSound(soundIndex, newIndex); @@ -1694,7 +1711,7 @@ class VirtualMachine extends EventEmitter { * by blocks. * @param {string} targetId The id for the target to put into a drag state */ - startDrag (targetId) { + startDrag(targetId) { const target = this.runtime.getTargetById(targetId); if (target) { this._dragTarget = target; @@ -1706,7 +1723,7 @@ class VirtualMachine extends EventEmitter { * Remove a target from a drag state, so blocks may begin affecting X/Y position again * @param {string} targetId The id for the target to remove from the drag state */ - stopDrag (targetId) { + stopDrag(targetId) { const target = this.runtime.getTargetById(targetId); if (target) { this._dragTarget = null; @@ -1720,7 +1737,7 @@ class VirtualMachine extends EventEmitter { * Post/edit sprite info for the current editing target or the drag target. * @param {object} data An object with sprite info data to set. */ - postSpriteInfo (data) { + postSpriteInfo(data) { if (this._dragTarget) { this._dragTarget.postSpriteInfo(data); } else { @@ -1740,7 +1757,7 @@ class VirtualMachine extends EventEmitter { * @param {!*} value The new value of that variable. * @returns {boolean} whether the target and variable were found and updated. */ - setVariableValue (targetId, variableId, value) { + setVariableValue(targetId, variableId, value) { const target = this.runtime.getTargetById(targetId); if (target) { const variable = target.lookupVariableById(variableId); @@ -1763,7 +1780,7 @@ class VirtualMachine extends EventEmitter { * @param {!string} variableId ID of the variable to set. * @returns {?*} The value of the variable, or null if it could not be looked up. */ - getVariableValue (targetId, variableId) { + getVariableValue(targetId, variableId) { const target = this.runtime.getTargetById(targetId); if (target) { const variable = target.lookupVariableById(variableId); @@ -1778,7 +1795,7 @@ class VirtualMachine extends EventEmitter { * Allow VM consumer to configure the ScratchLink socket creator. * @param {Function} factory The custom ScratchLink socket factory. */ - configureScratchLinkSocketFactory (factory) { + configureScratchLinkSocketFactory(factory) { this.runtime.configureScratchLinkSocketFactory(factory); } } From 43ff68292108e6575ea90f90df8fffc4cf30e882 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Thu, 9 Jun 2022 13:42:50 -0400 Subject: [PATCH 063/149] quick fix to null stack frame bug --- .../extensions/scratch3_musiccreation/musiccreationhelpers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index e90483e18..9057ba96e 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -448,7 +448,7 @@ class MusicCreationHelpers { util.sequencer.runtime.once('PROJECT_STOP_ALL', () => { this._stopped = true; player.stopImmediately(); - util.stackFrame.duration = 0; + if (util.thread.peekStackFrame()) util.stackFrame.duration = 0; return; }); player.once('stop', () => { From b3bd8eb68582968e7db78b49c4dc56260113f980 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Thu, 9 Jun 2022 14:20:30 -0400 Subject: [PATCH 064/149] remove debugging log statements --- .../extensions/scratch3_musiccreation/musiccreationhelpers.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 2d524d1e6..c010cd1f0 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -443,14 +443,12 @@ class MusicCreationHelpers { } const player = playerAndData['player']; player.once('stop', () => { - console.log(`stopped note ${i+1}`); if (last) { util.stackFrame.duration = 0; } else { this._playNoteFromSeq(seq[i+1],seq,util,l,inst); } }); - console.log(`playing note ${i+1}`); this._activatePlayer(util,playerAndData); } @@ -527,8 +525,6 @@ class MusicCreationHelpers { } const releaseStart = context.currentTime + durationSec; const releaseEnd = releaseStart + releaseDuration; - const z = releaseEnd - context.currentTime; - console.log('duration',z,'currTime', context.currentTime); releaseGain.gain.setValueAtTime(1, releaseStart); releaseGain.gain.linearRampToValueAtTime(0.0001, releaseEnd); From 3a99ddd1aaf1eaf442ea6705f9593bc0d7038bc6 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Thu, 9 Jun 2022 15:38:57 -0400 Subject: [PATCH 065/149] fix limits for freq visualizations --- .../src/extensions/scratch3_musiccreation/vizhelpers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index b3046ef25..90ecdc52c 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -20,7 +20,7 @@ class VizHelpers { this._visState = {status: false, mode: undefined}; this._buf = {sheet: [], wave: [], freq: [], freqs: []}; this._visNames = {1: 'sheet', 2: 'wave', 3: 'freq', 4: 'freqs'}; - this._visLims = {'sheet': 12, 'wave': 5, 'freq': 1000, 'freqs': 1000}; + this._visLims = {'sheet': 12, 'wave': 5, 'freq': 15, 'freqs': 15}; /** * The ID of the renderer Skin corresponding to the pen layer. From 905198d12ba54b023da1c6e64176ba2b34f05357 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Thu, 9 Jun 2022 16:17:56 -0400 Subject: [PATCH 066/149] Using xml lib now. Able to generate arbitray number of blocks --- packages/scratch-vm/package-lock.json | 19566 +++++++++++++++- packages/scratch-vm/package.json | 1 + .../src/extension-support/xml-builder.js | 107 +- .../scratch3_musiccreation/index.js | 4 +- 4 files changed, 19069 insertions(+), 609 deletions(-) diff --git a/packages/scratch-vm/package-lock.json b/packages/scratch-vm/package-lock.json index ac0be7ed6..dbec097dc 100644 --- a/packages/scratch-vm/package-lock.json +++ b/packages/scratch-vm/package-lock.json @@ -1,8 +1,18442 @@ { "name": "scratch-vm", "version": "0.2.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "scratch-vm", + "version": "0.2.0", + "license": "BSD-3-Clause", + "dependencies": { + "@magenta/music": "^1.20.0", + "@vernier/godirect": "1.5.0", + "arraybuffer-loader": "^1.0.6", + "atob": "2.1.2", + "browser-hrtime": "^1.1.8", + "btoa": "1.2.1", + "canvas-toBlob": "1.0.0", + "decode-html": "2.0.0", + "diff-match-patch": "1.0.4", + "fast-xml-parser": "^4.0.8", + "format-message": "6.2.1", + "htmlparser2": "3.10.0", + "immutable": "3.8.1", + "jszip": "^3.1.5", + "minilog": "3.1.0", + "nets": "3.2.0", + "scratch-parser": "5.0.0", + "scratch-sb1-converter": "0.2.7", + "scratch-translate-extension-languages": "0.0.20191118205314", + "socket.io-client": "2.0.4", + "text-encoding": "0.7.0", + "worker-loader": "^1.1.1" + }, + "devDependencies": { + "@babel/core": "^7.1.2", + "@babel/preset-env": "^7.1.0", + "adm-zip": "0.4.11", + "babel-eslint": "^10.0.1", + "babel-loader": "^8.0.4", + "copy-webpack-plugin": "^4.5.4", + "docdash": "^1.0.0", + "eslint": "^5.3.0", + "eslint-config-scratch": "^5.0.0", + "expose-loader": "0.7.5", + "file-loader": "^2.0.0", + "format-message-cli": "6.2.0", + "gh-pages": "^1.2.0", + "in-publish": "^2.0.0", + "jsdoc": "^3.5.5", + "json": "^9.0.4", + "lodash.defaultsdeep": "4.6.1", + "pngjs": "^3.3.2", + "scratch-audio": "latest", + "scratch-blocks": "latest", + "scratch-l10n": "^3.1.20181129221712", + "scratch-render": "latest", + "scratch-storage": "^1.1.0", + "scratch-svg-renderer": "latest", + "script-loader": "0.7.2", + "stats.js": "^0.17.0", + "tap": "^12.0.1", + "tiny-worker": "^2.1.1", + "uglifyjs-webpack-plugin": "1.2.7", + "webpack": "^4.16.5", + "webpack-cli": "^3.1.0", + "webpack-dev-server": "^3.1.5" + } + }, + "node_modules/@babel/cli": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.1.5.tgz", + "integrity": "sha512-zbO/DtTnaDappBflIU3zYEgATLToRDmW5uN/EGH1GXaes7ydfjqmAoK++xmJIA+8HfDw7UyPZNdM8fhGhfmMhw==", + "dev": true, + "dependencies": { + "commander": "^2.8.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.10", + "mkdirp": "^0.5.1", + "output-file-sync": "^2.0.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "optionalDependencies": { + "chokidar": "^2.0.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/cli/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/cli/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.0.0" + } + }, + "node_modules/@babel/core": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.2.tgz", + "integrity": "sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.1.2", + "@babel/helpers": "^7.1.2", + "@babel/parser": "^7.1.2", + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.1.2", + "convert-source-map": "^1.1.0", + "debug": "^3.1.0", + "json5": "^0.5.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@babel/core/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/@babel/generator": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz", + "integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.1.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "node_modules/@babel/generator/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-call-delegate": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", + "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-map": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", + "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" + } + }, + "node_modules/@babel/helper-define-map/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", + "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-module-imports/node_modules/@babel/types": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0.tgz", + "integrity": "sha512-5tPDap4bGKTLPtci2SUl/B7Gv8RnuJFuQoWx26RJobS0fFrz4reUA3JnwIM+HVHEmWE0C1mzKhDtTp8NsWY02Q==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@babel/helper-module-imports/node_modules/lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "node_modules/@babel/helper-module-imports/node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.1.0.tgz", + "integrity": "sha512-0JZRd2yhawo79Rcm4w0LwSMILFmFXjugG3yqf+P/UsKsRS1mJCmMwwlHDlMg7Avr9LrvSpp4ZSULO9r8jpCzcw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" + } + }, + "node_modules/@babel/helper-module-transforms/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "node_modules/@babel/helper-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", + "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.10" + } + }, + "node_modules/@babel/helper-regex/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz", + "integrity": "sha512-BvcDWYZRWVuDeXTYZWxekQNO5D4kO55aArwZOTFXw6rlLQA8ZaDicJR1sO47h+HrnCiDFiww0fSPV0d713KBGQ==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz", + "integrity": "sha512-R6HU3dete+rwsdAfrOzTlE9Mcpk4RjU3aX3gi9grtmugQY0u79X7eogUvfXA5sI81Mfq1cn6AgxihfN33STjJA==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.2.tgz", + "integrity": "sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.1.2" + } + }, + "node_modules/@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "dependencies": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0.tgz", + "integrity": "sha512-RgJhNdRinpO8zibnoHbzTTexNs4c8ROkXFBanNDZTLHjwbdLk8J5cJSKulx/bycWTLYmKVNCkxRtVCoJnqPk+g==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.1.0.tgz", + "integrity": "sha512-Fq803F3Jcxo20MXUSDdmZZXrPe6BWyGcWBPPNB/M7WaUYESKDeKMOGIxEzQOjGSmW/NWb6UaPZrtTB2ekhB/ew==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz", + "integrity": "sha512-kfVdUkIAGJIVmHmtS/40i/fg/AGnw/rsZBCaapY5yjeO5RA9m165Xbw9KMOu2nqXP5dTFjEjHdfNdoVcHv133Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz", + "integrity": "sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz", + "integrity": "sha512-JPqAvLG1s13B/AuoBjdBYvn38RqW6n1TzrQO839/sIpqLpbnXKacsAgpZHzLD83Sm8SDXMkkrAvEnJ25+0yIpw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz", + "integrity": "sha512-tM3icA6GhC3ch2SkmSxv7J/hCWKISzwycub6eGsDrFDgukD4dZ/I+x81XgW0YslS6mzNuQ1Cbzh5osjIMgepPQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.2.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex/node_modules/regexpu-core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", + "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.4.0", + "regjsparser": "^0.3.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex/node_modules/regjsgen": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", + "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", + "dev": true + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex/node_modules/regjsparser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", + "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz", + "integrity": "sha512-im7ged00ddGKAjcZgewXmp1vxSZQQywuQXe2B1A7kajjZmDeY/ekMPmWr9zJgveSaQH0k7BcGrojQhcK06l0zA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz", + "integrity": "sha512-UlSfNydC+XLj4bw7ijpldc1uZ/HB84vw+U6BTuqMdIEmz/LDe63w/GHtpQMdXWdqQZFeAI9PjnHe/vDhwirhKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz", + "integrity": "sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz", + "integrity": "sha512-Wc+HVvwjcq5qBg1w5RG9o9RVzmCaAg/Vp0erHCKpAYV8La6I94o4GQAmFYNmkzoMO6gzoOSulpKeSSz6mPEoZw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz", + "integrity": "sha512-2EZDBl1WIO/q4DIkIp4s86sdp4ZifL51MoIviLY/gG/mLSuOIEg7J8o6mhbxOTvUJkaN50n+8u41FVsr5KLy/w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.1.0.tgz", + "integrity": "sha512-rNmcmoQ78IrvNCIt/R9U+cixUHeYAzgusTFgIAv+wQb9HJU4szhpDD6e5GCACmj/JP5KxuCwM96bX3L9v4ZN/g==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz", + "integrity": "sha512-AOBiyUp7vYTqz2Jibe1UaAWL0Hl9JUXEgjFvvvcSc9MVDItv46ViXFw2F7SVt1B5k+KWjl44eeXOAk3UDEaJjQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz", + "integrity": "sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz", + "integrity": "sha512-rNaqoD+4OCBZjM7VaskladgqnZ1LO6o2UxuWSDzljzW21pN1KXkB7BstAVweZdxQkHAujps5QMNOTWesBciKFg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", + "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz", + "integrity": "sha512-ubouZdChNAv4AAWAgU7QKbB93NU5sHwInEWfp+/OzJKA02E6Woh9RVoX4sZrbRwtybky/d7baTUqwFx+HgbvMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.1.3.tgz", + "integrity": "sha512-Mb9M4DGIOspH1ExHOUnn2UUXFOyVTiX84fXCd+6B5iWrQg/QMeeRmSwpZ9lnjYLSXtZwiw80ytVMr3zue0ucYw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz", + "integrity": "sha512-00THs8eJxOJUFVx1w8i1MBF4XH4PsAjKjQ1eqN/uCH3YKwP21GCKfrn6YZFZswbOk9+0cw1zGQPHVc1KBlSxig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex/node_modules/regexpu-core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", + "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.4.0", + "regjsparser": "^0.3.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex/node_modules/regjsgen": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", + "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", + "dev": true + }, + "node_modules/@babel/plugin-transform-dotall-regex/node_modules/regjsparser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", + "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz", + "integrity": "sha512-w2vfPkMqRkdxx+C71ATLJG30PpwtTpW7DDdLqYt2acXU7YjztzeWW2Jk1T6hKqCLYCcEA5UQM/+xTAm+QCSnuQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.1.0.tgz", + "integrity": "sha512-uZt9kD1Pp/JubkukOGQml9tqAeI8NkE98oZnHZ2qHRElmeKCodbTZgOEUtujSCSLhHSBWbzNiFSDIMC4/RBTLQ==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz", + "integrity": "sha512-TlxKecN20X2tt2UEr2LNE6aqA0oPeMT1Y3cgz8k4Dn1j5ObT8M3nl9aA37LLklx0PBZKETC9ZAf9n/6SujTuXA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.1.0.tgz", + "integrity": "sha512-VxOa1TMlFMtqPW2IDYZQaHsFrq/dDoIjgN098NowhexhZcz3UGlvPgZXuE1jEvNygyWyxRacqDpCZt+par1FNg==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz", + "integrity": "sha512-1NTDBWkeNXgpUcyoVFxbr9hS57EpZYXpje92zv0SUzjdu3enaRwF/l3cmyRnXLtIdyJASyiS6PtybK+CgKf7jA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.1.0.tgz", + "integrity": "sha512-wt8P+xQ85rrnGNr2x1iV3DW32W8zrB6ctuBkYBbf5/ZzJY99Ob4MFgsZDFgczNU76iy9PWsy4EuxOliDjdKw6A==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz", + "integrity": "sha512-wtNwtMjn1XGwM0AXPspQgvmE6msSJP15CX2RVfpTSTNPLhKhaOjaIfBaVfj4iUZ/VrFSodcFedwtPg/NxwQlPA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.1.3.tgz", + "integrity": "sha512-PvTxgjxQAq4pvVUZF3mD5gEtVDuId8NtWkJsZLEJZMZAW3TvgQl1pmydLLN1bM8huHFVVU43lf0uvjQj9FRkKw==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.1.0.tgz", + "integrity": "sha512-enrRtn5TfRhMmbRwm7F8qOj0qEYByqUvTttPEGimcBH4CJHphjyK1Vg7sdU7JjeEmgSpM890IT/efS2nMHwYig==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz", + "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.1.0.tgz", + "integrity": "sha512-/O02Je1CRTSk2SSJaq0xjwQ8hG4zhZGNjE8psTsSNPXyLRCODv7/PBozqT5AmQMzp7MI3ndvMhGdqp9c96tTEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.1.0.tgz", + "integrity": "sha512-vHV7oxkEJ8IHxTfRr3hNGzV446GAb+0hgbA7o/0Jd76s+YzccdWuTU296FOCOl/xweU4t/Ya4g41yWz80RFCRw==", + "dev": true, + "dependencies": { + "@babel/helper-call-delegate": "^7.1.0", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", + "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.13.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator/node_modules/regenerator-transform": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", + "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", + "dev": true, + "dependencies": { + "private": "^0.1.6" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz", + "integrity": "sha512-g/99LI4vm5iOf5r1Gdxq5Xmu91zvjhEG5+yZDJW268AZELAu4J1EiFLnkSG3yuUsZyOipVOVUKoGPYwfsTymhw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz", + "integrity": "sha512-L702YFy2EvirrR4shTj0g2xQp7aNwZoWNCkNu2mcoU0uyzMl0XRwDSwzB/xp6DSUFiBmEXuyAyEN16LsgVqGGQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz", + "integrity": "sha512-LFUToxiyS/WD+XEWpkx/XJBrUXKewSZpzX68s+yEOtIbdnsRjpryDw9U06gYc6klYEij/+KQVRnD3nz3AoKmjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz", + "integrity": "sha512-vA6rkTCabRZu7Nbl9DfLZE1imj4tzdWcg5vtdQGvj+OH9itNNB6hxuRMHuIY8SGnEt1T9g5foqs9LnrHzsqEFg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz", + "integrity": "sha512-1r1X5DO78WnaAIvs5uC48t41LLckxsYklJrZjNKcevyz83sF2l4RHbw29qrCPr/6ksFsdfRpT/ZgxNWHXRnffg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz", + "integrity": "sha512-uJBrJhBOEa3D033P95nPHu3nbFwFE9ZgXsfEitzoIXIwqAZWk7uXcg06yFKXz9FSxBH5ucgU/cYdX0IV8ldHKw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex/node_modules/regexpu-core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", + "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.4.0", + "regjsparser": "^0.3.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex/node_modules/regjsgen": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", + "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", + "dev": true + }, + "node_modules/@babel/plugin-transform-unicode-regex/node_modules/regjsparser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", + "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.1.0.tgz", + "integrity": "sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.1.0", + "@babel/plugin-proposal-json-strings": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.0.0", + "@babel/plugin-syntax-async-generators": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.1.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.1.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-dotall-regex": "^7.0.0", + "@babel/plugin-transform-duplicate-keys": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.1.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.1.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-amd": "^7.1.0", + "@babel/plugin-transform-modules-commonjs": "^7.1.0", + "@babel/plugin-transform-modules-systemjs": "^7.0.0", + "@babel/plugin-transform-modules-umd": "^7.1.0", + "@babel/plugin-transform-new-target": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.1.0", + "@babel/plugin-transform-parameters": "^7.1.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typeof-symbol": "^7.0.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "browserslist": "^4.1.0", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/browserslist": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.2.1.tgz", + "integrity": "sha512-1oO0c7Zhejwd+LXihS89WqtKionSbz298rJZKJgfrHIZhrV8AC15gw553VcB0lcEugja7IhWD7iAlrsamfYVPA==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30000890", + "electron-to-chromium": "^1.3.79", + "node-releases": "^1.0.0-alpha.14" + }, + "bin": { + "browserslist": "cli.js" + } + }, + "node_modules/@babel/preset-env/node_modules/caniuse-lite": { + "version": "1.0.30000892", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000892.tgz", + "integrity": "sha512-X9rxMaWZNbJB5qjkDqPtNv/yfViTeUL6ILk0QJNxLV3OhKC5Acn5vxsuUvllR6B48mog8lmS+whwHq/QIYSL9w==", + "dev": true + }, + "node_modules/@babel/preset-env/node_modules/electron-to-chromium": { + "version": "1.3.79", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.79.tgz", + "integrity": "sha512-LQdY3j4PxuUl6xfxiFruTSlCniTrTrzAd8/HfsLEMi0PUpaQ0Iy+Pr4N4VllDYjs0Hyu2lkTbvzqlG+PX9NsNw==", + "dev": true + }, + "node_modules/@babel/template": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz", + "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.1.2", + "@babel/types": "^7.1.2" + } + }, + "node_modules/@babel/template/node_modules/@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.4.tgz", + "integrity": "sha512-my9mdrAIGdDiSVBuMjpn/oXYpva0/EZwWL3sm3Wcy/AVWO2eXnsoZruOT9jOGNRXU8KbCIu5zsKnXcAJ6PcV6Q==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.1.3", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.1.3", + "@babel/types": "^7.1.3", + "debug": "^3.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", + "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/traverse/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/@babel/types": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", + "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@babel/types/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/@babel/types/node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@magenta/music": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@magenta/music/-/music-1.20.0.tgz", + "integrity": "sha512-/WSdKaKt+omMKXwf/LRHb9UgfwcCWQKbMwM6HFauXATTReg2Tz/5sIZ2FTaXfNvmX+d7/NZp5ZGifJGpzRUI/A==", + "dependencies": { + "@tensorflow/tfjs": "^1.1.2", + "@tonejs/midi": "^2.0.15", + "fft.js": "^4.0.3", + "ndarray-resample": "^1.0.1", + "protobufjs": "^6.8.6", + "staffrender": "^0.2.1", + "tonal": "^2.0.0", + "tone": "^13.8.21" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, + "node_modules/@tensorflow/tfjs": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-1.7.4.tgz", + "integrity": "sha512-XWGwRQ/ECEoQacd74JY/dmbLdnMpwtq3H8tls45dQ+GJ553Advir1FDo/aQt0Yr6fTimQDeiOIG4Mcb5KduP/w==", + "dependencies": { + "@tensorflow/tfjs-converter": "1.7.4", + "@tensorflow/tfjs-core": "1.7.4", + "@tensorflow/tfjs-data": "1.7.4", + "@tensorflow/tfjs-layers": "1.7.4" + } + }, + "node_modules/@tensorflow/tfjs-converter": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-1.7.4.tgz", + "integrity": "sha512-B/Ux9I3osI0CXoESGR0Xe5C6BsEfC04+g2xn5zVaW9KEuVEnGEgnuBQxgijRFzkqTwoyLv4ptAmjyIghVARX0Q==", + "peerDependencies": { + "@tensorflow/tfjs-core": "1.7.4" + } + }, + "node_modules/@tensorflow/tfjs-core": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-1.7.4.tgz", + "integrity": "sha512-3G4VKJ6nPs7iCt6gs3bjRj8chihKrYWenf63R0pm7D9MhlrVoX/tpN4LYVMGgBL7jHPxMLKdOkoAZJrn/J88HQ==", + "dependencies": { + "@types/offscreencanvas": "~2019.3.0", + "@types/seedrandom": "2.4.27", + "@types/webgl-ext": "0.0.30", + "@types/webgl2": "0.0.4", + "node-fetch": "~2.1.2", + "seedrandom": "2.4.3" + }, + "engines": { + "yarn": ">= 1.3.2" + } + }, + "node_modules/@tensorflow/tfjs-core/node_modules/node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=", + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/@tensorflow/tfjs-data": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-1.7.4.tgz", + "integrity": "sha512-WFYG9wWjNDi62x6o3O20Q0XJxToCw2J4/fBEXiK/Gr0hIqVhl2oLQ1OjTWq7O08NUxM6BRzuG+ra3gWYdQUzOw==", + "dependencies": { + "@types/node-fetch": "^2.1.2", + "node-fetch": "~2.1.2" + }, + "peerDependencies": { + "@tensorflow/tfjs-core": "1.7.4", + "seedrandom": "~2.4.3" + } + }, + "node_modules/@tensorflow/tfjs-data/node_modules/node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=", + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/@tensorflow/tfjs-layers": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-1.7.4.tgz", + "integrity": "sha512-5/K8Z8RBfXsucL6EaSeb3/8jB/I8oPaaXkxwKVsBPQ+u6lB6LEtSKzeiFc57nDr5OMtVaUZV+pKDNEzP0RUQlg==", + "peerDependencies": { + "@tensorflow/tfjs-core": "1.7.4" + } + }, + "node_modules/@tonejs/midi": { + "version": "2.0.25", + "resolved": "https://registry.npmjs.org/@tonejs/midi/-/midi-2.0.25.tgz", + "integrity": "sha512-zT8pZy/upJCGqXHSCO1+U39wgWIaizDg+sv7nVReJehMcT86Peh+zo5kQ42Guwgc/gnv47n7fJhoTRGsJVaqJQ==", + "dependencies": { + "array-flatten": "^2.1.2", + "midi-file": "^1.1.2" + } + }, + "node_modules/@tonejs/midi/node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "node_modules/@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" + }, + "node_modules/@types/node": { + "version": "14.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.9.tgz", + "integrity": "sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==" + }, + "node_modules/@types/node-fetch": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", + "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", + "dependencies": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "node_modules/@types/node-fetch/node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@types/node-fetch/node_modules/form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/offscreencanvas": { + "version": "2019.3.0", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.3.0.tgz", + "integrity": "sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==" + }, + "node_modules/@types/seedrandom": { + "version": "2.4.27", + "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-2.4.27.tgz", + "integrity": "sha1-nbVjk33YaRX2kJK8QyWdL0hXjkE=" + }, + "node_modules/@types/webgl-ext": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/webgl-ext/-/webgl-ext-0.0.30.tgz", + "integrity": "sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==" + }, + "node_modules/@types/webgl2": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.4.tgz", + "integrity": "sha512-PACt1xdErJbMUOUweSrbVM7gSIYm1vTncW2hF6Os/EeWi6TXYAYMPp+8v6rzHmypE5gHrxaxZNXgMkJVIdZpHw==" + }, + "node_modules/@vernier/godirect": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vernier/godirect/-/godirect-1.5.0.tgz", + "integrity": "sha512-vMS0fQubI3WSSLg1Ry3aey/qWCl9XoCsFzgwOWYkeJs45YxjPel+42pLh5pO7uP6oF47sjZUKx8kGOoTiiiirA==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.5.13.tgz", + "integrity": "sha512-49nwvW/Hx9i+OYHg+mRhKZfAlqThr11Dqz8TsrvqGKMhdI2ijy3KBJOun2Z4770TPjrIJhR6KxChQIDaz8clDA==", + "dependencies": { + "@webassemblyjs/helper-module-context": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/wast-parser": "1.5.13", + "debug": "^3.1.0", + "mamacro": "^0.0.3" + } + }, + "node_modules/@webassemblyjs/ast/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@webassemblyjs/ast/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz", + "integrity": "sha512-vrvvB18Kh4uyghSKb0NTv+2WZx871WL2NzwMj61jcq2bXkyhRC+8Q0oD7JGVf0+5i/fKQYQSBCNMMsDMRVAMqA==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz", + "integrity": "sha512-dBh2CWYqjaDlvMmRP/kudxpdh30uXjIbpkLj9HQe+qtYlwvYjPRjdQXrq1cTAAOUSMTtzqbXIxEdEZmyKfcwsg==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz", + "integrity": "sha1-hzuwobRkSSMRN8EmLd/QVpUZWh4=", + "dependencies": { + "debug": "^3.1.0" + } + }, + "node_modules/@webassemblyjs/helper-buffer/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@webassemblyjs/helper-buffer/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz", + "integrity": "sha512-yN6ScQQDFCiAXnVctdVO/J5NQRbwyTbQzsGzEgXsAnrxhjp0xihh+nNHQTMrq5UhOqTb5LykpJAvEv9AT0jnAQ==", + "dependencies": { + "@webassemblyjs/wast-printer": "1.5.13" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz", + "integrity": "sha512-hSIKzbXjVMRvy3Jzhgu+vDd/aswJ+UMEnLRCkZDdknZO3Z9e6rp1DAs0tdLItjCFqkz9+0BeOPK/mk3eYvVzZg==" + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz", + "integrity": "sha512-zxJXULGPLB7r+k+wIlvGlXpT4CYppRz8fLUM/xobGHc9Z3T6qlmJD9ySJ2jknuktuuiR9AjnNpKYDECyaiX+QQ==", + "dependencies": { + "debug": "^3.1.0", + "mamacro": "^0.0.3" + } + }, + "node_modules/@webassemblyjs/helper-module-context/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@webassemblyjs/helper-module-context/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz", + "integrity": "sha512-0n3SoNGLvbJIZPhtMFq0XmmnA/YmQBXaZKQZcW8maGKwLpVcgjNrxpFZHEOLKjXJYVN5Il8vSfG7nRX50Zn+aw==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz", + "integrity": "sha1-78dvRKENMHO1hLQ8OKF53xc9XH0=", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "debug": "^3.1.0" + } + }, + "node_modules/@webassemblyjs/helper-wasm-section/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@webassemblyjs/helper-wasm-section/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz", + "integrity": "sha1-Vz6XyMEuTuuzFspf3gID3dkLA2Q=", + "dependencies": { + "ieee754": "^1.1.11" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.5.13.tgz", + "integrity": "sha1-q1Lrq5zsKDwcGJesHagzoEo/TO4=", + "dependencies": { + "long": "4.0.0" + } + }, + "node_modules/@webassemblyjs/leb128/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha1-mntxz7fTYaGU6lVSQckvdGjVvyg=" + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.5.13.tgz", + "integrity": "sha1-a1PSzYYc+U+pnB8Sd53eaS+8JGk=" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz", + "integrity": "sha1-yc71ZkwkXPEbOzpzEQyRVYMXJKg=", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/helper-wasm-section": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "@webassemblyjs/wasm-opt": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "@webassemblyjs/wast-printer": "1.5.13", + "debug": "^3.1.0" + } + }, + "node_modules/@webassemblyjs/wasm-edit/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@webassemblyjs/wasm-edit/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz", + "integrity": "sha1-jm6hE8S0MvpmVAGJ55sW16FAcA4=", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/ieee754": "1.5.13", + "@webassemblyjs/leb128": "1.5.13", + "@webassemblyjs/utf8": "1.5.13" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz", + "integrity": "sha1-FHqtdxen7kIRw2shpfTDDd3zMTg=", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "debug": "^3.1.0" + } + }, + "node_modules/@webassemblyjs/wasm-opt/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@webassemblyjs/wasm-opt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz", + "integrity": "sha1-b0ZRbFuyOQT731gAkjPC3YpUxy8=", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-api-error": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/ieee754": "1.5.13", + "@webassemblyjs/leb128": "1.5.13", + "@webassemblyjs/utf8": "1.5.13" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz", + "integrity": "sha512-Lbz65T0LQ1LgzKiUytl34CwuhMNhaCLgrh0JW4rJBN6INnBB8NMwUfQM+FxTnLY9qJ+lHJL/gCM5xYhB9oWi4A==", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/floating-point-hex-parser": "1.5.13", + "@webassemblyjs/helper-api-error": "1.5.13", + "@webassemblyjs/helper-code-frame": "1.5.13", + "@webassemblyjs/helper-fsm": "1.5.13", + "long": "^3.2.0", + "mamacro": "^0.0.3" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz", + "integrity": "sha512-QcwogrdqcBh8Z+eUF8SG+ag5iwQSXxQJELBEHmLkk790wgQgnIMmntT2sMAMw53GiFNckArf5X0bsCA44j3lWQ==", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/wast-parser": "1.5.13", + "long": "^3.2.0" + } + }, + "node_modules/accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "dev": true, + "dependencies": { + "mime-types": "~2.1.18", + "negotiator": "0.6.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha1-ceRkU3p++BwV8tudl+kT/A/2BvA=", + "dev": true, + "dependencies": { + "mime-db": "~1.35.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-dynamic-import": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", + "dependencies": { + "acorn": "^5.0.0" + } + }, + "node_modules/acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "dependencies": { + "acorn": "^3.0.4" + } + }, + "node_modules/acorn-jsx/node_modules/acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adm-zip": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.11.tgz", + "integrity": "sha512-L8vcjDTCOIJk7wFvmlEUN7AsSb8T+2JrdP7KINBjzr24TJ5Mwj590sLu3BC7zNZowvJWa/JtPmD8eJCzdtDWjA==", + "dev": true, + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + }, + "node_modules/ajv": { + "version": "4.11.8", + "resolved": "http://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "dependencies": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz", + "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=", + "dev": true, + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", + "dev": true, + "peerDependencies": { + "ajv": ">=4.10.0" + } + }, + "node_modules/align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dependencies": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/align-text/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "devOptional": true, + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/ansi-escapes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "node_modules/argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-flatten": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arraybuffer-loader": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/arraybuffer-loader/-/arraybuffer-loader-1.0.6.tgz", + "integrity": "sha1-3gZExXCnnOK7vGCcdaZ8go9jYsc=", + "dependencies": { + "loader-utils": "^1.1.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/arraybuffer.slice": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", + "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=" + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true, + "optional": true + }, + "node_modules/asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dependencies": { + "util": "0.10.3" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + }, + "node_modules/async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/audio-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/audio-context/-/audio-context-1.0.1.tgz", + "integrity": "sha1-zsTbis5u9KrL8Q7vCXekVxRo1Ks=", + "deprecated": "Depends on Web-Audio-API implementation. Use either web-audio-api, web-audio-js or web-audio-engine package.", + "dev": true, + "dependencies": { + "global": "^4.3.1" + } + }, + "node_modules/aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.6.0", + "resolved": "http://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" + }, + "node_modules/babel-code-frame": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", + "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "dev": true, + "dependencies": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" + } + }, + "node_modules/babel-eslint": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz", + "integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==", + "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "^1.0.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">= 4.12.1" + } + }, + "node_modules/babel-eslint/node_modules/@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.0.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/generator": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz", + "integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.1.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "node_modules/babel-eslint/node_modules/@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "dependencies": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/template": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz", + "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.1.2", + "@babel/types": "^7.1.2" + } + }, + "node_modules/babel-eslint/node_modules/@babel/template/node_modules/@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/traverse": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.4.tgz", + "integrity": "sha512-my9mdrAIGdDiSVBuMjpn/oXYpva0/EZwWL3sm3Wcy/AVWO2eXnsoZruOT9jOGNRXU8KbCIu5zsKnXcAJ6PcV6Q==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.1.3", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.1.3", + "@babel/types": "^7.1.3", + "debug": "^3.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" + } + }, + "node_modules/babel-eslint/node_modules/@babel/traverse/node_modules/@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/types": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", + "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/babel-eslint/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-eslint/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-eslint/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/babel-eslint/node_modules/globals": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", + "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-eslint/node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/babel-eslint/node_modules/jsesc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", + "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-eslint/node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/babel-eslint/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/babel-eslint/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-eslint/node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-loader": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.4.tgz", + "integrity": "sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "util.promisify": "^1.0.0" + }, + "engines": { + "node": ">= 6.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-plugin-extract-format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-extract-format-message/-/babel-plugin-extract-format-message-6.2.0.tgz", + "integrity": "sha512-aFr8LeYCAlPjXGMaKlCGkrAxMNjPfS4FXAV7VLY4qgF+68xpHooqpkJndOA7cYSkeXO3LFCwOA4oy14xeEOmZg==", + "dev": true, + "dependencies": { + "format-message-estree-util": "^6.1.0", + "format-message-generate-id": "^6.2.0", + "format-message-parse": "^6.2.0", + "format-message-print": "^6.2.0" + } + }, + "node_modules/babel-plugin-extract-format-message/node_modules/format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", + "dev": true + }, + "node_modules/babel-plugin-react-intl": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-2.4.0.tgz", + "integrity": "sha512-r67nOQdpKxPtDFiJHquTt9dBG0xOlBk1u3rForULNrDXvTzg5RRHbB7RLqqMWOvqfP2znTo0C+e/PLnPKt+JXA==", + "deprecated": "this package has been renamed to babel-plugin-formatjs", + "dev": true, + "dependencies": { + "babel-runtime": "^6.2.0", + "intl-messageformat-parser": "^1.2.0", + "mkdirp": "^0.5.1" + } + }, + "node_modules/babel-plugin-transform-format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-format-message/-/babel-plugin-transform-format-message-6.2.0.tgz", + "integrity": "sha512-rj88gOe7ENYKSX74Yd0wTpUr1Ty8247OfGZqJh6flwElt8vtBwBAGONXoEG0B+QlRpm9iDgiPJhpFCv3tEok/w==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/parser": "^7.0.0", + "format-message": "^6.2.0", + "format-message-estree-util": "^6.1.0", + "format-message-formats": "^6.2.0", + "format-message-generate-id": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0", + "source-map": "^0.5.7" + } + }, + "node_modules/babel-plugin-transform-format-message/node_modules/format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.0.tgz", + "integrity": "sha512-QzjDk0owKnAj/+HviUIaR6I3y6zOa8hKdbQbkl7ejkjbaVJ0j4YWllZmZDAyNrG2iEWdqKCmIU1mum8mHGLEFw==", + "dev": true, + "dependencies": { + "format-message-formats": "^6.2.0", + "format-message-interpret": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "node_modules/babel-plugin-transform-format-message/node_modules/format-message-formats": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", + "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==", + "dev": true + }, + "node_modules/babel-plugin-transform-format-message/node_modules/format-message-interpret": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.0.tgz", + "integrity": "sha512-G2WxW9c/vk97rPgbP67p/6BdpoZI8g4LdKDIqxAlXQq1ZI3uQTV2a5f9q3Big04hjSsI8uTgzWWmF4ht50foyw==", + "dev": true, + "dependencies": { + "format-message-formats": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "node_modules/babel-plugin-transform-format-message/node_modules/format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", + "dev": true + }, + "node_modules/babel-plugin-transform-format-message/node_modules/lookup-closest-locale": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", + "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==", + "dev": true + }, + "node_modules/babel-plugin-transform-format-message/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "node_modules/balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + }, + "node_modules/base64-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64-loader/-/base64-loader-1.0.0.tgz", + "integrity": "sha1-5TC62I6QbdKh+tCvLZ5oP6i9kqg=", + "dev": true + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "optional": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "dependencies": { + "callsite": "1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/big.js": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", + "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bind-obj-methods": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-2.0.0.tgz", + "integrity": "sha1-AXgUDb57e7Z9x0iSrOWbwCR/BvA=", + "dev": true + }, + "node_modules/bit-twiddle": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", + "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" + }, + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/blob": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=" + }, + "node_modules/bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=" + }, + "node_modules/bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=" + }, + "node_modules/body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true, + "dependencies": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.1", + "http-errors": "~1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "~2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "~1.6.15" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "node_modules/boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", + "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", + "dependencies": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/brfs": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", + "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", + "dev": true, + "dependencies": { + "quote-stream": "^1.0.1", + "resolve": "^1.1.5", + "static-module": "^2.2.0", + "through2": "^2.0.0" + }, + "bin": { + "brfs": "bin/cmd.js" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "node_modules/browser-hrtime": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/browser-hrtime/-/browser-hrtime-1.1.8.tgz", + "integrity": "sha512-kzXheikaJsBtzUBlyVtPIY5r0soQePzjwVwT4IlDpU2RvfB5Py52gpU98M77rgqMCheoSSZvrcrdj3t6cZ3suA==" + }, + "node_modules/browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-des/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dependencies": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dependencies": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", + "bin": { + "btoa": "bin/btoa.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "deprecated": "This version of 'buffer' is out-of-date. You must update to v4.9.2 or newer", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "node_modules/builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dependencies": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "node_modules/cacache/node_modules/rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dependencies": { + "glob": "^7.0.5" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "dependencies": { + "callsites": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "engines": { + "node": "*" + } + }, + "node_modules/callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "dependencies": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/canvas-toBlob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/canvas-toBlob/-/canvas-toBlob-1.0.0.tgz", + "integrity": "sha1-m/MrKGu04SUhiyCO7MgyH9Az5sM=" + }, + "node_modules/caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=" + }, + "node_modules/catharsis": { + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz", + "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", + "dev": true, + "dependencies": { + "underscore-contrib": "~0.3.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dependencies": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "node_modules/chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "lodash.debounce": "^4.0.8", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.5" + }, + "optionalDependencies": { + "fsevents": "^1.2.2" + } + }, + "node_modules/chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" + }, + "node_modules/chrome-trace-event": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", + "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=", + "deprecated": "CircularJSON is in maintenance only, flatted is its successor.", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-yaml-object": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", + "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", + "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", + "dev": true, + "dependencies": { + "color-name": "1.1.1" + } + }, + "node_modules/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI=", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha512-OsSVtHK8Ir8r3+Fxw/b4jS1ZLPXkV6ZxDRJQzeD7qo0SqMXWrHDM71DgYzPMHY8SFJ0Ao+nNU2p1MmwdzKqPrw==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dependencies": { + "graceful-readlink": ">= 1.0.0" + }, + "engines": { + "node": ">= 0.6.x" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "node_modules/component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + }, + "node_modules/component-emitter": { + "version": "1.2.1", + "resolved": "http://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "node_modules/component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + }, + "node_modules/compressible": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", + "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", + "dev": true, + "dependencies": { + "mime-db": ">= 1.34.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compressible/node_modules/mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", + "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.14", + "debug": "2.6.9", + "on-headers": "~1.0.1", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dependencies": { + "date-now": "^0.1.4" + } + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "node_modules/cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.4.tgz", + "integrity": "sha512-0lstlEyj74OAtYMrDxlNZsU7cwFijAI3Ofz2fD6Mpo9r4xCv4yegfa3uHIKvZY1NSuOtE9nvG6TAhJ+uz9gDaQ==", + "dev": true, + "dependencies": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "node_modules/coveralls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.2.tgz", + "integrity": "sha512-Tv0LKe/MkBOilH2v7WBiTBdudg2ChfGbdXafc/s330djpF3zKOmuehTeRwjXWc7pzfj9FrDUTA7tEx6Div8NFw==", + "dev": true, + "dependencies": { + "growl": "~> 1.10.0", + "js-yaml": "^3.11.0", + "lcov-parse": "^0.0.10", + "log-driver": "^1.2.7", + "minimist": "^1.2.0", + "request": "^2.85.0" + }, + "bin": { + "coveralls": "bin/coveralls.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/coveralls/node_modules/ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "dependencies": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/coveralls/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/coveralls/node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/coveralls/node_modules/aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "node_modules/coveralls/node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/coveralls/node_modules/combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/coveralls/node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/coveralls/node_modules/form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/coveralls/node_modules/har-validator": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", + "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^5.3.0", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coveralls/node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/coveralls/node_modules/mime-db": { + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", + "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/coveralls/node_modules/mime-types": { + "version": "2.1.20", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", + "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", + "dev": true, + "dependencies": { + "mime-db": "~1.36.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/coveralls/node_modules/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "node_modules/coveralls/node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/coveralls/node_modules/request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/coveralls/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/coveralls/node_modules/tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "dependencies": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/coveralls/node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/coveralls/node_modules/uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/crc32": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/crc32/-/crc32-0.2.2.tgz", + "integrity": "sha1-etIg1v/c0Rn5/BJ6d3LKzqOQpLo=", + "dev": true, + "bin": { + "crc32": "bin/runner.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dependencies": { + "boom": "2.x.x" + }, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "dependencies": { + "array-find-index": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cwise": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/cwise/-/cwise-1.0.10.tgz", + "integrity": "sha1-JO7mBy69/WuMb12tsXCQtkmxK+8=", + "dependencies": { + "cwise-compiler": "^1.1.1", + "cwise-parser": "^1.0.0", + "static-module": "^1.0.0", + "uglify-js": "^2.6.0" + } + }, + "node_modules/cwise-compiler": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz", + "integrity": "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=", + "dependencies": { + "uniq": "^1.0.0" + } + }, + "node_modules/cwise-parser": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cwise-parser/-/cwise-parser-1.0.3.tgz", + "integrity": "sha1-jkk8F9VPl8sDCp6YVLyGyd+zVP4=", + "dependencies": { + "esprima": "^1.0.3", + "uniq": "^1.0.0" + } + }, + "node_modules/cwise-parser/node_modules/esprima": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz", + "integrity": "sha1-CZNQL+r2aBODJXVvMPmlH+7sEek=", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/cwise/node_modules/duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dependencies": { + "readable-stream": "~1.1.9" + } + }, + "node_modules/cwise/node_modules/duplexer2/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/cwise/node_modules/escodegen": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", + "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", + "dependencies": { + "esprima": "~1.1.1", + "estraverse": "~1.5.0", + "esutils": "~1.0.0" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.10.0" + }, + "optionalDependencies": { + "source-map": "~0.1.33" + } + }, + "node_modules/cwise/node_modules/esprima": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", + "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/cwise/node_modules/estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/cwise/node_modules/esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cwise/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "node_modules/cwise/node_modules/object-inspect": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz", + "integrity": "sha1-9RV8EWwUVbJDsG7pdwM5LFrYn+w=" + }, + "node_modules/cwise/node_modules/object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" + }, + "node_modules/cwise/node_modules/quote-stream": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-0.0.0.tgz", + "integrity": "sha1-zeKelMQJsW4Z3HCYuJtmWPlyHTs=", + "dependencies": { + "minimist": "0.0.8", + "through2": "~0.4.1" + } + }, + "node_modules/cwise/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/cwise/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "optional": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/cwise/node_modules/static-eval": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-0.2.4.tgz", + "integrity": "sha1-t9NNg4k3uWn5ZBygfUj47eJj6ns=", + "dependencies": { + "escodegen": "~0.0.24" + } + }, + "node_modules/cwise/node_modules/static-eval/node_modules/escodegen": { + "version": "0.0.28", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz", + "integrity": "sha1-Dk/xcV8yh3XWyrUaxEpAbNer/9M=", + "dependencies": { + "esprima": "~1.0.2", + "estraverse": "~1.3.0" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.4.0" + }, + "optionalDependencies": { + "source-map": ">= 0.1.2" + } + }, + "node_modules/cwise/node_modules/static-eval/node_modules/esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/cwise/node_modules/static-eval/node_modules/estraverse": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz", + "integrity": "sha1-N8K4k+8T1yPydth41g2FNRUqbEI=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/cwise/node_modules/static-module": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-1.5.0.tgz", + "integrity": "sha1-J9qYg8QajNCSNvhC8MHrxu32PYY=", + "dependencies": { + "concat-stream": "~1.6.0", + "duplexer2": "~0.0.2", + "escodegen": "~1.3.2", + "falafel": "^2.1.0", + "has": "^1.0.0", + "object-inspect": "~0.4.0", + "quote-stream": "~0.0.0", + "readable-stream": "~1.0.27-1", + "shallow-copy": "~0.0.1", + "static-eval": "~0.2.0", + "through2": "~0.4.1" + } + }, + "node_modules/cwise/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "node_modules/cwise/node_modules/through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "dependencies": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "node_modules/cwise/node_modules/xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=" + }, + "node_modules/d": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.9" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dashdash/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + }, + "node_modules/debug": { + "version": "2.6.6", + "resolved": "http://registry.npmjs.org/debug/-/debug-2.6.6.tgz", + "integrity": "sha1-qfpvvpykPPHnn3O3XAGJy7fW21o=", + "deprecated": "invalid release", + "dependencies": { + "ms": "0.7.3" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-html": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decode-html/-/decode-html-2.0.0.tgz", + "integrity": "sha1-fQqIfORCgOYJeKcH67f4CB/WHqo=" + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, + "dependencies": { + "foreach": "^2.0.5", + "object-keys": "^1.0.8" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "dependencies": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "node_modules/detect-node": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", + "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", + "dev": true + }, + "node_modules/diff": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", + "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-match-patch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.4.tgz", + "integrity": "sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg==" + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "node_modules/dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo=", + "dev": true, + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "dependencies": { + "buffer-indexof": "^1.0.0" + } + }, + "node_modules/docdash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/docdash/-/docdash-1.0.0.tgz", + "integrity": "sha512-HhK72PT4z55og8FDqskO/tTYXxU+LovRz+9pCDHLnUoPchkxjdIJidS+96LqW3CLrRdBmnkDRrcVrDFGLIluTw==", + "dev": true + }, + "node_modules/doctrine": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", + "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dependencies": { + "domelementtype": "~1.1.1", + "entities": "~1.1.1" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" + }, + "node_modules/dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "deprecated": "update to domelementtype@1.3.1" + }, + "node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/dompurify": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.7.tgz", + "integrity": "sha512-jdtDffdGNY+C76jvodNTu9jt5yYj59vuTUyx+wXdzcSwAGTYZDAQkQ7Iwx9zcGrA4ixC1syU4H3RZROqRxokxg==", + "dev": true + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/dup": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz", + "integrity": "sha1-UfxaxoX4GWRp3wuQXpNLIK9bQCk=" + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/duplexify": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "optional": true, + "dependencies": { + "jsbn": "~0.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "~0.4.13" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/engine.io-client": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.4.tgz", + "integrity": "sha1-T88TcLRxY70s6b4nM5ckMDUNTqE=", + "dependencies": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~2.6.9", + "engine.io-parser": "~2.1.1", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~3.3.1", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + } + }, + "node_modules/engine.io-client/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/engine.io-client/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/engine.io-parser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.1.tgz", + "integrity": "sha1-4Ps/DgRi9/WLt3waUun1p+JuRmg=", + "dependencies": { + "after": "0.8.2", + "arraybuffer.slice": "0.0.6", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.4", + "has-binary2": "~1.0.2" + } + }, + "node_modules/enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" + }, + "node_modules/errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=", + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz", + "integrity": "sha1-aQgpoHyuNrIi5/2bdcDQVz6yUic=", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, + "dependencies": { + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es5-ext": { + "version": "0.10.16", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.16.tgz", + "integrity": "sha1-HvGwTz0J22pdYwIm1iIC8uQl5Fo=", + "dev": true, + "dependencies": { + "es6-iterator": "2", + "es6-symbol": "~3.1" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.1", + "resolved": "http://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", + "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-symbol": "^3.1" + } + }, + "node_modules/es6-map": { + "version": "0.1.5", + "resolved": "http://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "node_modules/es6-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=" + }, + "node_modules/es6-set": { + "version": "0.1.5", + "resolved": "http://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.1", + "resolved": "http://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.2", + "resolved": "http://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "dev": true, + "dependencies": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "dependencies": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/eslint": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.3.0.tgz", + "integrity": "sha1-U2laylITloqs35cMyyMeQqKyhfg=", + "dev": true, + "dependencies": { + "ajv": "^6.5.0", + "babel-code-frame": "^6.26.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^4.0.0", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.0.0", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.2", + "imurmurhash": "^0.1.4", + "inquirer": "^5.2.0", + "is-resolvable": "^1.1.0", + "js-yaml": "^3.11.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^2.0.0", + "require-uncached": "^1.0.3", + "semver": "^5.5.0", + "string.prototype.matchall": "^2.0.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^4.0.3", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^6.14.0 || ^8.10.0 || >=9.10.0" + } + }, + "node_modules/eslint-config-scratch": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-scratch/-/eslint-config-scratch-5.0.0.tgz", + "integrity": "sha1-s3OvhEFNO+0nkq3kGOmgxvrnmf0=", + "dev": true, + "optionalDependencies": { + "eslint-plugin-react": "^7.0" + }, + "peerDependencies": { + "babel-eslint": "^8.0.1", + "eslint": "^4.0" + } + }, + "node_modules/eslint-plugin-format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-format-message/-/eslint-plugin-format-message-6.2.0.tgz", + "integrity": "sha512-9Q1F0ndotgcDqbFDl99gSoubjHLfaOYnpp7X8+tEhfFrRIb+AAVYI5aUZdg+sEd7+UGGQbTMv8u+vwaCDda2sQ==", + "dev": true, + "dependencies": { + "format-message": "^6.2.0", + "format-message-estree-util": "^6.1.0", + "format-message-generate-id": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + }, + "peerDependencies": { + "eslint": ">=2.0.0" + } + }, + "node_modules/eslint-plugin-format-message/node_modules/format-message": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.0.tgz", + "integrity": "sha512-QzjDk0owKnAj/+HviUIaR6I3y6zOa8hKdbQbkl7ejkjbaVJ0j4YWllZmZDAyNrG2iEWdqKCmIU1mum8mHGLEFw==", + "dev": true, + "dependencies": { + "format-message-formats": "^6.2.0", + "format-message-interpret": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "node_modules/eslint-plugin-format-message/node_modules/format-message-formats": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", + "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==", + "dev": true + }, + "node_modules/eslint-plugin-format-message/node_modules/format-message-interpret": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.0.tgz", + "integrity": "sha512-G2WxW9c/vk97rPgbP67p/6BdpoZI8g4LdKDIqxAlXQq1ZI3uQTV2a5f9q3Big04hjSsI8uTgzWWmF4ht50foyw==", + "dev": true, + "dependencies": { + "format-message-formats": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "node_modules/eslint-plugin-format-message/node_modules/format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", + "dev": true + }, + "node_modules/eslint-plugin-format-message/node_modules/lookup-closest-locale": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", + "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==", + "dev": true + }, + "node_modules/eslint-plugin-react": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.5.1.tgz", + "integrity": "sha1-UuVujYDIEN4ViFnvB7iA0vVu4ws=", + "dev": true, + "optional": true, + "dependencies": { + "doctrine": "^2.0.0", + "has": "^1.0.1", + "jsx-ast-utils": "^2.0.0", + "prop-types": "^15.6.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", + "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha1-PzGA+y4pEBdxastMnW1bXDSmqB0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/acorn": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha1-8JWCkpdwanyXdpWMCvyJMKm52dg=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/eslint/node_modules/acorn-jsx": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz", + "integrity": "sha1-6OQeSOov4MiWdAYQq2pP/YrdIl4=", + "dev": true, + "dependencies": { + "acorn": "^5.0.3" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "node_modules/eslint/node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint/node_modules/babel-code-frame/node_modules/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, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/chalk/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/chalk/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha1-UL8wcekzi83EMzF5Sgy1M/ATYXI=", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint/node_modules/espree": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-4.0.0.tgz", + "integrity": "sha1-JTmY8goPgttdhmOFeZ2RKoOjZjQ=", + "dev": true, + "dependencies": { + "acorn": "^5.6.0", + "acorn-jsx": "^4.1.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint/node_modules/esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg=", + "dev": true, + "dependencies": { + "estraverse": "^4.0.0" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/eslint/node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "node_modules/eslint/node_modules/globals": { + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", + "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.5.tgz", + "integrity": "sha512-Q2daVnMtQJPacGrcCRyOEiI+syPCt+mR4YotoC0KEYeinV/6HztT5mUuVEj7UYyoNZ1jGYiu2XEem7I8oM44bg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", + "dev": true + }, + "node_modules/eslint/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/eslint/node_modules/lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha1-G3eTz3JZ6jj7NmHU04syYK+K5Oc=", + "dev": true + }, + "node_modules/eslint/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/eslint/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "dependencies": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "dependencies": { + "estraverse": "^4.0.0" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/esrecurse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "dependencies": { + "estraverse": "^4.1.0", + "object-assign": "^4.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "http://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "dev": true + }, + "node_modules/events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/events-to-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", + "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", + "dev": true + }, + "node_modules/eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, + "dependencies": { + "original": ">=0.0.5" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exports-loader": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.3.tgz", + "integrity": "sha1-V9x4kX9wm5byR/qR5ptVTIVQE8g=", + "dev": true, + "dependencies": { + "loader-utils": "0.2.x", + "source-map": "0.1.x" + } + }, + "node_modules/exports-loader/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/exports-loader/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/expose-loader": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-0.7.5.tgz", + "integrity": "sha512-iPowgKUZkTPX5PznYsmifVj9Bob0w2wTHVkt/eYNPSzyebkUgIedmskf/kcfEIWpiWjg3JRjnW+a17XypySMuw==", + "dev": true, + "engines": { + "node": ">= 4.3 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/express": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.3", + "qs": "6.5.1", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/express/node_modules/qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "dependencies": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/falafel": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", + "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", + "dependencies": { + "acorn": "^5.0.0", + "foreach": "^2.0.5", + "isarray": "0.0.1", + "object-keys": "^1.0.6" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/falafel/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "node_modules/fast-deep-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fast-xml-parser": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.0.8.tgz", + "integrity": "sha512-N4XqZaRMuHMvOFwFlqeBTlvrnXU+QN8wvCl2g9fHzMx2BnLoIYRDwy6XwI8FxogHMFI9OfGQBCddgckvSLTnvg==", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + }, + "funding": { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + }, + "node_modules/faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/fbjs": { + "version": "0.8.16", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", + "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "dev": true, + "optional": true, + "dependencies": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.9" + } + }, + "node_modules/fbjs/node_modules/core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "optional": true + }, + "node_modules/fbjs/node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", + "dev": true, + "optional": true, + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/fft.js": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fft.js/-/fft.js-4.0.3.tgz", + "integrity": "sha1-sAhO+pQYj+vdHP/mhpH0yFoPuMs=" + }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "dependencies": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/file-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz", + "integrity": "sha1-OXScgvAguehZAdz/mOgATmQBz94=", + "dev": true, + "dependencies": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0 < 7.0.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/file-loader/node_modules/ajv": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", + "integrity": "sha1-JH1SdBENtlNwa1UPzCt5fKKM/Fk=", + "dev": true, + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true, + "peerDependencies": { + "ajv": "^6.0.0" + } + }, + "node_modules/file-loader/node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "node_modules/file-loader/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/file-loader/node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/filename-reserved-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", + "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filenamify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", + "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", + "dev": true, + "dependencies": { + "filename-reserved-regex": "^1.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filenamify-url": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", + "integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=", + "dev": true, + "dependencies": { + "filenamify": "^1.0.0", + "humanize-url": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/findup": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/findup/-/findup-0.1.5.tgz", + "integrity": "sha512-Udxo3C9A6alt2GZ2MNsgnIvX7De0V3VGxeP/x98NSVgSlizcDHdmJza61LI7zJy4OEtSiJyE72s0/+tBl5/ZxA==", + "dev": true, + "dependencies": { + "colors": "~0.6.0-1", + "commander": "~2.1.0" + }, + "bin": { + "findup": "bin/findup.js" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/findup/node_modules/commander": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz", + "integrity": "sha512-J2wnb6TKniXNOtoHS8TSrG9IOQluPrsmyAJ8oCUJOBmv+uLBCyPYAZkD2jFvw2DCzIXNnISIM01NIvr35TkBMQ==", + "dev": true, + "engines": { + "node": ">= 0.6.x" + } + }, + "node_modules/flat-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", + "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", + "dev": true, + "dependencies": { + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flush-write-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + } + }, + "node_modules/follow-redirects": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.2.tgz", + "integrity": "sha512-kssLorP/9acIdpQ2udQVTiCS5LQmdEz9mvdIfDcl1gYX2tPKFADHSyFdvJS040XdFsPzemWtgI3q8mFVCxtX8A==", + "dev": true, + "dependencies": { + "debug": "^3.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/follow-redirects/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/follow-redirects/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", + "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=", + "dependencies": { + "is-function": "~1.0.0" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "node_modules/foreground-child": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "dev": true, + "dependencies": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + } + }, + "node_modules/foreground-child/node_modules/cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/format-message": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.1.tgz", + "integrity": "sha1-kKJ9KJYNQRT5mRL9Uc2heJvdP/A=", + "dependencies": { + "format-message-formats": "^6.2.0", + "format-message-interpret": "^6.2.0", + "format-message-parse": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "node_modules/format-message-cli": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-cli/-/format-message-cli-6.2.0.tgz", + "integrity": "sha512-NpbIyGj6oqpGwtKJlV3PeVUqRwpbfdnDEdd9QGkABQ1hTIguGyQAQyKH23hBKWKTaqvI1IY2LHBqGkEtwa/Sgg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.0.0", + "babel-plugin-extract-format-message": "^6.2.0", + "babel-plugin-transform-format-message": "^6.2.0", + "commander": "^2.11.0", + "eslint": "^3.19.0", + "eslint-plugin-format-message": "^6.2.0", + "glob": "^5.0.15", + "js-yaml": "^3.10.0", + "mkdirp": "^0.5.1", + "safe-buffer": "^5.1.1", + "source-map": "^0.5.7" + }, + "bin": { + "format-message": "format-message" + } + }, + "node_modules/format-message-cli/node_modules/ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/format-message-cli/node_modules/cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "dependencies": { + "restore-cursor": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/format-message-cli/node_modules/commander": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", + "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", + "dev": true + }, + "node_modules/format-message-cli/node_modules/eslint": { + "version": "3.19.0", + "resolved": "http://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", + "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.16.0", + "chalk": "^1.1.3", + "concat-stream": "^1.5.2", + "debug": "^2.1.1", + "doctrine": "^2.0.0", + "escope": "^3.6.0", + "espree": "^3.4.0", + "esquery": "^1.0.0", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "glob": "^7.0.3", + "globals": "^9.14.0", + "ignore": "^3.2.0", + "imurmurhash": "^0.1.4", + "inquirer": "^0.12.0", + "is-my-json-valid": "^2.10.0", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.5.1", + "json-stable-stringify": "^1.0.0", + "levn": "^0.3.0", + "lodash": "^4.0.0", + "mkdirp": "^0.5.0", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.1", + "pluralize": "^1.2.1", + "progress": "^1.1.8", + "require-uncached": "^1.0.2", + "shelljs": "^0.7.5", + "strip-bom": "^3.0.0", + "strip-json-comments": "~2.0.1", + "table": "^3.7.8", + "text-table": "~0.2.0", + "user-home": "^2.0.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/format-message-cli/node_modules/eslint/node_modules/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/format-message-cli/node_modules/figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/format-message-cli/node_modules/glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/format-message-cli/node_modules/inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "dev": true, + "dependencies": { + "ansi-escapes": "^1.1.0", + "ansi-regex": "^2.0.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "figures": "^1.3.5", + "lodash": "^4.3.0", + "readline2": "^1.0.1", + "run-async": "^0.1.0", + "rx-lite": "^3.1.2", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" + } + }, + "node_modules/format-message-cli/node_modules/onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/format-message-cli/node_modules/pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "dev": true + }, + "node_modules/format-message-cli/node_modules/progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/format-message-cli/node_modules/restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "dependencies": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/format-message-cli/node_modules/run-async": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", + "dev": true, + "dependencies": { + "once": "^1.3.0" + } + }, + "node_modules/format-message-cli/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/format-message-cli/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/format-message-cli/node_modules/table": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "dev": true, + "dependencies": { + "ajv": "^4.7.0", + "ajv-keywords": "^1.0.0", + "chalk": "^1.1.1", + "lodash": "^4.0.0", + "slice-ansi": "0.0.4", + "string-width": "^2.0.0" + } + }, + "node_modules/format-message-cli/node_modules/table/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/format-message-cli/node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/format-message-cli/node_modules/table/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/format-message-cli/node_modules/table/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/format-message-estree-util": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/format-message-estree-util/-/format-message-estree-util-6.1.0.tgz", + "integrity": "sha512-z8nZdDI3vQdYVARVBVFebKSUEEZhw3/sgD8F+PneLT7TGBKt3QpeSQ8g2yUoQrj9saoR2fYbpXeaQ8qnjg013Q==", + "dev": true + }, + "node_modules/format-message-generate-id": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-generate-id/-/format-message-generate-id-6.2.0.tgz", + "integrity": "sha512-q3nN7b/ONvzaUtLrCt13TDKbl7Rvc/Gk9bR2HfQqUWPKkhP+lciq3MKQDIeGb79dvciKdbWT/FB47YrHogQCCA==", + "dev": true, + "dependencies": { + "crc32": "^0.2.2", + "format-message-parse": "^6.2.0", + "format-message-print": "^6.2.0" + } + }, + "node_modules/format-message-generate-id/node_modules/format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==", + "dev": true + }, + "node_modules/format-message-interpret": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.0.tgz", + "integrity": "sha512-G2WxW9c/vk97rPgbP67p/6BdpoZI8g4LdKDIqxAlXQq1ZI3uQTV2a5f9q3Big04hjSsI8uTgzWWmF4ht50foyw==", + "dependencies": { + "format-message-formats": "^6.2.0", + "lookup-closest-locale": "^6.2.0" + } + }, + "node_modules/format-message-interpret/node_modules/format-message-formats": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", + "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==" + }, + "node_modules/format-message-interpret/node_modules/lookup-closest-locale": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", + "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==" + }, + "node_modules/format-message-print": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-print/-/format-message-print-6.2.0.tgz", + "integrity": "sha512-KuT6xtQsvUafrybvqtCzTduf+esHPNqt3bcUz9OPU1jIJ5VESoC9OwT+4YtwmjyaJDyGTILyeCmnQ2centjQJw==", + "dev": true + }, + "node_modules/format-message/node_modules/format-message-formats": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.0.tgz", + "integrity": "sha512-QP0dl1O9P3fDCG5klj101nfizgiWiv0T+DMNBqwi25FvB1LIenQQW4PpULk5zO5PiOSvmMu5pW4HS542kJRAww==" + }, + "node_modules/format-message/node_modules/format-message-parse": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.0.tgz", + "integrity": "sha512-j7MAUobWTufhdcCsLbqhH2f/qFGlH5vEtw1dEsiWeoSB6hnkopo03YTQZ6+atSbQecMH11cDQ2oE0mu3aoDbuA==" + }, + "node_modules/format-message/node_modules/lookup-closest-locale": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz", + "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==" + }, + "node_modules/forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/from2-array": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/from2-array/-/from2-array-0.0.4.tgz", + "integrity": "sha512-0G0cAp7sYLobH7ALsr835x98PU/YeVF7wlwxdWbCUaea7wsa7lJfKZUAo6p2YZGZ8F94luCuqHZS3JtFER6uPg==", + "dev": true, + "dependencies": { + "from2": "^2.0.3" + } + }, + "node_modules/fs-exists-cached": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", + "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", + "dev": true + }, + "node_modules/fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "bundleDependencies": [ + "node-pre-gyp" + ], + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fsevents/node_modules/abbrev": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/ansi-regex": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/aproba": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/are-we-there-yet": { + "version": "1.1.4", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/fsevents/node_modules/balanced-match": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/fsevents/node_modules/chownr": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/code-point-at": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/console-control-strings": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/core-util-is": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/debug": { + "version": "2.6.9", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/fsevents/node_modules/deep-extend": { + "version": "0.5.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/delegates": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/detect-libc": { + "version": "1.0.3", + "inBundle": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/fsevents/node_modules/fs-minipass": { + "version": "1.2.5", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^2.2.1" + } + }, + "node_modules/fsevents/node_modules/fs.realpath": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/gauge": { + "version": "2.7.4", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/fsevents/node_modules/glob": { + "version": "7.1.2", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/has-unicode": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/iconv-lite": { + "version": "0.4.21", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/ignore-walk": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/fsevents/node_modules/inflight": { + "version": "1.0.6", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/fsevents/node_modules/inherits": { + "version": "2.0.3", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/ini": { + "version": "1.3.5", + "inBundle": true, + "license": "ISC", + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/isarray": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/minimatch": { + "version": "3.0.4", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/minimist": { + "version": "0.0.8", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/minipass": { + "version": "2.2.4", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "node_modules/fsevents/node_modules/minizlib": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "minipass": "^2.2.1" + } + }, + "node_modules/fsevents/node_modules/mkdirp": { + "version": "0.5.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/fsevents/node_modules/ms": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/needle": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 0.10.x" + } + }, + "node_modules/fsevents/node_modules/node-pre-gyp": { + "version": "0.10.0", + "inBundle": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/fsevents/node_modules/nopt": { + "version": "4.0.1", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/fsevents/node_modules/npm-bundled": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/npm-packlist": { + "version": "1.1.10", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "node_modules/fsevents/node_modules/npmlog": { + "version": "4.1.2", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/fsevents/node_modules/number-is-nan": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/object-assign": { + "version": "4.1.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/once": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/fsevents/node_modules/os-homedir": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/os-tmpdir": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/osenv": { + "version": "0.1.5", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/fsevents/node_modules/path-is-absolute": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/process-nextick-args": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/rc": { + "version": "1.2.7", + "inBundle": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, + "dependencies": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/fsevents/node_modules/rc/node_modules/minimist": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/readable-stream": { + "version": "2.3.6", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/fsevents/node_modules/rimraf": { + "version": "2.6.2", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "glob": "^7.0.5" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/fsevents/node_modules/safe-buffer": { + "version": "5.1.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/safer-buffer": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/sax": { + "version": "1.2.4", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/semver": { + "version": "5.5.0", + "inBundle": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/fsevents/node_modules/set-blocking": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/signal-exit": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fsevents/node_modules/string-width": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/strip-ansi": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/strip-json-comments": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/tar": { + "version": "4.4.1", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/fsevents/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/wide-align": { + "version": "1.1.2", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "string-width": "^1.0.2" + } + }, + "node_modules/fsevents/node_modules/wrappy": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/yallist": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" + }, + "node_modules/function-loop": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-1.0.1.tgz", + "integrity": "sha1-gHa7MF6OajzO7ikgdl8zDRkPNAw=", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=" + }, + "node_modules/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=", + "dependencies": { + "is-property": "^1.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/getpass/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/gh-pages": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-1.2.0.tgz", + "integrity": "sha512-cGLYAvxtlQ1iTwAS4g7FreZPXoE/g62Fsxln2mmR19mgs4zZI+XJ+wVVUhBFCF/0+Nmvbq+abyTWue1m1BSnmg==", + "dev": true, + "dependencies": { + "async": "2.6.1", + "commander": "2.15.1", + "filenamify-url": "^1.0.0", + "fs-extra": "^5.0.0", + "globby": "^6.1.0", + "graceful-fs": "4.1.11", + "rimraf": "^2.6.2" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/gh-pages/node_modules/async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "dependencies": { + "lodash": "^4.17.10" + } + }, + "node_modules/gh-pages/node_modules/commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "node_modules/gh-pages/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/node_modules/lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "node_modules/gh-pages/node_modules/rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "dependencies": { + "glob": "^7.0.5" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "dependencies": { + "min-document": "^2.19.0", + "process": "~0.5.1" + } + }, + "node_modules/global-modules-path": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz", + "integrity": "sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==", + "dev": true + }, + "node_modules/global/node_modules/process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/globals": { + "version": "9.17.0", + "resolved": "http://registry.npmjs.org/globals/-/globals-9.17.0.tgz", + "integrity": "sha1-DAymltm5u2lNLlRwvTd3fKrVAoY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globby/node_modules/glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "node_modules/grapheme-breaker": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz", + "integrity": "sha512-mB6rwkw1Z7z4z2RkFFTd/+q6Ug1gnCgjKAervAKgBeNI1mSr8E5EUWoYzFNOZsLHFArLfpk+O8X8qXC7uvuawQ==", + "dev": true, + "dependencies": { + "brfs": "^1.2.0", + "unicode-trie": "^0.3.1" + } + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, + "node_modules/handle-thing": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", + "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", + "dev": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "deprecated": "this library is no longer supported", + "dependencies": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + }, + "bin": { + "har-validator": "bin/har-validator" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/has": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "dependencies": { + "function-bind": "^1.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-binary2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz", + "integrity": "sha1-6D26SfC5vk0CbSc2U1DZ8D9Uvpg=", + "dependencies": { + "isarray": "2.0.1" + } + }, + "node_modules/has-binary2/node_modules/isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "node_modules/has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", + "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "deprecated": "This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", + "dependencies": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + }, + "engines": { + "node": ">=0.10.32" + } + }, + "node_modules/he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/hosted-git-info": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true, + "engines": [ + "node >= 0.4.0" + ] + }, + "node_modules/htmlparser2": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", + "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", + "dependencies": { + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.0.6" + } + }, + "node_modules/htmlparser2/node_modules/readable-stream": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz", + "integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-parser-js": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", + "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "dev": true, + "dependencies": { + "eventemitter3": "^3.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", + "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", + "dev": true, + "dependencies": { + "http-proxy": "^1.16.2", + "is-glob": "^4.0.0", + "lodash": "^4.17.5", + "micromatch": "^3.1.9" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "node_modules/http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dependencies": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "node_modules/hull.js": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/hull.js/-/hull.js-0.2.10.tgz", + "integrity": "sha512-UO3W30HxhWgeSpNKCdXt00xkwjRTGmhQaoZNP8ll509Nl+DP9juXE3wRGizihuop08FSB4xtAWIbWSe+RxEoog==", + "dev": true + }, + "node_modules/humanize-url": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", + "integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=", + "dev": true, + "dependencies": { + "normalize-url": "^1.0.0", + "strip-url-auth": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "node_modules/ify-loader": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ify-loader/-/ify-loader-1.0.4.tgz", + "integrity": "sha512-fzWOWwsTZH3c2GPNJy1dndN5lk+oyXGPbg9YrHv/UwC/SmlxNEUAst6evF1H9ySGbezgBA42YGLSr1WzAwgx9w==", + "dev": true, + "dependencies": { + "bl": "^1.0.0", + "findup": "^0.1.5", + "from2-array": "0.0.4", + "map-limit": "0.0.1", + "multipipe": "^0.3.0", + "read-package-json": "^2.0.2", + "resolve": "^1.1.6" + } + }, + "node_modules/ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + }, + "node_modules/immutable": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.1.tgz", + "integrity": "sha1-IAgH8Rqw9ycQ6khVQt4IgHX2jNI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "dependencies": { + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/imports-loader": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.6.5.tgz", + "integrity": "sha1-rnRlMDHVnjezwvslRKxhrq41MKY=", + "dev": true, + "dependencies": { + "loader-utils": "0.2.x", + "source-map": "0.1.x" + } + }, + "node_modules/imports-loader/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/imports-loader/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true, + "bin": { + "in-install": "in-install.js", + "in-publish": "in-publish.js", + "not-in-install": "not-in-install.js", + "not-in-publish": "not-in-publish.js" + } + }, + "node_modules/indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "node_modules/inquirer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha1-2zUMK3Paynf/EkOWLp8i8JloVyY=", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/internal-ip": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", + "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", + "dev": true, + "dependencies": { + "meow": "^3.3.0" + }, + "bin": { + "internal-ip": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "node_modules/intl-messageformat-parser": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz", + "integrity": "sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU=", + "deprecated": "We've written a new parser that's 6x faster and is backwards compatible. Please use @formatjs/icu-messageformat-parser", + "dev": true + }, + "node_modules/invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/iota-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz", + "integrity": "sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=" + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "node_modules/ipaddr.js": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", + "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + }, + "node_modules/is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "dependencies": { + "builtin-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-callable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + }, + "node_modules/is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-my-json-valid": { + "version": "2.16.0", + "resolved": "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", + "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", + "deprecated": "catastrophic backtracking in regexes could potentially lead to REDOS attack, upgrade to 2.17.2 as soon as possible", + "dependencies": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-in-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "dev": true, + "dependencies": { + "is-path-inside": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", + "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "dev": true, + "dependencies": { + "path-is-inside": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "node_modules/is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" + }, + "node_modules/is-regex": { + "version": "1.0.4", + "resolved": "http://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "dependencies": { + "has": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "dev": true, + "optional": true, + "dependencies": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "node_modules/js-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.4.tgz", + "integrity": "sha512-PxfGzSs0ztShKrUYPIn5r0MtyAhYcCwmndozzpz8YObbPnD1jFxzlBGbRnX2mIu6Z13xN6+PTu05TQFnZFlzow==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/js-md5": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz", + "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==" + }, + "node_modules/js-tokens": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz", + "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js2xmlparser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz", + "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", + "dev": true, + "dependencies": { + "xmlcreate": "^1.0.1" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "http://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "node_modules/jsdoc": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz", + "integrity": "sha1-SEUhsSboGQTWMv+D7JqqCWcI+k0=", + "dev": true, + "dependencies": { + "babylon": "7.0.0-beta.19", + "bluebird": "~3.5.0", + "catharsis": "~0.8.9", + "escape-string-regexp": "~1.0.5", + "js2xmlparser": "~3.0.0", + "klaw": "~2.0.0", + "marked": "~0.3.6", + "mkdirp": "~0.5.1", + "requizzle": "~0.2.1", + "strip-json-comments": "~2.0.1", + "taffydb": "2.6.2", + "underscore": "~1.8.3" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/jsdoc/node_modules/babylon": { + "version": "7.0.0-beta.19", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz", + "integrity": "sha1-6SjH6AfpcOBTaweKs+DEj54FJQM=", + "dev": true, + "bin": { + "babylon": "bin/babylon.js" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/jsdoc/node_modules/underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", + "dev": true + }, + "node_modules/jsesc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", + "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json": { + "version": "9.0.6", + "resolved": "http://registry.npmjs.org/json/-/json-9.0.6.tgz", + "integrity": "sha1-eXLCpaSKQmeNsnMMfCxO5uTiRYU=", + "dev": true, + "bin": { + "json": "lib/json.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "node_modules/json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "node_modules/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, + "dependencies": { + "jsonify": "~0.0.0" + } + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "node_modules/json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "deprecated": "Please use the native JSON object instead of JSON 3", + "dev": true + }, + "node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/jsprim/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/jsx-ast-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", + "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", + "dev": true, + "optional": true, + "dependencies": { + "array-includes": "^3.0.3" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jszip": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", + "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", + "dependencies": { + "core-js": "~2.3.0", + "es6-promise": "~3.0.2", + "lie": "~3.1.0", + "pako": "~1.0.2", + "readable-stream": "~2.0.6" + } + }, + "node_modules/jszip/node_modules/core-js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", + "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", + "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js." + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/jszip/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "node_modules/killable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz", + "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klaw": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", + "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lcov-parse": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", + "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", + "dev": true + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/linebreak": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-0.3.0.tgz", + "integrity": "sha512-zt8pzlM3oq4moDN8U5mP1SbZ44yKV6dXCu44Ez6iTXmxUl8/jRFWeho2SDqL5YDBv0TBKPgU/XGovZwnXAKlOQ==", + "dev": true, + "dependencies": { + "base64-js": "0.0.8", + "brfs": "^1.3.0", + "unicode-trie": "^0.3.0" + } + }, + "node_modules/linebreak/node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + }, + "node_modules/lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true, + "dependencies": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "node_modules/lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "node_modules/lodash._basecreate": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", + "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=", + "dev": true + }, + "node_modules/lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "node_modules/lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "node_modules/lodash.create": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", + "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", + "dev": true, + "dependencies": { + "lodash._baseassign": "^3.0.0", + "lodash._basecreate": "^3.0.0", + "lodash._isiterateecall": "^3.0.0" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + }, + "node_modules/lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "node_modules/lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "node_modules/lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "node_modules/lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "dependencies": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "node_modules/log-driver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha1-Y7lQIfBwL+36LJuwok53l9cYcdg=", + "dev": true, + "engines": { + "node": ">=0.8.6" + } + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/loglevel": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", + "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/loglevelnext": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", + "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", + "dev": true, + "dependencies": { + "es6-symbol": "^3.1.1", + "object.assign": "^4.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "dependencies": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/magic-string": { + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "dev": true, + "dependencies": { + "vlq": "^0.2.2" + } + }, + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "engines": { + "node": ">=4" + } + }, + "node_modules/mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-limit": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", + "integrity": "sha512-pJpcfLPnIF/Sk3taPW21G/RQsEEirGaFpCW3oXRwH9dnFHPHNGjNyvh++rdmC2fNqEaTw2MhYJraoJWAHx8kEg==", + "dev": true, + "dependencies": { + "once": "~1.3.0" + } + }, + "node_modules/map-limit/node_modules/once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/marked": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha1-XUf3CcTJ/Dwha21GEnKA9As515A=", + "dev": true, + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "dependencies": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "node_modules/meow/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "node_modules/merge-source-map": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==", + "dev": true, + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/microee": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/microee/-/microee-0.0.6.tgz", + "integrity": "sha1-oSvbAQNoHosSapsHHrpMRnx4//4=" + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/midi-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/midi-file/-/midi-file-1.1.2.tgz", + "integrity": "sha512-VQNzirfADDFXTymgPJv2VfLylCq14spRNFhpA6u7dLqPMbw1BqGf5u9B0k7z++8X1RMs57pyn+G4kzhyIatlyw==" + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=", + "dev": true, + "bin": { + "mime": "cli.js" + } + }, + "node_modules/mime-db": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz", + "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", + "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", + "dependencies": { + "mime-db": "~1.29.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/minilog": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minilog/-/minilog-3.1.0.tgz", + "integrity": "sha1-0tDxiHyjY9Gs8OqG1cTfKTs/tnU=", + "dependencies": { + "microee": "0.0.6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "node_modules/minipass": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.4.tgz", + "integrity": "sha512-mlouk1OHlaUE8Odt1drMtG1bAJA4ZA6B/ehysgV0LUIrDHdKgo1KorZq3pK0b/7Z7LJIQ12MNM6aC+Tn6lUZ5w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/minipass/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/minipass/node_modules/yallist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", + "dev": true + }, + "node_modules/mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "deprecated": "Critical bug fixed in v2.0.1, please upgrade to the latest version.", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz", + "integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=", + "dev": true + }, + "node_modules/mocha": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz", + "integrity": "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==", + "dev": true, + "dependencies": { + "browser-stdout": "1.3.0", + "commander": "2.9.0", + "debug": "2.6.8", + "diff": "3.2.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.1", + "growl": "1.9.2", + "he": "1.1.1", + "json3": "3.3.2", + "lodash.create": "3.1.1", + "mkdirp": "0.5.1", + "supports-color": "3.1.2" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 0.10.x", + "npm": ">= 1.4.x" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/mocha/node_modules/diff": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", + "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", + "dev": true + }, + "node_modules/mocha/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true, + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/ms": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.3.tgz", + "integrity": "sha1-cIFVpeROM/X9D8U+gdDUCpG+H/8=" + }, + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", + "dev": true, + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "node_modules/multipipe": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.3.1.tgz", + "integrity": "sha512-ZUcepNdMeKBRn/ksm2XTxFnhBaqnBJSZNqwajmiem6b7Rp3fNAAq+twYn3kqw9YMY7HJuc7I7OObX9cMgB1ANg==", + "dev": true, + "dependencies": { + "duplexer2": "^0.1.2" + } + }, + "node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "node_modules/nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/ndarray": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz", + "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==", + "dependencies": { + "iota-array": "^1.0.0", + "is-buffer": "^1.0.2" + } + }, + "node_modules/ndarray-fft": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ndarray-fft/-/ndarray-fft-1.0.3.tgz", + "integrity": "sha1-3Fu6GOOrgsmXrbrrt455+CyToio=", + "dependencies": { + "bit-twiddle": "^1.0.2", + "cwise": "^1.0.4", + "ndarray": "^1.0.15", + "ndarray-ops": "^1.2.2", + "typedarray-pool": "^1.0.0" + } + }, + "node_modules/ndarray-ops": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz", + "integrity": "sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=", + "dependencies": { + "cwise-compiler": "^1.0.0" + } + }, + "node_modules/ndarray-resample": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ndarray-resample/-/ndarray-resample-1.0.1.tgz", + "integrity": "sha1-Qrsz9qS3OMV/9zxgzCINTPx1gh0=", + "dependencies": { + "cwise": "^1.0.7", + "ndarray-fft": "^1.0.0", + "ndarray-ops": "^1.2.2", + "ndarray-scratch": "^1.1.1" + } + }, + "node_modules/ndarray-scratch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ndarray-scratch/-/ndarray-scratch-1.2.0.tgz", + "integrity": "sha1-YwRjbWLrqT20cnrBPGkzQdulDgE=", + "dependencies": { + "ndarray": "^1.0.14", + "ndarray-ops": "^1.2.1", + "typedarray-pool": "^1.0.2" + } + }, + "node_modules/negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", + "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==" + }, + "node_modules/nets": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nets/-/nets-3.2.0.tgz", + "integrity": "sha1-1RH7q3rxHaAT8huX7pF0fTOFLTg=", + "dependencies": { + "request": "^2.65.0", + "xhr": "^2.1.0" + } + }, + "node_modules/nice-try": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", + "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8=", + "dev": true, + "optional": true, + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/node-forge": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", + "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.0", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.10.3", + "vm-browserify": "0.0.4" + } + }, + "node_modules/node-releases": { + "version": "1.0.0-alpha.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.14.tgz", + "integrity": "sha512-G8nnF9cP9QPP/jUmYWw/uUUhumHmkm+X/EarCugYFjYm2uXRMFeOD6CVT3RLdoyCvDUNy51nirGfUItKWs/S1g==", + "dev": true, + "dependencies": { + "semver": "^5.3.0" + } + }, + "node_modules/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=", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "dependencies": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.9.0.tgz", + "integrity": "sha512-w8OdJAhXL5izerzZMdqzYKMj/pgHJyY3qEPYBjLLxrhcVoHEY9pU5ENIiZyCgG9OR7x3VcUMoD40o6PtVpfR4g==", + "bundleDependencies": [ + "archy", + "arrify", + "caching-transform", + "convert-source-map", + "debug-log", + "default-require-extensions", + "find-cache-dir", + "find-up", + "foreground-child", + "glob", + "istanbul-lib-coverage", + "istanbul-lib-hook", + "istanbul-lib-instrument", + "istanbul-lib-report", + "istanbul-lib-source-maps", + "istanbul-reports", + "md5-hex", + "merge-source-map", + "micromatch", + "mkdirp", + "resolve-from", + "rimraf", + "signal-exit", + "spawn-wrap", + "test-exclude", + "yargs", + "yargs-parser" + ], + "dev": true, + "dependencies": { + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.5.1", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.2", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.10.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.3", + "istanbul-reports": "^1.4.0", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.2.0", + "yargs": "11.1.0", + "yargs-parser": "^8.0.0" + }, + "bin": { + "nyc": "bin/nyc.js" + } + }, + "node_modules/nyc/node_modules/align-text": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/amdefine": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause OR MIT", + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/nyc/node_modules/ansi-regex": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/ansi-styles": { + "version": "2.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/append-transform": { + "version": "0.4.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "default-require-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/archy": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/arr-diff": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/arr-flatten": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/arr-union": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/array-unique": { + "version": "0.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/arrify": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/assign-symbols": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/async": { + "version": "1.5.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/atob": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/nyc/node_modules/babel-code-frame": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/nyc/node_modules/babel-generator": { + "version": "6.26.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "node_modules/nyc/node_modules/babel-messages": { + "version": "6.23.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/nyc/node_modules/babel-runtime": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/nyc/node_modules/babel-template": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/nyc/node_modules/babel-traverse": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/nyc/node_modules/babel-types": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/nyc/node_modules/babylon": { + "version": "6.18.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/nyc/node_modules/balanced-match": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/base": { + "version": "0.11.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/base/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/nyc/node_modules/braces": { + "version": "2.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/builtin-modules": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/cache-base": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/cache-base/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/caching-transform": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/camelcase": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/center-align": { + "version": "0.1.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/chalk": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/class-utils": { + "version": "0.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/class-utils/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/cliui": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "node_modules/nyc/node_modules/cliui/node_modules/wordwrap": { + "version": "0.0.2", + "dev": true, + "inBundle": true, + "license": "MIT/X11", + "optional": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/nyc/node_modules/code-point-at": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/collection-visit": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/commondir": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/component-emitter": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/convert-source-map": { + "version": "1.5.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/copy-descriptor": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/core-js": { + "version": "2.5.6", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/cross-spawn": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "node_modules/nyc/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/nyc/node_modules/debug-log": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/decamelize": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/decode-uri-component": { + "version": "0.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/nyc/node_modules/default-require-extensions": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/define-property/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/detect-indent": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/error-ex": { + "version": "1.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/nyc/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nyc/node_modules/esutils": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/execa": { + "version": "0.7.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/execa/node_modules/cross-spawn": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/nyc/node_modules/expand-brackets": { + "version": "2.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extend-shallow": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/extglob/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/fill-range": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/find-cache-dir": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/find-up": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/for-in": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/foreground-child": { + "version": "1.5.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + } + }, + "node_modules/nyc/node_modules/fragment-cache": { + "version": "0.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/get-caller-file": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/get-stream": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/get-value": { + "version": "2.0.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/glob": { + "version": "7.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nyc/node_modules/globals": { + "version": "9.18.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/graceful-fs": { + "version": "4.1.11", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/nyc/node_modules/handlebars": { + "version": "4.0.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^2.6" + } + }, + "node_modules/nyc/node_modules/handlebars/node_modules/source-map": { + "version": "0.4.4", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nyc/node_modules/has-ansi": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-flag": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-value": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-value/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-values": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/hosted-git-info": { + "version": "2.6.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/nyc/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/nyc/node_modules/inherits": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/invariant": { + "version": "2.2.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/nyc/node_modules/invert-kv": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-arrayish": { + "version": "0.2.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/is-builtin-module": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "builtin-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-descriptor": { + "version": "0.1.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-finite": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-odd": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-odd/node_modules/is-number": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-plain-object": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-plain-object/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-stream": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/is-utf8": { + "version": "0.2.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/is-windows": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-coverage": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/nyc/node_modules/istanbul-lib-hook": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "append-transform": "^0.4.0" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-instrument": { + "version": "1.10.1", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.0", + "semver": "^5.3.0" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-report": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "3.2.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-source-maps": { + "version": "1.2.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/nyc/node_modules/istanbul-reports": { + "version": "1.4.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "handlebars": "^4.0.3" + } + }, + "node_modules/nyc/node_modules/js-tokens": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/jsesc": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/nyc/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/lazy-cache": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/lcid": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/load-json-file": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/locate-path": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/locate-path/node_modules/path-exists": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/lodash": { + "version": "4.17.10", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/longest": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/loose-envify": { + "version": "1.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/nyc/node_modules/lru-cache": { + "version": "4.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/nyc/node_modules/map-cache": { + "version": "0.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/map-visit": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/md5-hex": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "md5-o-matic": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/md5-o-matic": { + "version": "0.1.1", + "dev": true, + "inBundle": true + }, + "node_modules/nyc/node_modules/mem": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/merge-source-map": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/nyc/node_modules/merge-source-map/node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/micromatch": { + "version": "3.1.10", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/micromatch/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/mimic-fn": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/minimatch": { + "version": "3.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nyc/node_modules/minimist": { + "version": "0.0.8", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/mixin-deep": { + "version": "1.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/mkdirp": { + "version": "0.5.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/nyc/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/nanomatch": { + "version": "1.2.9", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/nanomatch/node_modules/arr-diff": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/nanomatch/node_modules/array-unique": { + "version": "0.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/normalize-package-data": { + "version": "2.4.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/nyc/node_modules/npm-run-path": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/number-is-nan": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-copy": { + "version": "0.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-visit": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object-visit/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object.pick": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/object.pick/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/once": { + "version": "1.4.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/nyc/node_modules/optimist": { + "version": "0.6.1", + "dev": true, + "inBundle": true, + "license": "MIT/X11", + "dependencies": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "node_modules/nyc/node_modules/os-homedir": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/os-locale": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/p-finally": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/p-limit": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/p-locate": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/p-try": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/parse-json": { + "version": "2.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pascalcase": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/path-exists": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/path-key": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/path-parse": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/path-type": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pify": { + "version": "2.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pinkie": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pinkie-promise": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pkg-dir": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "find-up": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pkg-dir/node_modules/find-up": { + "version": "1.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/posix-character-classes": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/pseudomap": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/read-pkg": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/read-pkg-up": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/read-pkg-up/node_modules/find-up": { + "version": "1.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/regenerator-runtime": { + "version": "0.11.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/regex-not": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/repeat-element": { + "version": "1.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/repeat-string": { + "version": "1.6.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/nyc/node_modules/repeating": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/require-directory": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/require-main-filename": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/resolve-from": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/resolve-url": { + "version": "0.2.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/ret": { + "version": "0.1.15", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/nyc/node_modules/right-align": { + "version": "0.1.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "align-text": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/rimraf": { + "version": "2.6.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.0.5" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/nyc/node_modules/safe-regex": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/nyc/node_modules/semver": { + "version": "5.5.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/nyc/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/set-value": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/shebang-command": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/shebang-regex": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/signal-exit": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/slide": { + "version": "1.1.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "*" + } + }, + "node_modules/nyc/node_modules/snapdragon": { + "version": "0.8.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-node/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon-util": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/source-map": { + "version": "0.5.7", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/source-map-resolve": { + "version": "0.5.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/nyc/node_modules/source-map-url": { + "version": "0.4.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/spawn-wrap": { + "version": "1.4.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" + } + }, + "node_modules/nyc/node_modules/spdx-correct": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/nyc/node_modules/spdx-exceptions": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/nyc/node_modules/spdx-expression-parse": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/nyc/node_modules/spdx-license-ids": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/nyc/node_modules/split-string": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/static-extend": { + "version": "0.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/string-width": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/strip-ansi": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/strip-bom": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/strip-eof": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/supports-color": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nyc/node_modules/test-exclude": { + "version": "4.2.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/arr-diff": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/array-unique": { + "version": "0.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/braces": { + "version": "2.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets": { + "version": "2.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/extglob": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/fill-range": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/test-exclude/node_modules/micromatch": { + "version": "3.1.10", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-fast-properties": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-object-path": { + "version": "0.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-regex": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-regex-range": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/to-regex-range/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/trim-right": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/uglify-js": { + "version": "2.8.29", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "optional": true, + "dependencies": { + "source-map": "~0.5.1", + "yargs": "~3.10.0" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + }, + "optionalDependencies": { + "uglify-to-browserify": "~1.0.0" + } + }, + "node_modules/nyc/node_modules/uglify-js/node_modules/yargs": { + "version": "3.10.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + }, + "node_modules/nyc/node_modules/uglify-to-browserify": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/nyc/node_modules/union-value": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/union-value/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/union-value/node_modules/set-value": { + "version": "0.4.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/unset-value/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/urix": { + "version": "0.1.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/use": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/use/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/validate-npm-package-license": { + "version": "3.0.3", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/nyc/node_modules/which": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/nyc/node_modules/which-module": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/window-size": { + "version": "0.1.0", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/nyc/node_modules/wordwrap": { + "version": "0.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/nyc/node_modules/wrap-ansi": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/wrap-ansi/node_modules/string-width": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/write-file-atomic": { + "version": "1.3.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" + } + }, + "node_modules/nyc/node_modules/y18n": { + "version": "3.2.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/yallist": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/yargs": { + "version": "11.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/nyc/node_modules/yargs-parser": { + "version": "8.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/nyc/node_modules/yargs-parser/node_modules/camelcase": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/ansi-regex": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/camelcase": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/cliui": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/strip-ansi": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/yargs/node_modules/yargs-parser": { + "version": "9.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", + "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==", + "dev": true + }, + "node_modules/object-keys": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/opener": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", + "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/opn": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "dependencies": { + "url-parse": "^1.4.3" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "dependencies": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/output-file-sync": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", + "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "is-plain-obj": "^1.1.0", + "mkdirp": "^0.5.1" + } + }, + "node_modules/own-or": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", + "integrity": "sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=", + "dev": true + }, + "node_modules/own-or-env": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.1.tgz", + "integrity": "sha1-VM5gHTv3gjbFxlYzqhyOwD+AB+Q=", + "dev": true, + "dependencies": { + "own-or": "^1.0.0" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "engines": { + "node": ">=4" + } + }, + "node_modules/pako": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" + }, + "node_modules/parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dependencies": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "dependencies": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" + } + }, + "node_modules/parse-headers": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", + "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", + "dependencies": { + "for-each": "^0.3.2", + "trim": "0.0.1" + } + }, + "node_modules/parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "dependencies": { + "better-assert": "~1.0.0" + } + }, + "node_modules/parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "dependencies": { + "better-assert": "~1.0.0" + } + }, + "node_modules/parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pbkdf2": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", + "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha1-KYuJ34uTsCIdv0Ia0rGx6iP8Z3c=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pngjs": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.3.tgz", + "integrity": "sha512-1n3Z4p3IOxArEs1VRXnZ/RXdfEniAUS9jb68g58FIXMNkPJeZd+Qh4Uq7/e0LVxAQGos1eIUrqrt4FpjdnEd+Q==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/portfinder": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.16.tgz", + "integrity": "sha1-pqaL6cNSvGbBpMF6Jh9mHz+sr1I=", + "dev": true, + "dependencies": { + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/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=" + }, + "node_modules/progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "node_modules/prop-types": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "dev": true, + "optional": true, + "dependencies": { + "fbjs": "^0.8.16", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, + "node_modules/protobufjs": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.2.tgz", + "integrity": "sha512-27yj+04uF6ya9l+qfpH187aqEzfCF4+Uit0I9ZBQVqK09hk/SQzKa2MUqUpXaVa7LOFRg1TSSr3lVxGOk6c0SQ==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": "^13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } + }, + "node_modules/protobufjs/node_modules/@types/node": { + "version": "13.13.32", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.32.tgz", + "integrity": "sha512-sPBvDnrwZE1uePhkCEyI/qQlgZM5kePPAhHIFDWNsOrWBFRBOk3LKJYmVCLeLZlL9Ub/FzMJb31OTWCg2F+06g==" + }, + "node_modules/protobufjs/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/proxy-addr": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", + "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "dev": true, + "dependencies": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.8.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "node_modules/psl": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", + "integrity": "sha1-+j7W5o6xUVlFfImze8ZHKDMZV1U=", + "dev": true + }, + "node_modules/quote-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", + "integrity": "sha512-kKr2uQ2AokadPjvTyKJQad9xELbZwYzWlNfI3Uz2j/ib5u6H9lDP7fUUR//rMycd0gv4Z5P1qXMfXR8YpIxrjQ==", + "dev": true, + "dependencies": { + "buffer-equal": "0.0.1", + "minimist": "^1.1.3", + "through2": "^2.0.0" + }, + "bin": { + "quote-stream": "bin/cmd.js" + } + }, + "node_modules/quote-stream/node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true, + "dependencies": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body/node_modules/http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, + "dependencies": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": ">= 1.3.1 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body/node_modules/setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + }, + "node_modules/raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", + "dev": true + }, + "node_modules/read-package-json": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz", + "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==", + "dev": true, + "dependencies": { + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dependencies": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/readline2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "mute-stream": "0.0.5" + } + }, + "node_modules/readline2/node_modules/mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "dev": true + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "dependencies": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", + "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", + "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/regexpp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz", + "integrity": "sha1-sqdTSoXKGwM7z1zp/45W1OB1U2U=", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "node_modules/repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/request": { + "version": "2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "qs": "~6.3.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1", + "uuid": "^3.0.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.3.2", + "resolved": "http://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "node_modules/require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "dependencies": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/requizzle": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz", + "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", + "dev": true, + "dependencies": { + "underscore": "~1.6.0" + } + }, + "node_modules/resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "dependencies": { + "path-parse": "^1.0.5" + } + }, + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated" + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dependencies": { + "align-text": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "2.6.1", + "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "dependencies": { + "glob": "^7.0.5" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "dependencies": { + "is-promise": "^2.1.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", + "dev": true + }, + "node_modules/rxjs": { + "version": "5.5.11", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz", + "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==", + "dev": true, + "dependencies": { + "symbol-observable": "1.0.1" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", + "dependencies": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4.8.0 || >= 6.9.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", + "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", + "dependencies": { + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0", + "uri-js": "^3.0.2" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "peerDependencies": { + "ajv": "^6.0.0" + } + }, + "node_modules/scratch-audio": { + "version": "0.1.0-prerelease.20200528195344", + "resolved": "https://registry.npmjs.org/scratch-audio/-/scratch-audio-0.1.0-prerelease.20200528195344.tgz", + "integrity": "sha512-BY1IiMMBj0WDs7jdYnOzBHE88AX3ltjs2XfINJ1VrIE4xn2vZvPgJAyw6ZCc2FDPRwTWLpCdhnlA1TBdaKKdiQ==", + "dev": true, + "dependencies": { + "audio-context": "1.0.1", + "minilog": "^3.0.1", + "startaudiocontext": "1.2.1" + } + }, + "node_modules/scratch-blocks": { + "version": "0.1.0-prerelease.20201119044258", + "resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.20201119044258.tgz", + "integrity": "sha512-XL5ALMZLlD9clGybJErI/NzQU30XOMQxcPPHk0FbR1E0MMLIEGo9Mh4Sik6kpT1jHVlg1XCye84b5qyppDkI3w==", + "dev": true, + "dependencies": { + "exports-loader": "0.6.3", + "imports-loader": "0.6.5" + } + }, + "node_modules/scratch-l10n": { + "version": "3.1.20181129221712", + "resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.1.20181129221712.tgz", + "integrity": "sha512-aMzq5/Ie/9XPYEibut2jnV6dJO/6/fNI8h1bwKvhHdgbRaZKRlWXbBICt/zAgkvt2LSRY1gz4RiXsPLbXQczpQ==", + "dev": true, + "dependencies": { + "@babel/cli": "^7.1.2", + "@babel/core": "^7.1.2", + "babel-plugin-react-intl": "^2.3.1", + "transifex": "1.5.0" + }, + "bin": { + "build-i18n-src": "scripts/build-i18n-src.js", + "tx-push-src": "scripts/tx-push-src.js" + } + }, + "node_modules/scratch-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/scratch-parser/-/scratch-parser-5.0.0.tgz", + "integrity": "sha512-7kjxoxivLgYYvmAJVLOOWnca4CigwuCpgjy9+6UuxOMgSZKO1xqIjxIADupabmh1ZLZZDVe45DBM/CQTdtVDkw==", + "dependencies": { + "ajv": "6.3.0", + "jszip": "3.1.5", + "pify": "4.0.1" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/scratch-parser/node_modules/ajv": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.3.0.tgz", + "integrity": "sha1-FlCkERTvAFdMrBC4Ay2PTBSBLac=", + "dependencies": { + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/scratch-parser/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/scratch-render": { + "version": "0.1.0-prerelease.20211028200436", + "resolved": "https://registry.npmjs.org/scratch-render/-/scratch-render-0.1.0-prerelease.20211028200436.tgz", + "integrity": "sha512-6IU0mEQpx5ipm2PsmdJXA/MIbrgq5wisn0rOpmCJZQFssyPyZMeanvh6T9j/VlTn13kiDO+67Do2nKRrZa46bA==", + "dev": true, + "dependencies": { + "grapheme-breaker": "0.3.2", + "hull.js": "0.2.10", + "ify-loader": "1.0.4", + "linebreak": "0.3.0", + "minilog": "3.1.0", + "raw-loader": "^0.5.1", + "scratch-storage": "^1.0.0", + "scratch-svg-renderer": "0.2.0-prerelease.20210727023023", + "twgl.js": "4.4.0" + }, + "peerDependencies": { + "scratch-render-fonts": "^1.0.0-prerelease" + } + }, + "node_modules/scratch-render-fonts": { + "version": "1.0.0-prerelease.20200507182347", + "resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.0-prerelease.20200507182347.tgz", + "integrity": "sha512-tVt2s7lxsBhme9WKIZTnluMerdJVGEc80QSrDdIIzUvHXGCIYkLh6j7ytwXcyq2UsA34d93op9+I9Bh1SPkQkA==", + "dev": true, + "peer": true, + "dependencies": { + "base64-loader": "1.0.0" + } + }, + "node_modules/scratch-sb1-converter": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/scratch-sb1-converter/-/scratch-sb1-converter-0.2.7.tgz", + "integrity": "sha512-MF1NzmRLbgCiq7wiSTuk2C9rQC8uM5Wj7SaYsn1SEMWNK9rtK0uc3LSm8FnEt14QS/1Icx2YgMsUPKR0HaPDdQ==", + "dependencies": { + "js-md5": "0.7.3", + "minilog": "3.1.0", + "text-encoding": "^0.7.0" + } + }, + "node_modules/scratch-storage": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/scratch-storage/-/scratch-storage-1.1.0.tgz", + "integrity": "sha512-4gtQW5ST5RDIWjfflK6k7Jxq7rQWgvhfM+oqL2Ld+eyQIbhZ4BwX0R3aRtwhupntv3tCa+2lBhRm+CGnaCijvA==", + "dev": true, + "dependencies": { + "arraybuffer-loader": "^1.0.3", + "base64-js": "1.3.0", + "js-md5": "0.7.3", + "minilog": "3.1.0", + "nets": "3.2.0", + "text-encoding": "0.7.0" + } + }, + "node_modules/scratch-storage/node_modules/js-md5": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz", + "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==", + "dev": true + }, + "node_modules/scratch-svg-renderer": { + "version": "0.2.0-prerelease.20210727023023", + "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-0.2.0-prerelease.20210727023023.tgz", + "integrity": "sha512-vEGZFFPm03LsHeRnIVQoJBoM3dV23daZCHWM0Yb0Rwa1xvymqTWHXRx8ryL5Q94TyceuguqPVAsE66n5S/0fdQ==", + "dev": true, + "dependencies": { + "base64-js": "1.2.1", + "base64-loader": "1.0.0", + "dompurify": "2.2.7", + "minilog": "3.1.0", + "transformation-matrix": "1.15.0" + }, + "peerDependencies": { + "scratch-render-fonts": "^1.0.0-prerelease" + } + }, + "node_modules/scratch-svg-renderer/node_modules/base64-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", + "dev": true + }, + "node_modules/scratch-translate-extension-languages": { + "version": "0.0.20191118205314", + "resolved": "https://registry.npmjs.org/scratch-translate-extension-languages/-/scratch-translate-extension-languages-0.0.20191118205314.tgz", + "integrity": "sha512-r0lvpgQjPMjbhI2wROrgoXzBhCvWJdkbAqJMfl2CdNqrwBpUXqLvNNtI3VtNLPJAcp9VfxEylkU9lVZ0gvU46Q==" + }, + "node_modules/script-loader": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/script-loader/-/script-loader-0.7.2.tgz", + "integrity": "sha1-IBbbb4byX1z1baOJFdgzeLsWa6c=", + "dev": true, + "dependencies": { + "raw-loader": "~0.5.1" + } + }, + "node_modules/seedrandom": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.3.tgz", + "integrity": "sha1-JDhQTa0zkXMUv/GKxNeU8W1qrsw=" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "node_modules/selfsigned": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.3.tgz", + "integrity": "sha512-vmZenZ+8Al3NLHkWnhBQ0x6BkML1eCP2xEi3JE+f3D9wW9fipD9NNJHYtE9XJM4TsPaHGZJIamrSI6MTg1dU2Q==", + "dev": true, + "dependencies": { + "node-forge": "0.7.5" + } + }, + "node_modules/semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", + "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==" + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "dev": true, + "dependencies": { + "mime-db": "~1.35.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "deprecated": "Critical bug fixed in v3.0.1, please upgrade to the latest version.", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-copy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "iojs": "*", + "node": ">=0.11.0" + } + }, + "node_modules/should": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/should/-/should-11.2.1.tgz", + "integrity": "sha1-kPVRRVUtAc/CAGZuToGKHJZw7aI=", + "dev": true, + "dependencies": { + "should-equal": "^1.0.0", + "should-format": "^3.0.2", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "node_modules/should-equal": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/should-equal/-/should-equal-1.0.1.tgz", + "integrity": "sha1-C26VFvJgGp+wuy3MNpr6HH4gCvc=", + "dev": true, + "dependencies": { + "should-type": "^1.0.0" + } + }, + "node_modules/should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", + "dev": true, + "dependencies": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "node_modules/should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", + "dev": true + }, + "node_modules/should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "dev": true, + "dependencies": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "node_modules/should-util": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz", + "integrity": "sha1-yYzaN0qmsZDfi6h8mInCtNtiAGM=", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "deprecated": "This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/socket.io-client": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", + "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", + "dependencies": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~2.6.4", + "engine.io-client": "~3.1.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.1.1", + "to-array": "0.1.4" + } + }, + "node_modules/socket.io-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.2.tgz", + "integrity": "sha1-28IoIVH8T6675Aru3Ady66YZ9/I=", + "dependencies": { + "component-emitter": "1.2.1", + "debug": "~2.6.4", + "has-binary2": "~1.0.2", + "isarray": "2.0.1" + } + }, + "node_modules/socket.io-parser/node_modules/isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "node_modules/sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha1-2Xa76ACve9IK4IWY1YI5NQiZPA0=", + "dev": true, + "dependencies": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "node_modules/sockjs-client": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", + "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", + "dev": true, + "dependencies": { + "debug": "^2.6.6", + "eventsource": "0.1.6", + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" + } + }, + "node_modules/sockjs-client/node_modules/faye-websocket": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=" + }, + "node_modules/source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dependencies": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated" + }, + "node_modules/spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "dev": true + }, + "node_modules/spdy": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", + "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", + "dev": true, + "engines": [ + "node >= 0.7.0" + ], + "dependencies": { + "debug": "^2.6.8", + "handle-thing": "^1.2.5", + "http-deceiver": "^1.2.7", + "safe-buffer": "^5.0.1", + "select-hose": "^2.0.0", + "spdy-transport": "^2.0.18" + } + }, + "node_modules/spdy-transport": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz", + "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", + "dev": true, + "dependencies": { + "debug": "^2.6.8", + "detect-node": "^2.0.3", + "hpack.js": "^2.1.6", + "obuf": "^1.1.1", + "readable-stream": "^2.2.9", + "safe-buffer": "^5.0.1", + "wbuf": "^1.7.2" + } + }, + "node_modules/spdy-transport/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/spdy-transport/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/spdy/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/spdy/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "dashdash": "^1.12.0", + "getpass": "^0.1.1" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + }, + "optionalDependencies": { + "bcrypt-pbkdf": "^1.0.0", + "ecc-jsbn": "~0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + } + }, + "node_modules/sshpk/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dependencies": { + "safe-buffer": "^5.1.1" + } + }, + "node_modules/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/staffrender": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/staffrender/-/staffrender-0.2.1.tgz", + "integrity": "sha512-qg7aaR7YX8TwFYf4p1pjvm3tT8SYLZDe/J2eF2+z2WmYC/PyldnJlsaPKi1qRm0xqQ8nCLziooGXvYRcl5LNew==" + }, + "node_modules/startaudiocontext": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/startaudiocontext/-/startaudiocontext-1.2.1.tgz", + "integrity": "sha1-RtLKtUYseRGArMciPju7wycshZU=", + "dev": true + }, + "node_modules/static-eval": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", + "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", + "dev": true, + "dependencies": { + "escodegen": "^1.11.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/static-eval/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-module": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", + "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", + "dev": true, + "dependencies": { + "concat-stream": "~1.6.0", + "convert-source-map": "^1.5.1", + "duplexer2": "~0.1.4", + "escodegen": "~1.9.0", + "falafel": "^2.1.0", + "has": "^1.0.1", + "magic-string": "^0.22.4", + "merge-source-map": "1.0.4", + "object-inspect": "~1.4.0", + "quote-stream": "~1.0.2", + "readable-stream": "~2.3.3", + "shallow-copy": "~0.0.1", + "static-eval": "^2.0.0", + "through2": "~2.0.3" + } + }, + "node_modules/stats.js": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz", + "integrity": "sha1-scPcRtlEmLV4t/05hbgaznExzH0=", + "dev": true + }, + "node_modules/statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-2.0.0.tgz", + "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "regexp.prototype.flags": "^1.2.0" + } + }, + "node_modules/string.prototype.matchall/node_modules/es-abstract": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "dependencies": { + "get-stdin": "^4.0.1" + }, + "bin": { + "strip-indent": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-url-auth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", + "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/table": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", + "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", + "dev": true, + "dependencies": { + "ajv": "^6.0.1", + "ajv-keywords": "^3.0.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "node_modules/table/node_modules/ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true, + "peerDependencies": { + "ajv": "^6.0.0" + } + }, + "node_modules/table/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/table/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", + "dev": true + }, + "node_modules/tap": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/tap/-/tap-12.0.1.tgz", + "integrity": "sha512-iEJytWaZy8risvfRjuV4+ST+Lrrui/MW2ZCWn01ZaMn0NKFej4+PpBy6bXGOg9+cEGNmI7d3Sdka/zTUZUGidA==", + "dev": true, + "dependencies": { + "bind-obj-methods": "^2.0.0", + "bluebird": "^3.5.1", + "clean-yaml-object": "^0.1.0", + "color-support": "^1.1.0", + "coveralls": "^3.0.1", + "foreground-child": "^1.3.3", + "fs-exists-cached": "^1.0.0", + "function-loop": "^1.0.1", + "glob": "^7.0.0", + "isexe": "^2.0.0", + "js-yaml": "^3.11.0", + "minipass": "^2.3.0", + "mkdirp": "^0.5.1", + "nyc": "^11.8.0", + "opener": "^1.4.1", + "os-homedir": "^1.0.2", + "own-or": "^1.0.0", + "own-or-env": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.0", + "source-map-support": "^0.5.6", + "stack-utils": "^1.0.0", + "tap-mocha-reporter": "^3.0.7", + "tap-parser": "^7.0.0", + "tmatch": "^4.0.0", + "trivial-deferred": "^1.0.1", + "tsame": "^2.0.0", + "write-file-atomic": "^2.3.0", + "yapool": "^1.0.0" + }, + "bin": { + "tap": "bin/run.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tap-mocha-reporter": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-3.0.7.tgz", + "integrity": "sha512-GHVXJ38C3oPRpM3YUc43JlGdpVZYiKeT1fmAd3HH2+J+ZWwsNAUFvRRdoGsXLw9+gU9o+zXpBqhS/oXyRQYwlA==", + "dev": true, + "dependencies": { + "color-support": "^1.1.0", + "debug": "^2.1.3", + "diff": "^1.3.2", + "escape-string-regexp": "^1.0.3", + "glob": "^7.0.5", + "js-yaml": "^3.3.1", + "tap-parser": "^5.1.0", + "unicode-length": "^1.0.0" + }, + "bin": { + "tap-mocha-reporter": "index.js" + }, + "optionalDependencies": { + "readable-stream": "^2.1.5" + } + }, + "node_modules/tap-mocha-reporter/node_modules/tap-parser": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-5.4.0.tgz", + "integrity": "sha1-aQfolyXXt/pq5B7ixGTD20MYiuw=", + "dev": true, + "dependencies": { + "events-to-array": "^1.0.1", + "js-yaml": "^3.2.7" + }, + "bin": { + "tap-parser": "bin/cmd.js" + }, + "optionalDependencies": { + "readable-stream": "^2" + } + }, + "node_modules/tap-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-7.0.0.tgz", + "integrity": "sha1-VNs1MC/aLCzMIZVK074issukJyE=", + "dev": true, + "dependencies": { + "events-to-array": "^1.0.1", + "js-yaml": "^3.2.7", + "minipass": "^2.2.0" + }, + "bin": { + "tap-parser": "bin/cmd.js" + } + }, + "node_modules/tap/node_modules/rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "dependencies": { + "glob": "^7.0.5" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/tap/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tap/node_modules/source-map-support": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", + "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/tapable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", + "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/text-encoding": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz", + "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==", + "deprecated": "no longer maintained" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dependencies": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "node_modules/thunky": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", + "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", + "dev": true + }, + "node_modules/timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "dev": true + }, + "node_modules/tiny-worker": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.1.2.tgz", + "integrity": "sha512-t8xrlrw0ScBnJ1K5ziHcD6u2SgWpE9Tozv4EIqpXMnCfEVc3pWzMx+ZFwqpXk20C4WTRoLZVBi9v1tLkaciCTg==", + "dev": true + }, + "node_modules/tmatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-4.0.0.tgz", + "integrity": "sha512-Ynn2Gsp+oCvYScQXeV+cCs7citRDilq0qDXA6tuvFwDgiYyyaq7D5vKUlAPezzZR5NDobc/QMeN6e5guOYmvxg==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tonal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal/-/tonal-2.2.2.tgz", + "integrity": "sha512-Ze2bQc6KhAf3FKM9HzEsQ4z8hZh4WYCOsCrryONqf/THGOrOpL9Cc8Uc0dq0OA2yK2JbD5FhZckEXNYyD9946A==", + "dependencies": { + "tonal-array": "^2.2.2", + "tonal-chord": "^2.2.2", + "tonal-dictionary": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-interval": "^2.2.2", + "tonal-key": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2", + "tonal-scale": "^2.2.2" + } + }, + "node_modules/tonal-array": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-array/-/tonal-array-2.2.2.tgz", + "integrity": "sha512-h6YIq20L0EEU4EsDoKHAjl5kD2EQn467VfV79QHAuybvNCJpqqRNsQ3QNvoQyir1BgDXaDUIN9FEmQJNiaaCKA==", + "dependencies": { + "tonal-note": "^2.2.2" + } + }, + "node_modules/tonal-chord": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-chord/-/tonal-chord-2.2.2.tgz", + "integrity": "sha512-gOIXapi6Gx3ISRKdEJKEQjhDBiwjhaalyWSrN5rijGrSyyFFNZ+EVOfzcqLtnVAF9BgeO9Ca0eXCor3XpHdEJg==", + "dependencies": { + "tonal-dictionary": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2" + } + }, + "node_modules/tonal-dictionary": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-dictionary/-/tonal-dictionary-2.2.2.tgz", + "integrity": "sha512-283ppJl/0lohhlVPMI6t5C6XwaP5Wx0egu9qfG9TLCT2tn4pRwYpXkzGufd9icvkJTgOylOum3+RxWmywUIPIg==", + "dependencies": { + "tonal-array": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2" + } + }, + "node_modules/tonal-distance": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-distance/-/tonal-distance-2.2.2.tgz", + "integrity": "sha512-ktA6OapCxaetXJb/JuXD5QwfyB7/G3y3ONby7Kkbezyffc57cnNfjdhlTR9XBR7eSFIY/J1KuhLwMx/qrffT4g==", + "dependencies": { + "tonal-interval": "^2.2.2", + "tonal-note": "^2.2.2" + } + }, + "node_modules/tonal-interval": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-interval/-/tonal-interval-2.2.2.tgz", + "integrity": "sha512-lrtDU8lH5IAX7YE63OhGGDRpVb4OoGxaN0wDu5XC3sUhXBwjSgNYpHY2D9JI2aWQ/Er9jhQbnw9b0ffkLy34+Q==" + }, + "node_modules/tonal-key": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-key/-/tonal-key-2.2.2.tgz", + "integrity": "sha512-KIc0b8yPl2ATDxF/65P52tIIempNsAQrug0idpD0zFvs5F5cb1hp7Rh7JJ4gECwC/6a3Hgdd1jomI+TnJ7K98w==", + "dependencies": { + "tonal-array": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-roman-numeral": "^2.2.2" + } + }, + "node_modules/tonal-note": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-note/-/tonal-note-2.2.2.tgz", + "integrity": "sha512-RNK3Nb8PxBEW9yYGStcoczgE8bCYFZ5zfLvYJjvuzLWiwTQmqWOhTzONVobVCGFZ/jgDNwpBEKe/bngL3g3Xfw==" + }, + "node_modules/tonal-pcset": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-pcset/-/tonal-pcset-2.2.2.tgz", + "integrity": "sha512-PSqhkxzckO6J27W0GxawHYln4wvfDJ7puDmccksyFOBo97UhLnpxiyvBekhiYpkuaMtoZLQC/KALAkEj7lcb+A==", + "dependencies": { + "tonal-array": "^2.2.2", + "tonal-interval": "^2.2.2", + "tonal-note": "^2.2.2" + } + }, + "node_modules/tonal-roman-numeral": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-roman-numeral/-/tonal-roman-numeral-2.2.2.tgz", + "integrity": "sha512-+auQNObpW3OvsSqlo+Cc+0otrlEhtbEgpzkPoKbTtkCva0P9oSkSz0OZ9fI73KQM5MsBs1XbB+olxppWkzYTFw==" + }, + "node_modules/tonal-scale": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tonal-scale/-/tonal-scale-2.2.2.tgz", + "integrity": "sha512-tDb3YCoTF50XOXq9kNhGB1JkInk7qAGN6GQnP/3xkGxkreFFRZyI58jfHlmWf/AH4+IKb/exsOmL6G8Ok/PCRw==", + "dependencies": { + "tonal-array": "^2.2.2", + "tonal-dictionary": "^2.2.2", + "tonal-distance": "^2.2.2", + "tonal-note": "^2.2.2", + "tonal-pcset": "^2.2.2" + } + }, + "node_modules/tone": { + "version": "13.8.34", + "resolved": "https://registry.npmjs.org/tone/-/tone-13.8.34.tgz", + "integrity": "sha512-sFIYee0CO5lDcnC/RwIPiPMOIZCMEk35AaxF0Q64q7SE1BL+i+efYR6vrD+peDGrswXJ+D3bTmci2wCy+omx+Q==" + }, + "node_modules/tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "dependencies": { + "punycode": "^1.4.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/transformation-matrix": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/transformation-matrix/-/transformation-matrix-1.15.0.tgz", + "integrity": "sha512-808EqPQbmUD6/IMpWUXLOZcblCHf9xaiB+un0RYNNE9+6VRjoiw6Be8R32tZ0ips1PX/15tlnA2Ev4UUgg827Q==", + "dev": true + }, + "node_modules/transifex": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/transifex/-/transifex-1.5.0.tgz", + "integrity": "sha1-/xxFMPR3/Y3iNPyWit0yKVPUXPQ=", + "dev": true, + "dependencies": { + "commander": "^2.9.0", + "lodash": "^4.17.1", + "mkpath": "^1.0.0", + "mocha": "^3.2.0", + "request": "^2.34.0", + "should": "^11.1.2" + }, + "bin": { + "transifex": "bin/index.js" + } + }, + "node_modules/trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" + }, + "node_modules/trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trivial-deferred": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", + "integrity": "sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=", + "dev": true + }, + "node_modules/tsame": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tsame/-/tsame-2.0.0.tgz", + "integrity": "sha512-dAuzcnOPdqZYojylFQzEes95UDjve3HqKrlTCeLZKSDPMTsn3smzHZqsJj/sWD8wOUkg0RD++B11evyLn2+bIw==", + "dev": true + }, + "node_modules/tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "node_modules/tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true + }, + "node_modules/twgl.js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/twgl.js/-/twgl.js-4.4.0.tgz", + "integrity": "sha512-W+uFP2DyK2dNhE38PcpituNi8CBm+YO5gY6o/IWEILT7NNDTT1wo3YcMmydwiCfUbnT7tz+EcjV7KlZLgE1PlQ==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.18" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha1-ceRkU3p++BwV8tudl+kT/A/2BvA=", + "dev": true, + "dependencies": { + "mime-db": "~1.35.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "node_modules/typedarray-pool": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.2.0.tgz", + "integrity": "sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==", + "dependencies": { + "bit-twiddle": "^1.0.0", + "dup": "^1.0.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.17", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", + "integrity": "sha1-6exflJi57JEOeuOsYmqAXE0J7Kw=", + "dev": true, + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", + "dependencies": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-es/node_modules/commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + }, + "node_modules/uglify-es/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dependencies": { + "source-map": "~0.5.1", + "yargs": "~3.10.0" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + }, + "optionalDependencies": { + "uglify-to-browserify": "~1.0.0" + } + }, + "node_modules/uglify-js/node_modules/camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglify-js/node_modules/cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dependencies": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "node_modules/uglify-js/node_modules/wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/uglify-js/node_modules/yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dependencies": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + }, + "node_modules/uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "node_modules/uglifyjs-webpack-plugin": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz", + "integrity": "sha1-V2ON2ZyFOh6/6dl7QhYKilB/nQA=", + "dependencies": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "engines": { + "node": ">= 4.8 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha1-n+FTahCmZKZSZqHjzPhf02MCvJw=" + }, + "node_modules/underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + }, + "node_modules/underscore-contrib": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz", + "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=", + "dev": true, + "dependencies": { + "underscore": "1.6.0" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-1.0.3.tgz", + "integrity": "sha1-Wtp6f+1RhBpBijKM8UlHisg1irs=", + "dev": true, + "dependencies": { + "punycode": "^1.3.2", + "strip-ansi": "^3.0.1" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz", + "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz", + "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", + "dev": true, + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unicode-trie/node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "dev": true + }, + "node_modules/union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "deprecated": "Critical bug fixed in v3.0.1, please upgrade to the latest version.", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "node_modules/unique-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/uri-js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", + "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", + "engines": { + "node": ">=6" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated" + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-join": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", + "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", + "dev": true + }, + "node_modules/url-parse": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz", + "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==", + "dev": true, + "dependencies": { + "querystringify": "^2.0.0", + "requires-port": "^1.0.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "dev": true, + "dependencies": { + "os-homedir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", + "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", + "dev": true + }, + "node_modules/vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dependencies": { + "indexof": "0.0.1" + } + }, + "node_modules/watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dependencies": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/webpack": { + "version": "4.16.5", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.16.5.tgz", + "integrity": "sha1-Kfs5Rigj1+uK78q4tF9/JB2w0JI=", + "dependencies": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-module-context": "1.5.13", + "@webassemblyjs/wasm-edit": "1.5.13", + "@webassemblyjs/wasm-opt": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "acorn": "^5.6.2", + "acorn-dynamic-import": "^3.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^0.4.4", + "tapable": "^1.0.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "watchpack": "^1.5.0", + "webpack-sources": "^1.0.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/webpack-cli": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.0.tgz", + "integrity": "sha512-p5NeKDtYwjZozUWq6kGNs9w+Gtw/CPvyuXjXn2HMdz8Tie+krjEg8oAtonvIyITZdvpF7XG9xDHwscLr2c+ugQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.0.0", + "global-modules-path": "^2.1.0", + "import-local": "^1.0.0", + "inquirer": "^6.0.0", + "interpret": "^1.1.0", + "loader-utils": "^1.1.0", + "supports-color": "^5.4.0", + "v8-compile-cache": "^2.0.0", + "yargs": "^12.0.1" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "peerDependencies": { + "webpack": "^4.x.x" + } + }, + "node_modules/webpack-cli/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/chardet": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.5.0.tgz", + "integrity": "sha512-9ZTaoBaePSCFvNlNGrsyI8ZVACP2svUtq0DkM7t4K2ClAa96sqOIRjAzDTc8zXzFt1cZR46rRzLTiHFSJ+Qw0g==", + "dev": true + }, + "node_modules/webpack-cli/node_modules/external-editor": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.1.tgz", + "integrity": "sha512-e1neqvSt5pSwQcFnYc6yfGuJD2Q4336cdbHs5VeUO0zTkqPbrHMyw2q1r47fpfLWbvIG8H8A6YO3sck7upTV6Q==", + "dev": true, + "dependencies": { + "chardet": "^0.5.0", + "iconv-lite": "^0.4.22", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-cli/node_modules/inquirer": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", + "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.0", + "figures": "^2.0.0", + "lodash": "^4.17.10", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.1.0", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/webpack-cli/node_modules/lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "node_modules/webpack-cli/node_modules/rxjs": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.0.tgz", + "integrity": "sha512-ZnwuEquf72mnVORgX75eZCAKNNwulmKQuFxDPwDA5EvbkBXeRNJtmvhyVLcPcKkdiUtqqv+LbBM8jYo0eBW++w==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/webpack-cli/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz", + "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", + "dev": true, + "dependencies": { + "loud-rejection": "^1.6.0", + "memory-fs": "~0.4.1", + "mime": "^2.1.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "url-join": "^4.0.0", + "webpack-log": "^1.0.1" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.5.tgz", + "integrity": "sha1-h0dyUuGsZ4kwP7jNPlhfpdUIpAE=", + "dev": true, + "dependencies": { + "ansi-html": "0.0.7", + "array-includes": "^3.0.3", + "bonjour": "^3.5.0", + "chokidar": "^2.0.0", + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.16.2", + "html-entities": "^1.2.0", + "http-proxy-middleware": "~0.18.0", + "import-local": "^1.0.0", + "internal-ip": "1.2.0", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "selfsigned": "^1.9.1", + "serve-index": "^1.7.2", + "sockjs": "0.3.19", + "sockjs-client": "1.1.5", + "spdy": "^3.4.1", + "strip-ansi": "^3.0.0", + "supports-color": "^5.1.0", + "webpack-dev-middleware": "3.1.3", + "webpack-log": "^1.1.2", + "yargs": "11.0.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "peerDependencies": { + "webpack": "^4.0.0-beta.1" + } + }, + "node_modules/webpack-dev-server/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "dependencies": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/yargs": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", + "integrity": "sha1-wFKTEAbF7udGEOX8A1S+39CKIBs=", + "dev": true, + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/webpack-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", + "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", + "dev": true, + "dependencies": { + "chalk": "^2.1.0", + "log-symbols": "^2.1.0", + "loglevelnext": "^1.0.1", + "uuid": "^3.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-log/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-log/node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-log/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "peerDependencies": { + "ajv": "^6.0.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha1-UL8wcekzi83EMzF5Sgy1M/ATYXI=", + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack/node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/webpack/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack/node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=", + "dev": true, + "optional": true + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "node_modules/worker-farm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/worker-loader": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-1.1.1.tgz", + "integrity": "sha512-qJZLVS/jMCBITDzPo/RuweYSIG8VJP5P67mP/71alGyTZRe1LYJFdwLjLalY3T5ifx0bMDRD3OB6P2p1escvlg==", + "dependencies": { + "loader-utils": "^1.0.0", + "schema-utils": "^0.4.0" + }, + "engines": { + "node": ">= 4.8 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.2.tgz", + "integrity": "sha1-lsHQiz/v2h1cHjNwDTv6qb4tVgg=", + "dependencies": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + }, + "node_modules/xhr": { + "version": "2.4.0", + "resolved": "http://registry.npmjs.org/xhr/-/xhr-2.4.0.tgz", + "integrity": "sha1-4W5mpF+GmGHu76tBbV7/ci3ECZM=", + "dependencies": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/xmlcreate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz", + "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=", + "dev": true + }, + "node_modules/xmlhttprequest-ssl": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.4.tgz", + "integrity": "sha1-BPVgkVcks4kIhxXMDteBPpZ3v1c=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/xregexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", + "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "node_modules/yapool": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", + "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", + "dev": true + }, + "node_modules/yargs": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz", + "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==", + "dev": true, + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^2.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^10.1.0" + } + }, + "node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/yargs/node_modules/decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "dev": true, + "dependencies": { + "xregexp": "4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + } + }, "dependencies": { "@babel/cli": { "version": "7.1.5", @@ -1171,7 +19605,8 @@ "@tensorflow/tfjs-converter": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-1.7.4.tgz", - "integrity": "sha512-B/Ux9I3osI0CXoESGR0Xe5C6BsEfC04+g2xn5zVaW9KEuVEnGEgnuBQxgijRFzkqTwoyLv4ptAmjyIghVARX0Q==" + "integrity": "sha512-B/Ux9I3osI0CXoESGR0Xe5C6BsEfC04+g2xn5zVaW9KEuVEnGEgnuBQxgijRFzkqTwoyLv4ptAmjyIghVARX0Q==", + "requires": {} }, "@tensorflow/tfjs-core": { "version": "1.7.4", @@ -1212,7 +19647,8 @@ "@tensorflow/tfjs-layers": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-1.7.4.tgz", - "integrity": "sha512-5/K8Z8RBfXsucL6EaSeb3/8jB/I8oPaaXkxwKVsBPQ+u6lB6LEtSKzeiFc57nDr5OMtVaUZV+pKDNEzP0RUQlg==" + "integrity": "sha512-5/K8Z8RBfXsucL6EaSeb3/8jB/I8oPaaXkxwKVsBPQ+u6lB6LEtSKzeiFc57nDr5OMtVaUZV+pKDNEzP0RUQlg==", + "requires": {} }, "@tonejs/midi": { "version": "2.0.25", @@ -1298,7 +19734,6 @@ "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.5.13.tgz", "integrity": "sha512-49nwvW/Hx9i+OYHg+mRhKZfAlqThr11Dqz8TsrvqGKMhdI2ijy3KBJOun2Z4770TPjrIJhR6KxChQIDaz8clDA==", - "dev": true, "requires": { "@webassemblyjs/helper-module-context": "1.5.13", "@webassemblyjs/helper-wasm-bytecode": "1.5.13", @@ -1311,7 +19746,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -1319,28 +19753,24 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, "@webassemblyjs/floating-point-hex-parser": { "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz", - "integrity": "sha512-vrvvB18Kh4uyghSKb0NTv+2WZx871WL2NzwMj61jcq2bXkyhRC+8Q0oD7JGVf0+5i/fKQYQSBCNMMsDMRVAMqA==", - "dev": true + "integrity": "sha512-vrvvB18Kh4uyghSKb0NTv+2WZx871WL2NzwMj61jcq2bXkyhRC+8Q0oD7JGVf0+5i/fKQYQSBCNMMsDMRVAMqA==" }, "@webassemblyjs/helper-api-error": { "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz", - "integrity": "sha512-dBh2CWYqjaDlvMmRP/kudxpdh30uXjIbpkLj9HQe+qtYlwvYjPRjdQXrq1cTAAOUSMTtzqbXIxEdEZmyKfcwsg==", - "dev": true + "integrity": "sha512-dBh2CWYqjaDlvMmRP/kudxpdh30uXjIbpkLj9HQe+qtYlwvYjPRjdQXrq1cTAAOUSMTtzqbXIxEdEZmyKfcwsg==" }, "@webassemblyjs/helper-buffer": { "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz", "integrity": "sha1-hzuwobRkSSMRN8EmLd/QVpUZWh4=", - "dev": true, "requires": { "debug": "^3.1.0" }, @@ -1349,7 +19779,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -1357,8 +19786,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -1366,7 +19794,6 @@ "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz", "integrity": "sha512-yN6ScQQDFCiAXnVctdVO/J5NQRbwyTbQzsGzEgXsAnrxhjp0xihh+nNHQTMrq5UhOqTb5LykpJAvEv9AT0jnAQ==", - "dev": true, "requires": { "@webassemblyjs/wast-printer": "1.5.13" } @@ -1374,14 +19801,12 @@ "@webassemblyjs/helper-fsm": { "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz", - "integrity": "sha512-hSIKzbXjVMRvy3Jzhgu+vDd/aswJ+UMEnLRCkZDdknZO3Z9e6rp1DAs0tdLItjCFqkz9+0BeOPK/mk3eYvVzZg==", - "dev": true + "integrity": "sha512-hSIKzbXjVMRvy3Jzhgu+vDd/aswJ+UMEnLRCkZDdknZO3Z9e6rp1DAs0tdLItjCFqkz9+0BeOPK/mk3eYvVzZg==" }, "@webassemblyjs/helper-module-context": { "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz", "integrity": "sha512-zxJXULGPLB7r+k+wIlvGlXpT4CYppRz8fLUM/xobGHc9Z3T6qlmJD9ySJ2jknuktuuiR9AjnNpKYDECyaiX+QQ==", - "dev": true, "requires": { "debug": "^3.1.0", "mamacro": "^0.0.3" @@ -1391,7 +19816,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -1399,22 +19823,19 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz", - "integrity": "sha512-0n3SoNGLvbJIZPhtMFq0XmmnA/YmQBXaZKQZcW8maGKwLpVcgjNrxpFZHEOLKjXJYVN5Il8vSfG7nRX50Zn+aw==", - "dev": true + "integrity": "sha512-0n3SoNGLvbJIZPhtMFq0XmmnA/YmQBXaZKQZcW8maGKwLpVcgjNrxpFZHEOLKjXJYVN5Il8vSfG7nRX50Zn+aw==" }, "@webassemblyjs/helper-wasm-section": { "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz", "integrity": "sha1-78dvRKENMHO1hLQ8OKF53xc9XH0=", - "dev": true, "requires": { "@webassemblyjs/ast": "1.5.13", "@webassemblyjs/helper-buffer": "1.5.13", @@ -1427,7 +19848,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -1435,8 +19855,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -1444,7 +19863,6 @@ "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz", "integrity": "sha1-Vz6XyMEuTuuzFspf3gID3dkLA2Q=", - "dev": true, "requires": { "ieee754": "^1.1.11" } @@ -1453,7 +19871,6 @@ "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.5.13.tgz", "integrity": "sha1-q1Lrq5zsKDwcGJesHagzoEo/TO4=", - "dev": true, "requires": { "long": "4.0.0" }, @@ -1461,22 +19878,19 @@ "long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha1-mntxz7fTYaGU6lVSQckvdGjVvyg=", - "dev": true + "integrity": "sha1-mntxz7fTYaGU6lVSQckvdGjVvyg=" } } }, "@webassemblyjs/utf8": { "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.5.13.tgz", - "integrity": "sha1-a1PSzYYc+U+pnB8Sd53eaS+8JGk=", - "dev": true + "integrity": "sha1-a1PSzYYc+U+pnB8Sd53eaS+8JGk=" }, "@webassemblyjs/wasm-edit": { "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz", "integrity": "sha1-yc71ZkwkXPEbOzpzEQyRVYMXJKg=", - "dev": true, "requires": { "@webassemblyjs/ast": "1.5.13", "@webassemblyjs/helper-buffer": "1.5.13", @@ -1493,7 +19907,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", - "dev": true, "requires": { "ms": "2.0.0" } @@ -1501,8 +19914,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -1510,7 +19922,6 @@ "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz", "integrity": "sha1-jm6hE8S0MvpmVAGJ55sW16FAcA4=", - "dev": true, "requires": { "@webassemblyjs/ast": "1.5.13", "@webassemblyjs/helper-wasm-bytecode": "1.5.13", @@ -1523,7 +19934,6 @@ "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz", "integrity": "sha1-FHqtdxen7kIRw2shpfTDDd3zMTg=", - "dev": true, "requires": { "@webassemblyjs/ast": "1.5.13", "@webassemblyjs/helper-buffer": "1.5.13", @@ -1536,7 +19946,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -1544,8 +19953,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -1553,7 +19961,6 @@ "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz", "integrity": "sha1-b0ZRbFuyOQT731gAkjPC3YpUxy8=", - "dev": true, "requires": { "@webassemblyjs/ast": "1.5.13", "@webassemblyjs/helper-api-error": "1.5.13", @@ -1567,7 +19974,6 @@ "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz", "integrity": "sha512-Lbz65T0LQ1LgzKiUytl34CwuhMNhaCLgrh0JW4rJBN6INnBB8NMwUfQM+FxTnLY9qJ+lHJL/gCM5xYhB9oWi4A==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.5.13", "@webassemblyjs/floating-point-hex-parser": "1.5.13", @@ -1582,7 +19988,6 @@ "version": "1.5.13", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz", "integrity": "sha512-QcwogrdqcBh8Z+eUF8SG+ag5iwQSXxQJELBEHmLkk790wgQgnIMmntT2sMAMw53GiFNckArf5X0bsCA44j3lWQ==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.5.13", "@webassemblyjs/wast-parser": "1.5.13", @@ -1625,7 +20030,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", - "dev": true, "requires": { "acorn": "^5.0.0" } @@ -1672,13 +20076,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz", "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=", - "dev": true + "dev": true, + "requires": {} }, "ajv-keywords": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", - "dev": true + "dev": true, + "requires": {} }, "align-text": { "version": "0.1.4", @@ -1703,7 +20109,8 @@ "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "devOptional": true }, "ansi-escapes": { "version": "3.1.0", @@ -1731,7 +20138,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", - "dev": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" @@ -1740,8 +20146,7 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "argparse": { "version": "1.0.9", @@ -1755,20 +20160,17 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "dev": true + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=" }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, "array-find-index": { "version": "1.0.2", @@ -1810,8 +20212,7 @@ "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, "arraybuffer-loader": { "version": "1.0.6", @@ -1848,7 +20249,6 @@ "version": "4.10.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=", - "dev": true, "requires": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -1859,7 +20259,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "dev": true, "requires": { "util": "0.10.3" }, @@ -1867,14 +20266,12 @@ "inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" }, "util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, "requires": { "inherits": "2.0.1" } @@ -1889,14 +20286,12 @@ "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, "async-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" }, "async-limiter": { "version": "1.0.0", @@ -2276,14 +20671,12 @@ "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 + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" }, "base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", - "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -2298,7 +20691,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -2307,7 +20699,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -2316,7 +20707,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -2325,7 +20715,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -2342,8 +20731,7 @@ "base64-js": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", - "dev": true + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" }, "base64-loader": { "version": "1.0.0", @@ -2382,8 +20770,7 @@ "binary-extensions": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", - "dev": true + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" }, "bind-obj-methods": { "version": "2.0.0", @@ -2396,6 +20783,16 @@ "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" }, + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, "blob": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", @@ -2404,14 +20801,12 @@ "bluebird": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=", - "dev": true + "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=" }, "bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=", - "dev": true + "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=" }, "body-parser": { "version": "1.18.2", @@ -2480,7 +20875,6 @@ "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.1", "concat-map": "0.0.1" @@ -2490,7 +20884,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -2508,18 +20901,33 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, + "brfs": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", + "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", + "dev": true, + "requires": { + "quote-stream": "^1.0.1", + "resolve": "^1.1.5", + "static-module": "^2.2.0", + "through2": "^2.0.0" + } + }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-hrtime": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/browser-hrtime/-/browser-hrtime-1.1.8.tgz", + "integrity": "sha512-kzXheikaJsBtzUBlyVtPIY5r0soQePzjwVwT4IlDpU2RvfB5Py52gpU98M77rgqMCheoSSZvrcrdj3t6cZ3suA==" }, "browser-stdout": { "version": "1.3.0", @@ -2531,7 +20939,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, "requires": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -2545,7 +20952,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, "requires": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -2556,7 +20962,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, "requires": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -2567,8 +20972,7 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" } } }, @@ -2576,7 +20980,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, "requires": { "bn.js": "^4.1.0", "randombytes": "^2.0.1" @@ -2586,7 +20989,6 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, "requires": { "bn.js": "^4.1.1", "browserify-rsa": "^4.0.0", @@ -2601,7 +21003,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", - "dev": true, "requires": { "pako": "~1.0.5" } @@ -2615,13 +21016,18 @@ "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", "isarray": "^1.0.0" } }, + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==", + "dev": true + }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -2634,16 +21040,10 @@ "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", "dev": true }, - "buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" - }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, "builtin-modules": { "version": "1.1.1", @@ -2654,8 +21054,7 @@ "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" }, "bytes": { "version": "3.0.0", @@ -2667,7 +21066,6 @@ "version": "10.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", - "dev": true, "requires": { "bluebird": "^3.5.1", "chownr": "^1.0.1", @@ -2688,7 +21086,6 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, "requires": { "glob": "^7.0.5" } @@ -2699,7 +21096,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", - "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -2806,7 +21202,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", - "dev": true, "requires": { "anymatch": "^2.0.0", "async-each": "^1.0.0", @@ -2826,14 +21221,12 @@ "chownr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", - "dev": true + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" }, "chrome-trace-event": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", - "dev": true, "requires": { "tslib": "^1.9.0" } @@ -2842,7 +21235,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", - "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -2858,7 +21250,6 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -2870,7 +21261,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -2942,7 +21332,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -2969,6 +21358,12 @@ "integrity": "sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI=", "dev": true }, + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha512-OsSVtHK8Ir8r3+Fxw/b4jS1ZLPXkV6ZxDRJQzeD7qo0SqMXWrHDM71DgYzPMHY8SFJ0Ao+nNU2p1MmwdzKqPrw==", + "dev": true + }, "combined-stream": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", @@ -2988,8 +21383,7 @@ "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, "component-bind": { "version": "1.0.0", @@ -3064,8 +21458,7 @@ "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 + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.0", @@ -3087,7 +21480,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, "requires": { "date-now": "^0.1.4" } @@ -3095,8 +21487,7 @@ "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" }, "content-disposition": { "version": "0.5.2", @@ -3132,7 +21523,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, "requires": { "aproba": "^1.1.1", "fs-write-stream-atomic": "^1.0.8", @@ -3145,8 +21535,7 @@ "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "copy-webpack-plugin": { "version": "4.5.4", @@ -3392,7 +21781,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, "requires": { "bn.js": "^4.1.0", "elliptic": "^6.0.0" @@ -3402,7 +21790,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, "requires": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -3415,7 +21802,6 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, "requires": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -3450,7 +21836,6 @@ "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", - "dev": true, "requires": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -3675,8 +22060,7 @@ "cyclist": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", - "dev": true + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=" }, "d": { "version": "1.0.0", @@ -3705,8 +22089,7 @@ "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" }, "debug": { "version": "2.6.6", @@ -3729,8 +22112,7 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, "deep-equal": { "version": "1.0.1", @@ -3758,7 +22140,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -3768,7 +22149,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -3777,7 +22157,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -3786,7 +22165,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -3825,7 +22203,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "dev": true, "requires": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -3858,7 +22235,6 @@ "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, "requires": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -3940,8 +22316,7 @@ "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", - "dev": true + "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=" }, "domelementtype": { "version": "1.3.0", @@ -3957,9 +22332,9 @@ } }, "dompurify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.1.1.tgz", - "integrity": "sha512-NijiNVkS/OL8mdQL1hUbCD6uty/cgFpmNiuFxrmJ5YPH2cXrPKIewoixoji56rbZ6XBPmtM8GA8/sf9unlSuwg==", + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.7.tgz", + "integrity": "sha512-jdtDffdGNY+C76jvodNTu9jt5yYj59vuTUyx+wXdzcSwAGTYZDAQkQ7Iwx9zcGrA4ixC1syU4H3RZROqRxokxg==", "dev": true }, "domutils": { @@ -3976,11 +22351,19 @@ "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz", "integrity": "sha1-UfxaxoX4GWRp3wuQXpNLIK9bQCk=" }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, "duplexify": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", - "dev": true, "requires": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", @@ -4007,7 +22390,6 @@ "version": "6.4.1", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", - "dev": true, "requires": { "bn.js": "^4.4.0", "brorand": "^1.0.1", @@ -4043,7 +22425,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, "requires": { "once": "^1.4.0" } @@ -4097,7 +22478,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "memory-fs": "^0.4.0", @@ -4113,7 +22493,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=", - "dev": true, "requires": { "prr": "~1.0.1" } @@ -4237,6 +22616,34 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, + "escodegen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "dev": true, + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, "escope": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", @@ -4646,7 +23053,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", - "dev": true, "requires": { "estraverse": "^4.1.0", "object-assign": "^4.0.1" @@ -4655,8 +23061,7 @@ "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" }, "esutils": { "version": "2.0.2", @@ -4689,8 +23094,7 @@ "events": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", - "dev": true + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" }, "events-to-array": { "version": "1.1.2", @@ -4711,7 +23115,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", - "dev": true, "requires": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -4755,7 +23158,6 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -4770,7 +23172,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -4779,7 +23180,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -4823,7 +23223,8 @@ "version": "0.7.5", "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-0.7.5.tgz", "integrity": "sha512-iPowgKUZkTPX5PznYsmifVj9Bob0w2wTHVkt/eYNPSzyebkUgIedmskf/kcfEIWpiWjg3JRjnW+a17XypySMuw==", - "dev": true + "dev": true, + "requires": {} }, "express": { "version": "4.16.3", @@ -4901,7 +23302,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -4911,7 +23311,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -4933,7 +23332,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", - "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -4949,7 +23347,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -4958,7 +23355,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -4967,7 +23363,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -4976,7 +23371,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -4985,7 +23379,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -5033,6 +23426,14 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "fast-xml-parser": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.0.8.tgz", + "integrity": "sha512-N4XqZaRMuHMvOFwFlqeBTlvrnXU+QN8wvCl2g9fHzMx2BnLoIYRDwy6XwI8FxogHMFI9OfGQBCddgckvSLTnvg==", + "requires": { + "strnum": "^1.0.5" + } + }, "faye-websocket": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", @@ -5127,7 +23528,8 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", - "dev": true + "dev": true, + "requires": {} }, "fast-deep-equal": { "version": "2.0.1", @@ -5200,7 +23602,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -5212,7 +23613,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -5255,7 +23655,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, "requires": { "commondir": "^1.0.1", "make-dir": "^1.0.0", @@ -5266,11 +23665,28 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, "requires": { "locate-path": "^2.0.0" } }, + "findup": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/findup/-/findup-0.1.5.tgz", + "integrity": "sha512-Udxo3C9A6alt2GZ2MNsgnIvX7De0V3VGxeP/x98NSVgSlizcDHdmJza61LI7zJy4OEtSiJyE72s0/+tBl5/ZxA==", + "dev": true, + "requires": { + "colors": "~0.6.0-1", + "commander": "~2.1.0" + }, + "dependencies": { + "commander": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz", + "integrity": "sha512-J2wnb6TKniXNOtoHS8TSrG9IOQluPrsmyAJ8oCUJOBmv+uLBCyPYAZkD2jFvw2DCzIXNnISIM01NIvr35TkBMQ==", + "dev": true + } + } + }, "flat-cache": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", @@ -5287,7 +23703,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", - "dev": true, "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.4" @@ -5330,8 +23745,7 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, "foreach": { "version": "2.0.5", @@ -5711,7 +24125,6 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, "requires": { "map-cache": "^0.2.2" } @@ -5726,12 +24139,20 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" } }, + "from2-array": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/from2-array/-/from2-array-0.0.4.tgz", + "integrity": "sha512-0G0cAp7sYLobH7ALsr835x98PU/YeVF7wlwxdWbCUaea7wsa7lJfKZUAo6p2YZGZ8F94luCuqHZS3JtFER6uPg==", + "dev": true, + "requires": { + "from2": "^2.0.3" + } + }, "fs-exists-cached": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", @@ -5759,7 +24180,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", @@ -5770,14 +24190,12 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "dev": true, "optional": true, "requires": { "nan": "^2.9.2", @@ -5787,25 +24205,21 @@ "abbrev": { "version": "1.1.1", "bundled": true, - "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, "optional": true }, "aproba": { "version": "1.2.0", "bundled": true, - "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", "bundled": true, - "dev": true, "optional": true, "requires": { "delegates": "^1.0.0", @@ -5815,13 +24229,11 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "dev": true, "optional": true, "requires": { "balanced-match": "^1.0.0", @@ -5831,37 +24243,31 @@ "chownr": { "version": "1.0.1", "bundled": true, - "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "debug": { "version": "2.6.9", "bundled": true, - "dev": true, "optional": true, "requires": { "ms": "2.0.0" @@ -5870,25 +24276,21 @@ "deep-extend": { "version": "0.5.1", "bundled": true, - "dev": true, "optional": true }, "delegates": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", "bundled": true, - "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", "bundled": true, - "dev": true, "optional": true, "requires": { "minipass": "^2.2.1" @@ -5897,13 +24299,11 @@ "fs.realpath": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "gauge": { "version": "2.7.4", "bundled": true, - "dev": true, "optional": true, "requires": { "aproba": "^1.0.3", @@ -5919,7 +24319,6 @@ "glob": { "version": "7.1.2", "bundled": true, - "dev": true, "optional": true, "requires": { "fs.realpath": "^1.0.0", @@ -5933,13 +24332,11 @@ "has-unicode": { "version": "2.0.1", "bundled": true, - "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.21", "bundled": true, - "dev": true, "optional": true, "requires": { "safer-buffer": "^2.1.0" @@ -5948,7 +24345,6 @@ "ignore-walk": { "version": "3.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { "minimatch": "^3.0.4" @@ -5957,7 +24353,6 @@ "inflight": { "version": "1.0.6", "bundled": true, - "dev": true, "optional": true, "requires": { "once": "^1.3.0", @@ -5967,19 +24362,16 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, "optional": true }, "ini": { "version": "1.3.5", "bundled": true, - "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true, "requires": { "number-is-nan": "^1.0.0" @@ -5988,13 +24380,11 @@ "isarray": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", "bundled": true, - "dev": true, "optional": true, "requires": { "brace-expansion": "^1.1.7" @@ -6003,13 +24393,11 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, "optional": true }, "minipass": { "version": "2.2.4", "bundled": true, - "dev": true, "optional": true, "requires": { "safe-buffer": "^5.1.1", @@ -6019,7 +24407,6 @@ "minizlib": { "version": "1.1.0", "bundled": true, - "dev": true, "optional": true, "requires": { "minipass": "^2.2.1" @@ -6028,7 +24415,6 @@ "mkdirp": { "version": "0.5.1", "bundled": true, - "dev": true, "optional": true, "requires": { "minimist": "0.0.8" @@ -6037,13 +24423,11 @@ "ms": { "version": "2.0.0", "bundled": true, - "dev": true, "optional": true }, "needle": { "version": "2.2.0", "bundled": true, - "dev": true, "optional": true, "requires": { "debug": "^2.1.2", @@ -6054,7 +24438,6 @@ "node-pre-gyp": { "version": "0.10.0", "bundled": true, - "dev": true, "optional": true, "requires": { "detect-libc": "^1.0.2", @@ -6072,7 +24455,6 @@ "nopt": { "version": "4.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { "abbrev": "1", @@ -6082,13 +24464,11 @@ "npm-bundled": { "version": "1.0.3", "bundled": true, - "dev": true, "optional": true }, "npm-packlist": { "version": "1.1.10", "bundled": true, - "dev": true, "optional": true, "requires": { "ignore-walk": "^3.0.1", @@ -6098,7 +24478,6 @@ "npmlog": { "version": "4.1.2", "bundled": true, - "dev": true, "optional": true, "requires": { "are-we-there-yet": "~1.1.2", @@ -6110,19 +24489,16 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", "bundled": true, - "dev": true, "optional": true }, "once": { "version": "1.4.0", "bundled": true, - "dev": true, "optional": true, "requires": { "wrappy": "1" @@ -6131,19 +24507,16 @@ "os-homedir": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "osenv": { "version": "0.1.5", "bundled": true, - "dev": true, "optional": true, "requires": { "os-homedir": "^1.0.0", @@ -6153,19 +24526,16 @@ "path-is-absolute": { "version": "1.0.1", "bundled": true, - "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", "bundled": true, - "dev": true, "optional": true }, "rc": { "version": "1.2.7", "bundled": true, - "dev": true, "optional": true, "requires": { "deep-extend": "^0.5.1", @@ -6177,7 +24547,6 @@ "minimist": { "version": "1.2.0", "bundled": true, - "dev": true, "optional": true } } @@ -6185,7 +24554,6 @@ "readable-stream": { "version": "2.3.6", "bundled": true, - "dev": true, "optional": true, "requires": { "core-util-is": "~1.0.0", @@ -6200,7 +24568,6 @@ "rimraf": { "version": "2.6.2", "bundled": true, - "dev": true, "optional": true, "requires": { "glob": "^7.0.5" @@ -6209,63 +24576,54 @@ "safe-buffer": { "version": "5.1.1", "bundled": true, - "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", "bundled": true, - "dev": true, "optional": true }, "sax": { "version": "1.2.4", "bundled": true, - "dev": true, "optional": true }, "semver": { "version": "5.5.0", "bundled": true, - "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", "bundled": true, - "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", "bundled": true, - "dev": true, "optional": true }, - "string-width": { - "version": "1.0.2", + "string_decoder": { + "version": "1.1.1", "bundled": true, - "dev": true, "optional": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "safe-buffer": "~5.1.0" } }, - "string_decoder": { - "version": "1.1.1", + "string-width": { + "version": "1.0.2", "bundled": true, - "dev": true, "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { "version": "3.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { "ansi-regex": "^2.0.0" @@ -6274,13 +24632,11 @@ "strip-json-comments": { "version": "2.0.1", "bundled": true, - "dev": true, "optional": true }, "tar": { "version": "4.4.1", "bundled": true, - "dev": true, "optional": true, "requires": { "chownr": "^1.0.1", @@ -6295,13 +24651,11 @@ "util-deprecate": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "wide-align": { "version": "1.1.2", "bundled": true, - "dev": true, "optional": true, "requires": { "string-width": "^1.0.2" @@ -6310,13 +24664,11 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "yallist": { "version": "3.0.2", "bundled": true, - "dev": true, "optional": true } } @@ -6372,8 +24724,7 @@ "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, "getpass": { "version": "0.1.7", @@ -6454,7 +24805,6 @@ "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.4", @@ -6468,7 +24818,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -6478,7 +24827,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, "requires": { "is-extglob": "^2.1.0" } @@ -6546,14 +24894,23 @@ "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, "graceful-readlink": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" }, + "grapheme-breaker": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz", + "integrity": "sha512-mB6rwkw1Z7z4z2RkFFTd/+q6Ug1gnCgjKAervAKgBeNI1mSr8E5EUWoYzFNOZsLHFArLfpk+O8X8qXC7uvuawQ==", + "dev": true, + "requires": { + "brfs": "^1.2.0", + "unicode-trie": "^0.3.1" + } + }, "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -6635,7 +24992,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -6646,7 +25002,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -6656,7 +25011,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -6667,7 +25021,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -6677,7 +25030,6 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", - "dev": true, "requires": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -6704,7 +25056,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, "requires": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -6762,14 +25113,6 @@ "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } } } }, @@ -6841,7 +25184,12 @@ "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "hull.js": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/hull.js/-/hull.js-0.2.10.tgz", + "integrity": "sha512-UO3W30HxhWgeSpNKCdXt00xkwjRTGmhQaoZNP8ll509Nl+DP9juXE3wRGizihuop08FSB4xtAWIbWSe+RxEoog==", "dev": true }, "humanize-url": { @@ -6863,14 +25211,27 @@ "ieee754": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", - "dev": true + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" }, "iferr": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "ify-loader": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ify-loader/-/ify-loader-1.0.4.tgz", + "integrity": "sha512-fzWOWwsTZH3c2GPNJy1dndN5lk+oyXGPbg9YrHv/UwC/SmlxNEUAst6evF1H9ySGbezgBA42YGLSr1WzAwgx9w==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "findup": "^0.1.5", + "from2-array": "0.0.4", + "map-limit": "0.0.1", + "multipipe": "^0.3.0", + "read-package-json": "^2.0.2", + "resolve": "^1.1.6" + } }, "ignore": { "version": "3.3.10", @@ -6934,8 +25295,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "in-publish": { "version": "2.0.0", @@ -6961,7 +25321,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -7096,7 +25455,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -7105,7 +25463,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -7122,7 +25479,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, "requires": { "binary-extensions": "^1.0.0" } @@ -7151,7 +25507,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -7160,7 +25515,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -7177,7 +25531,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -7187,22 +25540,19 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-finite": { "version": "1.0.2", @@ -7231,7 +25581,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -7251,7 +25600,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -7260,7 +25608,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -7301,7 +25648,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", - "dev": true, "requires": { "isobject": "^3.0.1" } @@ -7358,8 +25704,7 @@ "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", - "dev": true + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=" }, "is-wsl": { "version": "1.1.0", @@ -7381,8 +25726,7 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "isomorphic-fetch": { "version": "2.2.1", @@ -7491,7 +25835,12 @@ "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "json-schema": { @@ -7629,8 +25978,7 @@ "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" }, "klaw": { "version": "2.0.0", @@ -7679,11 +26027,29 @@ "immediate": "~3.0.5" } }, + "linebreak": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-0.3.0.tgz", + "integrity": "sha512-zt8pzlM3oq4moDN8U5mP1SbZ44yKV6dXCu44Ez6iTXmxUl8/jRFWeho2SDqL5YDBv0TBKPgU/XGovZwnXAKlOQ==", + "dev": true, + "requires": { + "base64-js": "0.0.8", + "brfs": "^1.3.0", + "unicode-trie": "^0.3.0" + }, + "dependencies": { + "base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "dev": true + } + } + }, "loader-runner": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", - "dev": true + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=" }, "loader-utils": { "version": "1.1.0", @@ -7699,7 +26065,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, "requires": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -7759,8 +26124,7 @@ "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" }, "lodash.defaultsdeep": { "version": "4.6.1", @@ -7856,8 +26220,7 @@ "long": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", - "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", - "dev": true + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" }, "longest": { "version": "1.0.1", @@ -7887,17 +26250,24 @@ "version": "4.1.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", - "dev": true, "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" } }, + "magic-string": { + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "dev": true, + "requires": { + "vlq": "^0.2.2" + } + }, "make-dir": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, "requires": { "pify": "^3.0.0" }, @@ -7905,22 +26275,39 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" } } }, "mamacro": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-limit": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", + "integrity": "sha512-pJpcfLPnIF/Sk3taPW21G/RQsEEirGaFpCW3oXRwH9dnFHPHNGjNyvh++rdmC2fNqEaTw2MhYJraoJWAHx8kEg==", + "dev": true, + "requires": { + "once": "~1.3.0" + }, + "dependencies": { + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==", + "dev": true, + "requires": { + "wrappy": "1" + } + } + } }, "map-obj": { "version": "1.0.1", @@ -7932,7 +26319,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, "requires": { "object-visit": "^1.0.0" } @@ -7947,7 +26333,6 @@ "version": "1.3.4", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", - "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -7972,7 +26357,6 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -8092,6 +26476,15 @@ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, + "merge-source-map": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -8107,7 +26500,6 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", - "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -8133,7 +26525,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", - "dev": true, "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -8183,20 +26574,17 @@ "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, "minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -8234,7 +26622,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", - "dev": true, "requires": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", @@ -8252,7 +26639,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -8262,7 +26648,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -8273,7 +26658,6 @@ "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" } @@ -8366,7 +26750,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, "requires": { "aproba": "^1.1.1", "copy-concurrently": "^1.0.0", @@ -8397,6 +26780,15 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, + "multipipe": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.3.1.tgz", + "integrity": "sha512-ZUcepNdMeKBRn/ksm2XTxFnhBaqnBJSZNqwajmiem6b7Rp3fNAAq+twYn3kqw9YMY7HJuc7I7OObX9cMgB1ANg==", + "dev": true, + "requires": { + "duplexer2": "^0.1.2" + } + }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", @@ -8407,14 +26799,12 @@ "version": "2.10.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "dev": true, "optional": true }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -8494,8 +26884,7 @@ "neo-async": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", - "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", - "dev": true + "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==" }, "nets": { "version": "3.2.0", @@ -8533,7 +26922,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", - "dev": true, "requires": { "assert": "^1.1.1", "browserify-zlib": "^0.2.0", @@ -8558,40 +26946,6 @@ "url": "^0.11.0", "util": "^0.10.3", "vm-browserify": "0.0.4" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - } } }, "node-releases": { @@ -8619,7 +26973,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } @@ -8636,6 +26989,12 @@ "sort-keys": "^1.0.0" } }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -11291,8 +29650,7 @@ "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 + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-component": { "version": "0.0.3", @@ -11303,7 +29661,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -11314,7 +29671,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -11323,13 +29679,18 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, + "object-inspect": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", + "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==", + "dev": true + }, "object-keys": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", @@ -11339,7 +29700,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, "requires": { "isobject": "^3.0.0" } @@ -11370,7 +29730,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, "requires": { "isobject": "^3.0.1" } @@ -11400,7 +29759,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -11455,8 +29813,7 @@ "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" }, "os-homedir": { "version": "1.0.2", @@ -11517,7 +29874,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, "requires": { "p-try": "^1.0.0" } @@ -11526,7 +29882,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, "requires": { "p-limit": "^1.1.0" } @@ -11540,8 +29895,7 @@ "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, "pako": { "version": "1.0.6", @@ -11552,7 +29906,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", - "dev": true, "requires": { "cyclist": "~0.2.2", "inherits": "^2.0.3", @@ -11563,7 +29916,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", - "dev": true, "requires": { "asn1.js": "^4.0.0", "browserify-aes": "^1.0.0", @@ -11606,32 +29958,27 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, "path-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", - "dev": true + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "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 + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", @@ -11678,7 +30025,6 @@ "version": "3.0.16", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", - "dev": true, "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -11716,7 +30062,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, "requires": { "find-up": "^2.1.0" } @@ -11755,8 +30100,7 @@ "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "prelude-ls": { "version": "1.1.2", @@ -11779,8 +30123,7 @@ "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "process-nextick-args": { "version": "1.0.7", @@ -11796,8 +30139,7 @@ "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" }, "prop-types": { "version": "15.6.0", @@ -11856,14 +30198,12 @@ "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "psl": { "version": "1.1.29", @@ -11875,7 +30215,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", - "dev": true, "requires": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -11888,7 +30227,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -11898,7 +30236,6 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, "requires": { "duplexify": "^3.6.0", "inherits": "^2.0.3", @@ -11929,14 +30266,12 @@ "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, "querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, "querystringify": { "version": "2.0.0", @@ -11944,11 +30279,29 @@ "integrity": "sha1-+j7W5o6xUVlFfImze8ZHKDMZV1U=", "dev": true }, + "quote-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", + "integrity": "sha512-kKr2uQ2AokadPjvTyKJQad9xELbZwYzWlNfI3Uz2j/ib5u6H9lDP7fUUR//rMycd0gv4Z5P1qXMfXR8YpIxrjQ==", + "dev": true, + "requires": { + "buffer-equal": "0.0.1", + "minimist": "^1.1.3", + "through2": "^2.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + } + } + }, "randombytes": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", - "dev": true, "requires": { "safe-buffer": "^5.1.0" } @@ -11957,7 +30310,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", - "dev": true, "requires": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -12013,25 +30365,43 @@ "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", "dev": true }, + "read-package-json": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz", + "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==", + "dev": true, + "requires": { + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" + } + }, "readable-stream": { - "version": "2.2.9", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", - "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { - "buffer-shims": "~1.0.0", "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" + }, + "dependencies": { + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + } } }, "readdirp": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "minimatch": "^3.0.2", @@ -12102,7 +30472,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", - "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -12126,14 +30495,12 @@ "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, "repeat-element": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" }, "repeat-string": { "version": "1.6.1", @@ -12255,8 +30622,7 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, "restore-cursor": { "version": "2.0.0", @@ -12271,8 +30637,7 @@ "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", - "dev": true + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=" }, "right-align": { "version": "0.1.3", @@ -12286,7 +30651,6 @@ "version": "2.6.1", "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", - "dev": true, "requires": { "glob": "^7.0.5" }, @@ -12295,7 +30659,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -12311,7 +30674,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -12330,7 +30692,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, "requires": { "aproba": "^1.1.1" } @@ -12359,7 +30720,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, "requires": { "ret": "~0.1.10" } @@ -12393,7 +30753,8 @@ "ajv-keywords": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=" + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "requires": {} } } }, @@ -12457,11 +30818,29 @@ } } }, + "scratch-render": { + "version": "0.1.0-prerelease.20211028200436", + "resolved": "https://registry.npmjs.org/scratch-render/-/scratch-render-0.1.0-prerelease.20211028200436.tgz", + "integrity": "sha512-6IU0mEQpx5ipm2PsmdJXA/MIbrgq5wisn0rOpmCJZQFssyPyZMeanvh6T9j/VlTn13kiDO+67Do2nKRrZa46bA==", + "dev": true, + "requires": { + "grapheme-breaker": "0.3.2", + "hull.js": "0.2.10", + "ify-loader": "1.0.4", + "linebreak": "0.3.0", + "minilog": "3.1.0", + "raw-loader": "^0.5.1", + "scratch-storage": "^1.0.0", + "scratch-svg-renderer": "0.2.0-prerelease.20210727023023", + "twgl.js": "4.4.0" + } + }, "scratch-render-fonts": { "version": "1.0.0-prerelease.20200507182347", "resolved": "https://registry.npmjs.org/scratch-render-fonts/-/scratch-render-fonts-1.0.0-prerelease.20200507182347.tgz", "integrity": "sha512-tVt2s7lxsBhme9WKIZTnluMerdJVGEc80QSrDdIIzUvHXGCIYkLh6j7ytwXcyq2UsA34d93op9+I9Bh1SPkQkA==", "dev": true, + "peer": true, "requires": { "base64-loader": "1.0.0" } @@ -12499,16 +30878,15 @@ } }, "scratch-svg-renderer": { - "version": "0.2.0-prerelease.20201019174008", - "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-0.2.0-prerelease.20201019174008.tgz", - "integrity": "sha512-RF3Zx09Nl+uLTrPD7K4tR6Sqq/JqRTsLVRugohEJ8pGHXshvBh/A4zWx7XmMZHOdEDHunPxpCDHkW2LoMCFioQ==", + "version": "0.2.0-prerelease.20210727023023", + "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-0.2.0-prerelease.20210727023023.tgz", + "integrity": "sha512-vEGZFFPm03LsHeRnIVQoJBoM3dV23daZCHWM0Yb0Rwa1xvymqTWHXRx8ryL5Q94TyceuguqPVAsE66n5S/0fdQ==", "dev": true, "requires": { "base64-js": "1.2.1", "base64-loader": "1.0.0", - "dompurify": "2.1.1", + "dompurify": "2.2.7", "minilog": "3.1.0", - "scratch-render-fonts": "1.0.0-prerelease.20200507182347", "transformation-matrix": "1.15.0" }, "dependencies": { @@ -12601,8 +30979,7 @@ "serialize-javascript": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", - "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==", - "dev": true + "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==" }, "serve-index": { "version": "1.9.1", @@ -12672,14 +31049,12 @@ "set-immediate-shim": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" }, "set-value": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -12691,7 +31066,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -12701,8 +31075,7 @@ "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "setprototypeof": { "version": "1.1.0", @@ -12714,7 +31087,6 @@ "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", - "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -12827,7 +31199,6 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -12843,7 +31214,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -12852,7 +31222,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -12863,7 +31232,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", - "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -12874,7 +31242,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -12883,7 +31250,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -12892,7 +31258,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -12901,7 +31266,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -12914,7 +31278,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", - "dev": true, "requires": { "kind-of": "^3.2.0" }, @@ -12923,7 +31286,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -13023,8 +31385,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=", - "dev": true + "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=" }, "source-map": { "version": "0.5.6", @@ -13035,7 +31396,6 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, "requires": { "atob": "^2.1.1", "decode-uri-component": "^0.2.0", @@ -13047,8 +31407,7 @@ "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, "spdx-correct": { "version": "3.0.0", @@ -13149,7 +31508,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", - "dev": true, "requires": { "extend-shallow": "^3.0.0" } @@ -13186,7 +31544,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", - "dev": true, "requires": { "safe-buffer": "^5.1.1" } @@ -13208,11 +31565,41 @@ "integrity": "sha1-RtLKtUYseRGArMciPju7wycshZU=", "dev": true }, + "static-eval": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", + "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", + "dev": true, + "requires": { + "escodegen": "^1.11.1" + }, + "dependencies": { + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -13222,13 +31609,34 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } } } }, + "static-module": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", + "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", + "dev": true, + "requires": { + "concat-stream": "~1.6.0", + "convert-source-map": "^1.5.1", + "duplexer2": "~0.1.4", + "escodegen": "~1.9.0", + "falafel": "^2.1.0", + "has": "^1.0.1", + "magic-string": "^0.22.4", + "merge-source-map": "1.0.4", + "object-inspect": "~1.4.0", + "quote-stream": "~1.0.2", + "readable-stream": "~2.3.3", + "shallow-copy": "~0.0.1", + "static-eval": "^2.0.0", + "through2": "~2.0.3" + } + }, "stats.js": { "version": "0.17.0", "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz", @@ -13245,7 +31653,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", - "dev": true, "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" @@ -13255,7 +31662,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "stream-shift": "^1.0.0" @@ -13265,52 +31671,18 @@ "version": "2.8.3", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, "requires": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.1", "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-shift": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" }, "strict-uri-encode": { "version": "1.1.0", @@ -13318,6 +31690,14 @@ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -13379,14 +31759,6 @@ } } }, - "string_decoder": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.0.0.tgz", - "integrity": "sha1-8G9BFXtmTYYGn4S9vcmw2KsoFmc=", - "requires": { - "buffer-shims": "~1.0.0" - } - }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -13442,6 +31814,11 @@ "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=", "dev": true }, + "strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -13483,7 +31860,8 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", - "dev": true + "dev": true, + "requires": {} }, "ansi-styles": { "version": "3.2.1", @@ -13672,8 +32050,7 @@ "tapable": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", - "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==", - "dev": true + "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==" }, "text-encoding": { "version": "0.7.0", @@ -13696,7 +32073,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, "requires": { "readable-stream": "^2.1.5", "xtend": "~4.0.1" @@ -13712,11 +32088,16 @@ "version": "2.0.10", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", - "dev": true, "requires": { "setimmediate": "^1.0.4" } }, + "tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "dev": true + }, "tiny-worker": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.1.2.tgz", @@ -13746,14 +32127,12 @@ "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -13762,7 +32141,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -13773,7 +32151,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", - "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -13785,7 +32162,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -13967,14 +32343,12 @@ "tslib": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", - "dev": true + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" }, "tunnel-agent": { "version": "0.4.3", @@ -13987,6 +32361,12 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "optional": true }, + "twgl.js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/twgl.js/-/twgl.js-4.4.0.tgz", + "integrity": "sha512-W+uFP2DyK2dNhE38PcpituNi8CBm+YO5gY6o/IWEILT7NNDTT1wo3YcMmydwiCfUbnT7tz+EcjV7KlZLgE1PlQ==", + "dev": true + }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", @@ -14048,7 +32428,6 @@ "version": "3.3.9", "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", - "dev": true, "requires": { "commander": "~2.13.0", "source-map": "~0.6.1" @@ -14057,14 +32436,12 @@ "commander": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", - "dev": true + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, @@ -14121,7 +32498,6 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz", "integrity": "sha1-V2ON2ZyFOh6/6dl7QhYKilB/nQA=", - "dev": true, "requires": { "cacache": "^10.0.4", "find-cache-dir": "^1.0.0", @@ -14136,8 +32512,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" } } }, @@ -14199,11 +32574,28 @@ "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==", "dev": true }, + "unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", + "dev": true, + "requires": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + }, + "dependencies": { + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "dev": true + } + } + }, "union-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -14215,7 +32607,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -14224,7 +32615,6 @@ "version": "0.4.3", "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -14243,7 +32633,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", - "dev": true, "requires": { "unique-slug": "^2.0.0" } @@ -14252,7 +32641,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", - "dev": true, "requires": { "imurmurhash": "^0.1.4" } @@ -14273,7 +32661,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -14283,7 +32670,6 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -14294,7 +32680,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, "requires": { "isarray": "1.0.0" } @@ -14304,16 +32689,14 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" } } }, "upath": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", - "dev": true + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==" }, "uri-js": { "version": "3.0.2", @@ -14333,14 +32716,12 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -14349,8 +32730,7 @@ "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" } } }, @@ -14373,8 +32753,7 @@ "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" }, "user-home": { "version": "2.0.0", @@ -14389,7 +32768,6 @@ "version": "0.10.4", "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, "requires": { "inherits": "2.0.3" } @@ -14459,11 +32837,16 @@ } } }, + "vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", + "dev": true + }, "vm-browserify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true, "requires": { "indexof": "0.0.1" } @@ -14472,7 +32855,6 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", - "dev": true, "requires": { "chokidar": "^2.0.2", "graceful-fs": "^4.1.2", @@ -14492,7 +32874,6 @@ "version": "4.16.5", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.16.5.tgz", "integrity": "sha1-Kfs5Rigj1+uK78q4tF9/JB2w0JI=", - "dev": true, "requires": { "@webassemblyjs/ast": "1.5.13", "@webassemblyjs/helper-module-context": "1.5.13", @@ -14524,14 +32905,12 @@ "acorn": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", - "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", - "dev": true + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==" }, "ajv": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", - "dev": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -14543,13 +32922,12 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", - "dev": true + "requires": {} }, "eslint-scope": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", "integrity": "sha1-UL8wcekzi83EMzF5Sgy1M/ATYXI=", - "dev": true, "requires": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" @@ -14558,26 +32936,22 @@ "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -14910,7 +33284,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", - "dev": true, "requires": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -14919,8 +33292,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" } } }, @@ -14977,7 +33349,6 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", - "dev": true, "requires": { "errno": "~0.1.7" } @@ -15017,8 +33388,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write": { "version": "0.2.1", @@ -15086,14 +33456,12 @@ "y18n": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, "yapool": { "version": "1.0.0", diff --git a/packages/scratch-vm/package.json b/packages/scratch-vm/package.json index f62cb5c4b..35af94ddc 100644 --- a/packages/scratch-vm/package.json +++ b/packages/scratch-vm/package.json @@ -38,6 +38,7 @@ "canvas-toBlob": "1.0.0", "decode-html": "2.0.0", "diff-match-patch": "1.0.4", + "fast-xml-parser": "^4.0.8", "format-message": "6.2.1", "htmlparser2": "3.10.0", "immutable": "3.8.1", diff --git a/packages/scratch-vm/src/extension-support/xml-builder.js b/packages/scratch-vm/src/extension-support/xml-builder.js index 2b2d3a96f..c1442f9fc 100644 --- a/packages/scratch-vm/src/extension-support/xml-builder.js +++ b/packages/scratch-vm/src/extension-support/xml-builder.js @@ -1,18 +1,109 @@ const Runtime = require('../engine/runtime.js'); -const uid = require('../util/uid.js'); +const { XMLParser, XMLBuilder } = require('fast-xml-parser'); /// /** * @param {Runtime} runtime * @param {{getInfo: () => ExtensionMetadata}} extension - * @param {string} opcode + * @param {string[]} opcode * @returns {string} */ -export const getXMLForOpcode = (extension, runtime, opcode) => { - const { id, blocks } = extension.getInfo(); - // do some error checking - const categoryInfo = runtime._blockInfo.find(i => i.id === id); - const block = blocks.find(block => block.opcode === opcode); - return runtime._convertBlockForScratchBlocks(block, categoryInfo).xml; +export const generateXMLForBlockChunk = (extension, runtime, opcodes, args) => { + if (!validateOpcodesAndArgs(opcodes, args)) return ''; + + const { id, blocks, name } = extension.getInfo(); + const categoryInfo = runtime._blockInfo.find(info => info.id === id); + + if (!validateCategoryInfo(categoryInfo, name ? name : id)) return ''; + + const blocksByOpcode = generateBlockMap(opcodes, blocks); + + if (!validateBlockMap(blocksByOpcode)) return ''; + + const options = { ignoreAttributes: false }; + const parser = new XMLParser(options); + + const getXMLForOpcode = (opcode) => { + const block = blocksByOpcode[opcode]; + const { xml } = runtime._convertBlockForScratchBlocks(block, categoryInfo); + return parser.parse(xml); + }; + + let root; + let previous; + for (let index = 0; index < opcodes.length; index++) { + const xmlObj = getXMLForOpcode(opcodes[index]); + (index === 0) ? root = xmlObj : previous['block']['next'] = xmlObj; + previous = xmlObj; + } + + const builder = new XMLBuilder(options); + const xmlContent = builder.build(root); + return xmlContent; +} + +/** + * + * @param {any[]} opcodes + * @param {any[]} args + */ +const validateOpcodesAndArgs = (opcodes, args) => { + if (!opcodes || opcodes.length === 0) { + console.error(`No opcodes given`); + return false; + } + + if (opcodes.length !== args.length) { + console.error(`Given length of opcodes (${opcodes.length}) doesn't match given length of args (${args.length})`); + return false; + } + + return true; +} + +const validateCategoryInfo = (categoryInfo, categoryName) => { + if (categoryInfo === undefined) { + console.error(`Could not locate category info on runtime for extension: ${categoryName}`); + return false; + } + + return true; +} + +/** + * @typedef {Object} BlockMap + */ + +/** + * + * @param {string[]} opcodes + * @param {ExtensionBlockMetadata[]} blocks + * @returns {BlockMap} + */ +const generateBlockMap = (opcodes, blocks) => { + return [...new Set(opcodes)] + .map(op => { + const block = blocks.find(block => block.opcode === op); + return { opocde: op, block }; + }) + .reduce((acc, cur) => { + acc[cur.opocde] = cur.block; + return acc; + }, {}); +} + +/** + * + * @param {BlockMap} blockMap + */ +const validateBlockMap = (blockMap) => { + for (const opcode in blockMap) { + if (blockMap[opcode] === undefined) { + console.error(`No block with the opcode '${opcode}' could be found.`); + return false; + } + } + + return true; } \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index b421c2964..612b0928b 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -13,7 +13,7 @@ const MusicPlayers = require('./musicplayer') const textRender = require('./textrender'); const regeneratorRuntime = require("regenerator-runtime"); //do not delete const BlockUtility = require('../../engine/block-utility'); -const { getXMLForOpcode } = require('../../extension-support/xml-builder'); +const { generateXMLForBlockChunk } = require('../../extension-support/xml-builder'); class Scratch3MusicCreation { @@ -529,7 +529,7 @@ class Scratch3MusicCreation { * @param {BlockUtility} util */ setVolume(args, util) { - util.runtime.addBlocksToWorkspace(getXMLForOpcode(this, util.runtime, 'playNote')); + util.runtime.addBlocksToWorkspace(generateXMLForBlockChunk(this, util.runtime, ['playNote', 'playNote', 'playNote'], [{}, {}, {}])); const volume = Cast.toNumber(args.VOLUME); this.musicCreationHelper._updateVolume(volume, util); } From 0cc238f4abd651ae304c7253c6469527f7922fa1 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Thu, 9 Jun 2022 17:01:44 -0400 Subject: [PATCH 067/149] remove log statements --- .../src/extensions/scratch3_musiccreation/vizhelpers.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 90ecdc52c..54cbd6d3d 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -198,7 +198,6 @@ class VizHelpers { * @param {array} note - [freq, duration, instrument, volume] */ requestViz (note, util) { - console.log('got request...', note); if (this._visState['status']) { this.processViz(note,util); } @@ -209,7 +208,6 @@ class VizHelpers { const mode = this._visState['mode']; const name = this._visNames[mode]; const lim = this._visLims[name]; - console.log(`mode ${mode}, lim ${lim}`); let buf = this._buf[name]; while (buf.length + 1 >= lim) { buf = buf.splice(1); @@ -218,7 +216,6 @@ class VizHelpers { console.log('note',note); buf.push(note); this._buf[name] = buf; - console.log('name', name); switch (name) { case 'wave': //id for notes when they come in the buffer. Can use ID to track color. From eced762021cd1b3665f47158dfe6f28b68be99ce Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Thu, 9 Jun 2022 17:03:03 -0400 Subject: [PATCH 068/149] freq to note string converter, fixes legend bug --- .../scratch3_musiccreation/freqtonote.js | 14 ++++++++++++++ .../extensions/scratch3_musiccreation/waveform.js | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/freqtonote.js diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/freqtonote.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/freqtonote.js new file mode 100644 index 000000000..00f45b6f8 --- /dev/null +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/freqtonote.js @@ -0,0 +1,14 @@ +class FreqToNote { + /** + * Returns the string representation of @param note + * @param {number} note + */ + static freqToNote(note) { + symbols = ["c","cS","d","eF","e","f","fS","g","gS","a","bF","b"]; + let res = symbols[note % 12]; + let d = Math.floor((note - 60) / 12); + return res + `${note >= 12 ? 4 + d : '00'}`; + } +} + +module.exports = FreqToNote; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js index a1d81f9fb..ff7288245 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js @@ -4,6 +4,7 @@ const Cast = require('../../util/cast'); const Color = require('../../util/color'); const RenderedTarget = require('../../sprites/rendered-target'); const StageLayering = require('../../engine/stage-layering'); +const FreqToNote = require('./freqtonote'); const letters = require('./letters'); const textRender = require('./textrender'); @@ -381,7 +382,7 @@ class Waveform { } this.setPenColorToColor(this.black, util); this.penUp(args, util); - this.drawString(freqToName[i], colorX+25, colorY, 0.6, args, util); + this.drawString(FreqToNote.freqToNote(i), colorX+25, colorY, 0.6, args, util); colorY -= 15; } this.setPenColorToColor(this.black, util); From 99c6778c0ffe50f39d462f2879a644c576c072f5 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Thu, 9 Jun 2022 17:13:54 -0400 Subject: [PATCH 069/149] preparing to integrate with internalize --- packages/scratch-vm/SamplePlayNoteXml.xml | 122 ++++++------------ .../src/extension-support/xml-builder.js | 14 +- .../scratch3_musiccreation/index.js | 37 +++++- 3 files changed, 89 insertions(+), 84 deletions(-) diff --git a/packages/scratch-vm/SamplePlayNoteXml.xml b/packages/scratch-vm/SamplePlayNoteXml.xml index a4abbd802..491c95229 100644 --- a/packages/scratch-vm/SamplePlayNoteXml.xml +++ b/packages/scratch-vm/SamplePlayNoteXml.xml @@ -1,82 +1,40 @@ - - - my variable - - - - - 60 - - - - - 0.25 - - - - - - - 60 - - - - - 0.75 - - - - - - - 60 - - - - - 0.25 - - - - - - - - \ No newline at end of file + + + + 60 + + + + + 0.25 + + + + + + + 60 + + + + + 0.25 + + + + + + + 60 + + + + + 0.25 + + + + + + + \ No newline at end of file diff --git a/packages/scratch-vm/src/extension-support/xml-builder.js b/packages/scratch-vm/src/extension-support/xml-builder.js index c1442f9fc..3381cf5e9 100644 --- a/packages/scratch-vm/src/extension-support/xml-builder.js +++ b/packages/scratch-vm/src/extension-support/xml-builder.js @@ -34,12 +34,14 @@ export const generateXMLForBlockChunk = (extension, runtime, opcodes, args) => { let previous; for (let index = 0; index < opcodes.length; index++) { const xmlObj = getXMLForOpcode(opcodes[index]); + applyArgs(xmlObj, args[index]); (index === 0) ? root = xmlObj : previous['block']['next'] = xmlObj; previous = xmlObj; } - const builder = new XMLBuilder(options); + const builder = new XMLBuilder({ ...options, format: true }); const xmlContent = builder.build(root); + console.log(xmlContent); return xmlContent; } @@ -106,4 +108,14 @@ const validateBlockMap = (blockMap) => { } return true; +} + +const applyArgs = (obj, args) => { + console.log(obj); + for (const key in args) { + const value = obj.block.value.find(o => o['@_name'] === key); + if (value) { + value.shadow.field['#text'] = args[key]; + } + } } \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 612b0928b..957803a3f 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -277,6 +277,25 @@ class Scratch3MusicCreation { }, }, }, + { + opcode: 'testMagentaRNN', + text: formatMessage({ + id: 'musiccreation.testMagentaRNN', + default: 'add music blocks with [STEPS] steps and [TEMP] temperature', + description: 'test Magenta RNN' + }), + blockType: BlockType.COMMAND, + arguments: { + STEPS: { + type: ArgumentType.NUMBER, + defaultValue: 20 + }, + TEMP: { + type: ArgumentType.NUMBER, + defaultValue: 1.5 + }, + }, + }, { opcode: 'testMagentaMVAE', text: formatMessage({ @@ -286,6 +305,15 @@ class Scratch3MusicCreation { }), blockType: BlockType.COMMAND }, + { + opcode: 'createNotesMVAE', + text: formatMessage({ + id: 'musiccreation.createNotesMVAE', + default: 'add new music blocks', + description: 'create notes Magenta MVAE' + }), + blockType: BlockType.COMMAND + }, { opcode: 'testSheetMusicViz', text: formatMessage({ @@ -508,6 +536,14 @@ class Scratch3MusicCreation { this.magentaNoteList = await this.musicAccompanimentHelper.testMagentaMVAE(utils); } + async createNotesMVAE(utils) { + this.magentaNoteList = await this.musicAccompanimentHelper.testMagentaMVAE(utils); + const blockArgs = this.magentaNoteList.map(arr => ({ 'NOTE': arr[0], 'SECS': arr[1] })); + const opcodes = blockArgs.map(_ => 'playNote'); + const xml = generateXMLForBlockChunk(this, util.runtime, opcodes, blockArgs); + util.runtime.addBlocksToWorkspace(xml); + } + getInstrument(util) { return this.musicCreationHelper.getInstrument(util); } @@ -529,7 +565,6 @@ class Scratch3MusicCreation { * @param {BlockUtility} util */ setVolume(args, util) { - util.runtime.addBlocksToWorkspace(generateXMLForBlockChunk(this, util.runtime, ['playNote', 'playNote', 'playNote'], [{}, {}, {}])); const volume = Cast.toNumber(args.VOLUME); this.musicCreationHelper._updateVolume(volume, util); } From f71332168f62dac7f0bcbccfa9e20433c131f455 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Tue, 14 Jun 2022 12:28:52 -0400 Subject: [PATCH 070/149] initial commit of blocks playing notes works. But my computer crashed? might've been an issue with screen recording though --- packages/scratch-vm/src/engine/execute.js | 12 +- packages/scratch-vm/src/engine/thread.js | 52 ++--- .../extension-support/block-relationships.js | 11 ++ .../scratch3_musiccreation/index.js | 36 +++- .../musiccreationhelpers.js | 181 +++++++++--------- 5 files changed, 175 insertions(+), 117 deletions(-) create mode 100644 packages/scratch-vm/src/extension-support/block-relationships.js diff --git a/packages/scratch-vm/src/engine/execute.js b/packages/scratch-vm/src/engine/execute.js index 51aee7064..36118ea44 100644 --- a/packages/scratch-vm/src/engine/execute.js +++ b/packages/scratch-vm/src/engine/execute.js @@ -2,8 +2,9 @@ const BlockUtility = require('./block-utility'); const BlocksExecuteCache = require('./blocks-execute-cache'); const log = require('../util/log'); const Thread = require('./thread'); -const {Map} = require('immutable'); +const { Map } = require('immutable'); const cast = require('../util/cast'); +const { internalIDKey } = require('../extension-support/block-relationships'); /** * Single BlockUtility instance reused by execute for every pritimive ran. @@ -160,7 +161,7 @@ const handlePromise = (primitiveReportedValue, sequencer, thread, blockCached, l * @param {object} cached default set of cached values */ class BlockCached { - constructor (blockContainer, cached) { + constructor(blockContainer, cached) { /** * Block id in its parent set of blocks. * @type {string} @@ -284,9 +285,9 @@ class BlockCached { */ this._ops = []; - const {runtime} = blockUtility.sequencer; + const { runtime } = blockUtility.sequencer; - const {opcode, fields, inputs} = this; + const { opcode, fields, inputs } = this; // Assign opcode isHat and blockFunction data to avoid dynamic lookups. this._isHat = runtime.getIsHat(opcode); @@ -439,7 +440,7 @@ const execute = function (sequencer, thread) { const reported = currentStackFrame.reported; // Reinstate all the previous values. for (; i < reported.length; i++) { - const {opCached: oldOpCached, inputValue} = reported[i]; + const { opCached: oldOpCached, inputValue } = reported[i]; const opCached = ops.find(op => op.id === oldOpCached); @@ -507,6 +508,7 @@ const execute = function (sequencer, thread) { // Update values for arguments (inputs). const argValues = opCached._argValues; + argValues[internalIDKey] = opCached.id; // Fields are set during opCached initialization. diff --git a/packages/scratch-vm/src/engine/thread.js b/packages/scratch-vm/src/engine/thread.js index e381dd9bf..9a23b0984 100644 --- a/packages/scratch-vm/src/engine/thread.js +++ b/packages/scratch-vm/src/engine/thread.js @@ -1,3 +1,5 @@ +const Blocks = require("./blocks"); + /** * Recycle bin for empty stackFrame objects * @type Array<_StackFrame> @@ -12,7 +14,7 @@ const _stackFrameFreeList = []; * @private */ class _StackFrame { - constructor (warpMode) { + constructor(warpMode) { /** * Whether this level of the stack is a loop. * @type {boolean} @@ -68,7 +70,7 @@ class _StackFrame { * Used to recycle. * @return {_StackFrame} this */ - reset () { + reset() { this.isLoop = false; this.warpMode = false; @@ -86,7 +88,7 @@ class _StackFrame { * @param {?boolean} warpMode defaults to current warpMode * @returns {_StackFrame} this */ - reuse (warpMode = this.warpMode) { + reuse(warpMode = this.warpMode) { this.reset(); this.warpMode = Boolean(warpMode); return this; @@ -97,7 +99,7 @@ class _StackFrame { * @param {boolean} warpMode Enable warpMode on this frame. * @returns {_StackFrame} The clean stack frame with correct warpMode setting. */ - static create (warpMode) { + static create(warpMode) { const stackFrame = _stackFrameFreeList.pop(); if (typeof stackFrame !== 'undefined') { stackFrame.warpMode = Boolean(warpMode); @@ -110,7 +112,7 @@ class _StackFrame { * Put a stack frame object into the recycle bin for reuse. * @param {_StackFrame} stackFrame The frame to reset and recycle. */ - static release (stackFrame) { + static release(stackFrame) { if (typeof stackFrame !== 'undefined') { _stackFrameFreeList.push(stackFrame.reset()); } @@ -123,7 +125,7 @@ class _StackFrame { * @constructor */ class Thread { - constructor (firstBlock) { + constructor(firstBlock) { /** * ID of top block of the thread * @type {!string} @@ -195,7 +197,7 @@ class Thread { * stepping from block to block. * @const */ - static get STATUS_RUNNING () { + static get STATUS_RUNNING() { return 0; } @@ -204,7 +206,7 @@ class Thread { * execution is paused until the promise changes thread status. * @const */ - static get STATUS_PROMISE_WAIT () { + static get STATUS_PROMISE_WAIT() { return 1; } @@ -212,7 +214,7 @@ class Thread { * Thread status for yield. * @const */ - static get STATUS_YIELD () { + static get STATUS_YIELD() { return 2; } @@ -221,7 +223,7 @@ class Thread { * thread is resumed. * @const */ - static get STATUS_YIELD_TICK () { + static get STATUS_YIELD_TICK() { return 3; } @@ -230,7 +232,7 @@ class Thread { * Thread is in this state when there are no more blocks to execute. * @const */ - static get STATUS_DONE () { + static get STATUS_DONE() { return 4; } @@ -238,7 +240,7 @@ class Thread { * Push stack and update stack frames appropriately. * @param {string} blockId Block ID to push to stack. */ - pushStack (blockId) { + pushStack(blockId) { this.stack.push(blockId); // Push an empty stack frame, if we need one. // Might not, if we just popped the stack. @@ -253,7 +255,7 @@ class Thread { * (avoids popping and re-pushing a new stack frame - keeps the warpmode the same * @param {string} blockId Block ID to push to stack. */ - reuseStackForNextBlock (blockId) { + reuseStackForNextBlock(blockId) { this.stack[this.stack.length - 1] = blockId; this.stackFrames[this.stackFrames.length - 1].reuse(); } @@ -262,7 +264,7 @@ class Thread { * Pop last block on the stack and its stack frame. * @return {string} Block ID popped from the stack. */ - popStack () { + popStack() { _StackFrame.release(this.stackFrames.pop()); return this.stack.pop(); } @@ -270,7 +272,7 @@ class Thread { /** * Pop back down the stack frame until we hit a procedure call or the stack frame is emptied */ - stopThisScript () { + stopThisScript() { let blockID = this.peekStack(); while (blockID !== null) { const block = this.target.blocks.getBlock(blockID); @@ -292,7 +294,7 @@ class Thread { * Get top stack item. * @return {?string} Block ID on top of stack. */ - peekStack () { + peekStack() { return this.stack.length > 0 ? this.stack[this.stack.length - 1] : null; } @@ -301,7 +303,7 @@ class Thread { * Get top stack frame. * @return {?object} Last stack frame stored on this thread. */ - peekStackFrame () { + peekStackFrame() { return this.stackFrames.length > 0 ? this.stackFrames[this.stackFrames.length - 1] : null; } @@ -309,7 +311,7 @@ class Thread { * Get stack frame above the current top. * @return {?object} Second to last stack frame stored on this thread. */ - peekParentStackFrame () { + peekParentStackFrame() { return this.stackFrames.length > 1 ? this.stackFrames[this.stackFrames.length - 2] : null; } @@ -317,14 +319,14 @@ class Thread { * Push a reported value to the parent of the current stack frame. * @param {*} value Reported value to push. */ - pushReportedValue (value) { + pushReportedValue(value) { this.justReported = typeof value === 'undefined' ? null : value; } /** * Initialize procedure parameters on this stack frame. */ - initParams () { + initParams() { const stackFrame = this.peekStackFrame(); if (stackFrame.params === null) { stackFrame.params = {}; @@ -337,7 +339,7 @@ class Thread { * @param {!string} paramName Name of parameter. * @param {*} value Value to set for parameter. */ - pushParam (paramName, value) { + pushParam(paramName, value) { const stackFrame = this.peekStackFrame(); stackFrame.params[paramName] = value; } @@ -347,7 +349,7 @@ class Thread { * @param {!string} paramName Name of parameter. * @return {*} value Value for parameter. */ - getParam (paramName) { + getParam(paramName) { for (let i = this.stackFrames.length - 1; i >= 0; i--) { const frame = this.stackFrames[i]; if (frame.params === null) { @@ -365,7 +367,7 @@ class Thread { * Whether the current execution of a thread is at the top of the stack. * @return {boolean} True if execution is at top of the stack. */ - atStackTop () { + atStackTop() { return this.peekStack() === this.topBlock; } @@ -375,7 +377,7 @@ class Thread { * For example, this is used in a standard sequence of blocks, * where execution proceeds from one block to the next. */ - goToNextBlock () { + goToNextBlock() { const nextBlockId = this.target.blocks.getNextBlock(this.peekStack()); this.reuseStackForNextBlock(nextBlockId); } @@ -386,7 +388,7 @@ class Thread { * @param {!string} procedureCode Procedure code of procedure being called. * @return {boolean} True if the call appears recursive. */ - isRecursiveCall (procedureCode) { + isRecursiveCall(procedureCode) { let callCount = 5; // Max number of enclosing procedure calls to examine. const sp = this.stack.length - 1; for (let i = sp - 1; i >= 0; i--) { diff --git a/packages/scratch-vm/src/extension-support/block-relationships.js b/packages/scratch-vm/src/extension-support/block-relationships.js new file mode 100644 index 000000000..037d9cc08 --- /dev/null +++ b/packages/scratch-vm/src/extension-support/block-relationships.js @@ -0,0 +1,11 @@ +import BlockUtility from '../engine/block-utility.js'; + +export const internalIDKey = "internal_blockID"; + +/** + * + * @param {string} blockID + * @param {BlockUtility} util + * @returns {string | null | undefined} + */ +export const getTopBlockID = (blockID, util) => util.thread.blockContainer.getTopLevelScript(blockID); \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index f7f946fef..92493e4f6 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -13,7 +13,9 @@ const AnalysisHelpers = require('./analysishelpers'); const MusicPlayers = require('./musicplayer') const textRender = require('./textrender'); const regeneratorRuntime = require("regenerator-runtime"); //do not delete +const { internalIDKey, getTopBlockID } = require('../../extension-support/block-relationships'); +const instrumentKey = 'instrumentsPerChunk'; class Scratch3MusicCreation { constructor(runtime) { @@ -62,6 +64,7 @@ class Scratch3MusicCreation { this._onTargetCreated = this._onTargetCreated.bind(this); this.runtime.on('targetWasCreated', this._onTargetCreated); + } @@ -210,6 +213,18 @@ class Scratch3MusicCreation { } } }, + { + opcode: 'setInstrumentForBelow', + blockType: BlockType.COMMAND, + text: 'set instrument for below blocks to [INSTRUMENT]', + arguments: { + INSTRUMENT: { + type: ArgumentType.NUMBER, + defaultValue: 1, + menu: "INSTRUMENT" + } + } + }, { opcode: 'setVolume', blockType: BlockType.COMMAND, @@ -498,6 +513,22 @@ class Scratch3MusicCreation { this.musicCreationHelper._setInstrument(args.INSTRUMENT, util, false); } + /** + * Select an instrument for playing notes. + * @param {object} args - the block arguments. + * @param {BlockUtility} util - utility object provided by the runtime. + * @property {int} INSTRUMENT - the number of the instrument to select. + */ + setInstrumentForBelow(args, util) { + const topID = getTopBlockID(args[internalIDKey], util); + if (topID) { + const instrument = this.musicCreationHelper.getInstrumentValue(args.INSTRUMENT); + util[instrumentKey] + ? util[instrumentKey][topID] = instrument + : util[instrumentKey] = { [topID]: instrument }; + } + } + /** * * @param {array} raw_note - magenta note [freq,duration,inst,?] @@ -606,6 +637,7 @@ class Scratch3MusicCreation { /** * Set the current tempo to a new value. * @param {object} args - the block arguments. + * @param {BlockUtility} util - the block utility. * @property {number} TEMPO - the tempo, in beats per minute. */ setVolume(args, util) { @@ -618,7 +650,9 @@ class Scratch3MusicCreation { } playNote(args, util) { - toAdd = this.musicCreationHelper.playNote(args, util); + const id = getTopBlockID(args[internalIDKey], util); + const inst = util[instrumentKey] && id ? util[instrumentKey][id] : undefined; + toAdd = this.musicCreationHelper.playNote(args, util, inst); if (toAdd.length == 3) { this.noteList.push(toAdd); vol = (this.getVolume(util)); diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 1b3aa50ff..d41f9e3f1 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -21,7 +21,7 @@ try { } class MusicCreationHelpers { - constructor (runtime) { + constructor(runtime) { this.runtime = runtime; this._stopped = false; @@ -47,12 +47,12 @@ class MusicCreationHelpers { this._onTargetCreated = this._onTargetCreated.bind(this); this.runtime.on('targetWasCreated', this._onTargetCreated); - volumes = [{text: "pianissimo", value: 15}, - {text: "piano", value: 30}, - {text: "mezzo-piano", value: 45}, - {text: "mezzo-forte", value: 60}, - {text: "forte", value: 85}, - {text: "fortissimo", value: 100}]; + volumes = [{ text: "pianissimo", value: 15 }, + { text: "piano", value: 30 }, + { text: "mezzo-piano", value: 45 }, + { text: "mezzo-forte", value: 60 }, + { text: "forte", value: 85 }, + { text: "fortissimo", value: 100 }]; globalVolume = "mezzo-forte"; } @@ -61,7 +61,7 @@ class MusicCreationHelpers { * The key to load & store a target's music-related state. * @type {string} */ - static get STATE_KEY () { + static get STATE_KEY() { return 'Scratch.musiccreation'; } @@ -69,7 +69,7 @@ class MusicCreationHelpers { * The default music-related state, to be used when a target has no existing music state. * @type {MusicState} */ - static get DEFAULT_MUSIC_STATE () { + static get DEFAULT_MUSIC_STATE() { return { currentInstrument: 0 }; @@ -79,8 +79,8 @@ class MusicCreationHelpers { * The minimum and maximum MIDI note numbers, for clamping the input to play note. * @type {{min: number, max: number}} */ - static get MIDI_NOTE_RANGE () { - return {min: 0, max: 130}; + static get MIDI_NOTE_RANGE() { + return { min: 0, max: 130 }; } /** @@ -88,15 +88,15 @@ class MusicCreationHelpers { * 100 beats at the default tempo of 60bpm is 100 seconds. * @type {{min: number, max: number}} */ - static get BEAT_RANGE () { - return {min: 0, max: 100}; + static get BEAT_RANGE() { + return { min: 0, max: 100 }; } /** * The maximum number of sounds to allow to play simultaneously. * @type {number} */ - static get CONCURRENCY_LIMIT () { + static get CONCURRENCY_LIMIT() { return 30; } @@ -109,7 +109,7 @@ class MusicCreationHelpers { * @param {number[]} samples - an array of numbers representing the MIDI note number for each * sampled sound used to play this instrument. */ - get INSTRUMENT_INFO () { + get INSTRUMENT_INFO() { return [ { name: formatMessage({ @@ -130,7 +130,7 @@ class MusicCreationHelpers { dirName: '4-guitar', releaseTime: 0.5, samples: [60] - }, { + }, { name: formatMessage({ id: 'musiccreation.instrumentBass', default: 'Bass', @@ -188,7 +188,7 @@ class MusicCreationHelpers { * @listens Runtime#event:targetWasCreated * @private */ - _onTargetCreated (newTarget, sourceTarget) { + _onTargetCreated(newTarget, sourceTarget) { if (sourceTarget) { const musicState = sourceTarget.getCustomState(MusicCreationHelpers.STATE_KEY); if (musicState) { @@ -200,7 +200,7 @@ class MusicCreationHelpers { /** * Decode the full set of drum and instrument sounds, and store the audio buffers in arrays. */ - _loadAllSounds () { + _loadAllSounds() { const loadingPromises = []; this.INSTRUMENT_INFO.forEach((instrumentInfo, instrumentIndex) => { this._instrumentPlayerArrays[instrumentIndex] = []; @@ -223,7 +223,7 @@ class MusicCreationHelpers { * @param {array} playerArray - the array of players in which to store it. * @return {Promise} - a promise which will resolve once the sound has been stored. */ - _storeSound (filePath, index, playerArray) { + _storeSound(filePath, index, playerArray) { const fullPath = `${filePath}.mp3`; if (!assetData[fullPath]) return; @@ -241,7 +241,7 @@ class MusicCreationHelpers { * @param {ArrayBuffer} soundBuffer - a buffer containing the encoded audio. * @return {Promise} - a promise which will resolve once the sound has decoded. */ - _decodeSound (soundBuffer) { + _decodeSound(soundBuffer) { const engine = this.runtime.audioEngine; if (!engine) { @@ -249,9 +249,9 @@ class MusicCreationHelpers { } // Check for newer promise-based API - return engine.decodeSoundPlayer({data: {buffer: soundBuffer}}); + return engine.decodeSoundPlayer({ data: { buffer: soundBuffer } }); } - + /** * Create data for a menu in scratch-blocks format, consisting of an array of objects with text and * value properties. The text is a translated string, and the value is one-indexed. @@ -259,7 +259,7 @@ class MusicCreationHelpers { * @return {array} - An array of objects with text and value properties. * @private */ - _buildMenu (info) { + _buildMenu(info) { return info.map((entry, index) => { const obj = {}; obj.text = entry.name; @@ -268,12 +268,12 @@ class MusicCreationHelpers { }); } - /** - * @param {Target} target - collect music state for this target. - * @returns {MusicState} the mutable music state associated with that target. This will be created if necessary. - * @private - */ - _getMusicState (target) { + /** + * @param {Target} target - collect music state for this target. + * @returns {MusicState} the mutable music state associated with that target. This will be created if necessary. + * @private + */ + _getMusicState(target) { let musicState = target.getCustomState(MusicCreationHelpers.STATE_KEY); if (!musicState) { musicState = Clone.simple(MusicCreationHelpers.DEFAULT_MUSIC_STATE); @@ -282,7 +282,7 @@ class MusicCreationHelpers { return musicState; } - getInstrument (util) { + getInstrument(util) { const stage = this.runtime.getTargetForStage(); if (stage) { if (!stage.instrument) { @@ -301,8 +301,12 @@ class MusicCreationHelpers { * @param {object} util - utility object provided by the runtime. * @param {boolean} mapMidi - whether or not instNum is a MIDI instrument number. */ - _setInstrument (instNum, util, mapMidi) { + _setInstrument(instNum, util, mapMidi) { const musicState = this._getMusicState(util.target); + musicState.currentInstrument = this.getInstrumentValue(instNum); + } + + getInstrumentValue(instNum) { instNum = Cast.toNumber(instNum); instNum = Math.round(instNum); const stage = this.runtime.getTargetForStage(); @@ -310,25 +314,24 @@ class MusicCreationHelpers { stage.instrument = this.findInstrumentForNumber(instNum); } instNum -= 1; // instruments are one-indexed - instNum = MathUtil.wrapClamp(instNum, 0, this.INSTRUMENT_INFO.length - 1); - musicState.currentInstrument = instNum; + return MathUtil.wrapClamp(instNum, 0, this.INSTRUMENT_INFO.length - 1); } - findInstrumentForNumber (number) { + findInstrumentForNumber(number) { for (var m in instrumentNames) { if (instrumentNames[m].value == number) { return instrumentNames[m].text; } - } + } return "Piano"; } - findVolumeForNumber (number) { + findVolumeForNumber(number) { for (var m in volumes) { if (volumes[m].value == number) { return volumes[m].text; } - } + } return "mezzo-forte"; } @@ -337,14 +340,14 @@ class MusicCreationHelpers { * @param {number} tempo - the tempo to set, in beats per minute. * @private */ - _updateVolume (volume, util) { + _updateVolume(volume, util) { volume = MathUtil.clamp(volume, 0, 100); util.target.volume = volume; const stage = this.runtime.getTargetForStage(); globalVolume = this.findVolumeForNumber(volume); } - getVolume (util) { + getVolume(util) { return globalVolume; } @@ -356,13 +359,13 @@ class MusicCreationHelpers { * @returns an object with 'note', 'duration', and 'index' fields * @private */ - _clamp (noteInfo, index) { + _clamp(noteInfo, index) { let note = Cast.toNumber(noteInfo.NOTE); note = MathUtil.clamp(note, MusicCreationHelpers.MIDI_NOTE_RANGE.min, MusicCreationHelpers.MIDI_NOTE_RANGE.max); let beats = Cast.toNumber(noteInfo.SECS); beats = this._clampBeats(beats); - return {note: note,duration: beats, index: index}; + return { note: note, duration: beats, index: index }; } /** @@ -373,7 +376,7 @@ class MusicCreationHelpers { * * @see {SoundPlayer} is in the scratch audio node module */ - _getPlayer (inst, note) { + _getPlayer(inst, note) { if (!this._instrumentPlayerNoteArrays[inst][note]) { this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); } @@ -396,7 +399,7 @@ class MusicCreationHelpers { * @param {flot} dur - duration in secs * @returns an object with 'player' and 'data' fields, or null on error */ - createPlayer (util, note, dur, inst) { + createPlayer(util, note, dur, inst) { // Determine which of the audio samples for this instrument to play const instrumentInfo = this.INSTRUMENT_INFO[inst]; const sampleArray = instrumentInfo.samples; @@ -412,15 +415,19 @@ class MusicCreationHelpers { this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); } - const player = this._getPlayer(inst,note); + const player = this._getPlayer(inst, note); - return {player:player, - data: - {instInfo: instrumentInfo, - sampleArray: sampleArray, - sampleIndex: sampleIndex, - note: note, - duration: dur}}; + return { + player: player, + data: + { + instInfo: instrumentInfo, + sampleArray: sampleArray, + sampleIndex: sampleIndex, + note: note, + duration: dur + } + }; } /** @@ -435,11 +442,11 @@ class MusicCreationHelpers { * @augments @param util's stackFrame.duration to be 0 once the last note in @param seq * has stopped playing. */ - _playNoteFromSeq (noteInfo, seq, util,l, inst) { + _playNoteFromSeq(noteInfo, seq, util, l, inst) { const i = noteInfo['index']; - const last = i === l-1; + const last = i === l - 1; if (this._concurrencyCounter > this.CONCURRENCY_LIMIT) return; - const playerAndData = this.createPlayer(util,noteInfo['note'],noteInfo['duration'], inst); + const playerAndData = this.createPlayer(util, noteInfo['note'], noteInfo['duration'], inst); if (!playerAndData) { console.log(`null data for note ${noteInfo}`); return; @@ -455,12 +462,12 @@ class MusicCreationHelpers { if (last || this._stopped) { util.stackFrame.duration = 0; } else { - this._playNoteFromSeq(seq[i+1],seq,util,l,inst); + this._playNoteFromSeq(seq[i + 1], seq, util, l, inst); } }); - + if (!this._stopped) { - this._activatePlayer(util,playerAndData); + this._activatePlayer(util, playerAndData); } } @@ -473,11 +480,11 @@ class MusicCreationHelpers { * @requires - each elem in @param seq has 'note', 'duration' and * 'index' fields */ - playFirstNote (util, seq, inst) { + playFirstNote(util, seq, inst) { const l = seq.length if (l === 0) return; util.sequencer.runtime.setMaxListeners(Infinity); - this._playNoteFromSeq(seq[0],seq,util,l, inst); + this._playNoteFromSeq(seq[0], seq, util, l, inst); } /** @@ -485,12 +492,12 @@ class MusicCreationHelpers { * @param {array} args - args[i] has 'mutation', 'NOTE', and 'SECS' fields * @param {BlockUtility} util */ - playNotes (args, util, inst) { + playNotes(args, util, inst) { const l = args.length; let seq = []; for (let i = 0; i < l; i++) { const noteArg = args[i]; - seq.push(this._clamp(noteArg,i)); + seq.push(this._clamp(noteArg, i)); } if (l === 0) return; this._stopped = false; @@ -512,8 +519,8 @@ class MusicCreationHelpers { * @param {number} durationSec - duration, in seconds * @private */ - _initNote (util, sampleArray, sampleIndex, note, player, instInfo, - durationSec) { + _initNote(util, sampleArray, sampleIndex, note, player, instInfo, + durationSec) { // Set its pitch. const sampleNote = sampleArray[sampleIndex]; const notePitchInterval = this._ratioForPitchInterval(note - sampleNote); @@ -549,9 +556,11 @@ class MusicCreationHelpers { // Start playing the note player.play(); // Connect the player to the gain node. - player.connect({getInputNode () { - return volumeGain; - }}); + player.connect({ + getInputNode() { + return volumeGain; + } + }); // Set playback now after play creates the outputNode. player.outputNode.playbackRate.value = notePitchInterval; // Schedule playback to stop. @@ -566,7 +575,7 @@ class MusicCreationHelpers { * @param {object} playerAndData - contains 'player' and 'data' fields * @private */ - _activatePlayer (util, playerAndData) { + _activatePlayer(util, playerAndData) { // If we're playing too many sounds, do not play the note. if (this._concurrencyCounter > MusicCreationHelpers.CONCURRENCY_LIMIT) { console.log('concurrency limit reached'); @@ -588,10 +597,10 @@ class MusicCreationHelpers { let durationSec = data['duration']; this._initNote(util, sampleArray, sampleIndex, note, player, instInfo, - durationSec); + durationSec); } - playNote (args, util) { + playNote(args, util, instrument) { if (this._stackTimerNeedsInit(util)) { let note = Cast.toNumber(args.NOTE); note = MathUtil.clamp(note, @@ -603,7 +612,7 @@ class MusicCreationHelpers { if (beats === 0) return; const durationSec = beats; - this._playNote(util, note, durationSec); + this._playNote(util, note, durationSec, instrument); this._startStackTimer(util, durationSec); const musicState = this._getMusicState(util.target); @@ -625,7 +634,7 @@ class MusicCreationHelpers { * @param {number} durationSec - the duration in seconds to play the note. * @private */ - _playNote (util, note, durationSec) { + _playNote(util, note, durationSec, instrument) { if (util.runtime.audioEngine === null) return; if (util.target.sprite.soundBank === null) return; @@ -636,19 +645,19 @@ class MusicCreationHelpers { // Determine which of the audio samples for this instrument to play const musicState = this._getMusicState(util.target); - const inst = musicState.currentInstrument; + const inst = instrument ? instrument : musicState.currentInstrument; const instrumentInfo = this.INSTRUMENT_INFO[inst]; const sampleArray = instrumentInfo.samples; const sampleIndex = this._selectSampleIndexForNote(note, sampleArray); // If the audio sample has not loaded yet, bail out if (typeof this._instrumentPlayerArrays[inst] === 'undefined') return; if (typeof this._instrumentPlayerArrays[inst][sampleIndex] === 'undefined') return; - + if (!this._instrumentPlayerNoteArrays[inst][note]) { this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); } - const player = this._getPlayer(inst,note); + const player = this._getPlayer(inst, note); this._initNote(util, sampleArray, sampleIndex, note, player, instrumentInfo, durationSec); @@ -663,7 +672,7 @@ class MusicCreationHelpers { * @return {index} the index of the selected sample in the samples array. * @private */ - _selectSampleIndexForNote (note, samples) { + _selectSampleIndexForNote(note, samples) { // Step backwards through the array of samples, i.e. in descending pitch, in order to find // the sample that is the closest one below (or matching) the pitch of the input note. for (let i = samples.length - 1; i >= 0; i--) { @@ -680,17 +689,17 @@ class MusicCreationHelpers { * @return {number} a ratio corresponding to the input interval. * @private */ - _ratioForPitchInterval (interval) { + _ratioForPitchInterval(interval) { return Math.pow(2, (interval / 12)); } - /** - * Start the stack timer and the yield the thread if necessary. - * @param {object} util - utility object provided by the runtime. - * @param {number} duration - a duration in seconds to set the timer for. - * @private - */ - _startStackTimer (util, duration) { + /** + * Start the stack timer and the yield the thread if necessary. + * @param {object} util - utility object provided by the runtime. + * @param {number} duration - a duration in seconds to set the timer for. + * @private + */ + _startStackTimer(util, duration) { util.stackFrame.timer = new Timer(); util.stackFrame.timer.start(); util.stackFrame.duration = duration; @@ -703,7 +712,7 @@ class MusicCreationHelpers { * @return {boolean} - true if the stack timer needs to be initialized. * @private */ - _stackTimerNeedsInit (util) { + _stackTimerNeedsInit(util) { return !util.stackFrame.timer; } @@ -712,7 +721,7 @@ class MusicCreationHelpers { * @param {object} util - utility object provided by the runtime. * @private */ - _checkStackTimer (util) { + _checkStackTimer(util) { const timeElapsed = util.stackFrame.timer.timeElapsed(); if (timeElapsed < util.stackFrame.duration * 1000) { util.yield(); @@ -725,7 +734,7 @@ class MusicCreationHelpers { * @return {number} - the clamped duration. * @private */ - _clampBeats (beats) { + _clampBeats(beats) { return MathUtil.clamp(beats, MusicCreationHelpers.BEAT_RANGE.min, MusicCreationHelpers.BEAT_RANGE.max); } From e360aa270374143766ca70b5cfe1707c493b6805 Mon Sep 17 00:00:00 2001 From: Parker Malachowsky Date: Tue, 14 Jun 2022 14:19:09 -0400 Subject: [PATCH 071/149] generalizing modifier technique and handling sketchy problems --- packages/scratch-vm/src/engine/blocks.js | 17 +++++++++ .../extension-support/block-relationships.js | 36 ++++++++++++++++++- .../scratch3_musiccreation/index.js | 16 ++++----- 3 files changed, 59 insertions(+), 10 deletions(-) diff --git a/packages/scratch-vm/src/engine/blocks.js b/packages/scratch-vm/src/engine/blocks.js index 189a595be..6e0533279 100644 --- a/packages/scratch-vm/src/engine/blocks.js +++ b/packages/scratch-vm/src/engine/blocks.js @@ -219,6 +219,23 @@ class Blocks { return block.id; } + /** + * NOTE: Also returns true if baseID === aboveID + * @param {?string} baseID ID of block to check from. + * @param {?string} aboveID ID of block that may or may not be above the baseID block. + * @return {boolean} Whether or a block with id = aboveID is 'above' the baseID block + */ + isBlockAbove (baseID, aboveID) { + if (baseID === aboveID) return true; + let block = this._blocks[baseID]; + if (typeof block === 'undefined') return null; + while (block.parent !== null) { + block = this._blocks[block.parent]; + if (block.id === aboveID) return true; + } + return false; + } + /** * Get the procedure definition for a given name. * @param {?string} name Name of procedure to query. diff --git a/packages/scratch-vm/src/extension-support/block-relationships.js b/packages/scratch-vm/src/extension-support/block-relationships.js index 037d9cc08..c2ba88257 100644 --- a/packages/scratch-vm/src/extension-support/block-relationships.js +++ b/packages/scratch-vm/src/extension-support/block-relationships.js @@ -1,6 +1,7 @@ import BlockUtility from '../engine/block-utility.js'; export const internalIDKey = "internal_blockID"; +const topBlockModifiers = 'topBlockModifiers'; /** * @@ -8,4 +9,37 @@ export const internalIDKey = "internal_blockID"; * @param {BlockUtility} util * @returns {string | null | undefined} */ -export const getTopBlockID = (blockID, util) => util.thread.blockContainer.getTopLevelScript(blockID); \ No newline at end of file +export const getTopBlockID = (blockID, util) => util.thread.blockContainer.isBlockAbove(blockID); + +/** + * + * @param {BlockUtility} util + * @param {string} topBlockID + * @param {string | number | symbol} modifierKey + * @param {any} value + * @returns + */ +export const addTopBlockModifierToUtils = (util, topBlockID, modifierKey, value) => { + // should purge stall ids on utils + if (!topBlockID) return; + util[topBlockModifiers] + ? util[topBlockModifiers][topBlockID] + ? util[topBlockModifiers][topBlockID][modifierKey] = value + : util[topBlockModifiers][topBlockID] = { [modifierKey]: value } + : util[topBlockModifiers] = { [topBlockID]: {[modifierKey]: value} } +} + +/** + * + * @param {BlockUtility} util + * @param {string} topBlockID + * @param {string | number | symbol} modifierKey + * @returns + */ +export const getTopBlockModifier = (util, topBlockID, modifierKey) => { + if (!topBlockID) return undefined; + if (!util[topBlockModifiers]) return undefined; + if (!util[topBlockModifiers][topBlockID]) return undefined; + // must validate that the source of the modifier is still in the block chain + return util[topBlockModifiers][topBlockID][modifierKey]; +} \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 92493e4f6..1b2063dce 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -13,9 +13,9 @@ const AnalysisHelpers = require('./analysishelpers'); const MusicPlayers = require('./musicplayer') const textRender = require('./textrender'); const regeneratorRuntime = require("regenerator-runtime"); //do not delete -const { internalIDKey, getTopBlockID } = require('../../extension-support/block-relationships'); +const { internalIDKey, getTopBlockID, addTopBlockModifierToUtils, getTopBlockModifier } = require('../../extension-support/block-relationships'); -const instrumentKey = 'instrumentsPerChunk'; +const instrumentModifierKey = 'instrument'; class Scratch3MusicCreation { constructor(runtime) { @@ -521,12 +521,10 @@ class Scratch3MusicCreation { */ setInstrumentForBelow(args, util) { const topID = getTopBlockID(args[internalIDKey], util); - if (topID) { - const instrument = this.musicCreationHelper.getInstrumentValue(args.INSTRUMENT); - util[instrumentKey] - ? util[instrumentKey][topID] = instrument - : util[instrumentKey] = { [topID]: instrument }; - } + if (!topID) return; + + const instrument = this.musicCreationHelper.getInstrumentValue(args.INSTRUMENT); + addTopBlockModifierToUtils(util, topID, instrumentModifierKey, instrument); } /** @@ -651,7 +649,7 @@ class Scratch3MusicCreation { playNote(args, util) { const id = getTopBlockID(args[internalIDKey], util); - const inst = util[instrumentKey] && id ? util[instrumentKey][id] : undefined; + const inst = getTopBlockModifier(util, id, instrumentModifierKey); toAdd = this.musicCreationHelper.playNote(args, util, inst); if (toAdd.length == 3) { this.noteList.push(toAdd); From 99f3ab5e97e799982a68c284d260d43591ee817c Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Wed, 15 Jun 2022 09:57:53 -0400 Subject: [PATCH 072/149] fix 'complete music' bugs --- .../src/extensions/scratch3_musiccreation/index.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index c2e63c826..2fc48056e 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -569,7 +569,15 @@ class Scratch3MusicCreation { async _getAndPlayMagentaNotes(RNN, args, utils, inst) { let magenta_notes = null; if (RNN) { - magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); + if (this.noteList.length > 0) { + const low = 48; + const hi = 83; + const filtered = this.noteList.filter(note => note[0] >= low && note[0] <= hi); + magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(filtered, args, utils); + } else { + utils.stackFrame.duration = 0; + return; + } } else { magenta_notes = await this.musicAccompanimentHelper.testMagentaMVAE(utils); } From 82453a3058b0c8587ca3b35096e178a9afa27f90 Mon Sep 17 00:00:00 2001 From: Parker Malachowsky Date: Wed, 15 Jun 2022 12:48:00 -0400 Subject: [PATCH 073/149] Added the ability to check if modifier should still apply --- .../extension-support/block-relationships.js | 31 ++++++++++++++----- .../scratch3_musiccreation/index.js | 31 +++++++++++-------- 2 files changed, 41 insertions(+), 21 deletions(-) diff --git a/packages/scratch-vm/src/extension-support/block-relationships.js b/packages/scratch-vm/src/extension-support/block-relationships.js index c2ba88257..86fd1337b 100644 --- a/packages/scratch-vm/src/extension-support/block-relationships.js +++ b/packages/scratch-vm/src/extension-support/block-relationships.js @@ -1,45 +1,60 @@ import BlockUtility from '../engine/block-utility.js'; +import Blocks from '../engine/blocks.js'; export const internalIDKey = "internal_blockID"; const topBlockModifiers = 'topBlockModifiers'; +/** + * + * @param {BlockUtilty} util + * @returns {Blocks} + */ +const getBlockContainer = (util) => util.thread.blockContainer; + + /** * * @param {string} blockID * @param {BlockUtility} util * @returns {string | null | undefined} */ -export const getTopBlockID = (blockID, util) => util.thread.blockContainer.isBlockAbove(blockID); +export const getTopBlockID = (blockID, util) => getBlockContainer(util).getTopLevelScript(blockID); /** * * @param {BlockUtility} util + * @param {string} selfID * @param {string} topBlockID * @param {string | number | symbol} modifierKey * @param {any} value * @returns */ -export const addTopBlockModifierToUtils = (util, topBlockID, modifierKey, value) => { +export const addTopBlockModifierToUtils = (util, selfID, topBlockID, modifierKey, value) => { // should purge stall ids on utils if (!topBlockID) return; + const entry = {value, sourceID: selfID}; util[topBlockModifiers] ? util[topBlockModifiers][topBlockID] - ? util[topBlockModifiers][topBlockID][modifierKey] = value - : util[topBlockModifiers][topBlockID] = { [modifierKey]: value } - : util[topBlockModifiers] = { [topBlockID]: {[modifierKey]: value} } + ? util[topBlockModifiers][topBlockID][modifierKey] = entry + : util[topBlockModifiers][topBlockID] = { [modifierKey]: entry } + : util[topBlockModifiers] = { [topBlockID]: {[modifierKey]: entry} } } /** * * @param {BlockUtility} util + * @param {string} selfID * @param {string} topBlockID * @param {string | number | symbol} modifierKey * @returns */ -export const getTopBlockModifier = (util, topBlockID, modifierKey) => { +export const getTopBlockModifier = (util, selfID, topBlockID, modifierKey) => { if (!topBlockID) return undefined; if (!util[topBlockModifiers]) return undefined; if (!util[topBlockModifiers][topBlockID]) return undefined; - // must validate that the source of the modifier is still in the block chain - return util[topBlockModifiers][topBlockID][modifierKey]; + + const modifier = util[topBlockModifiers][topBlockID][modifierKey]; + if (!modifier || !getBlockContainer(util).isBlockAbove(selfID, modifier.sourceID)) return; + + return modifier.value; } \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 1b2063dce..ccafe9af9 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -520,11 +520,12 @@ class Scratch3MusicCreation { * @property {int} INSTRUMENT - the number of the instrument to select. */ setInstrumentForBelow(args, util) { + const selfID = args[internalIDKey]; const topID = getTopBlockID(args[internalIDKey], util); if (!topID) return; const instrument = this.musicCreationHelper.getInstrumentValue(args.INSTRUMENT); - addTopBlockModifierToUtils(util, topID, instrumentModifierKey, instrument); + addTopBlockModifierToUtils(util, selfID, topID, instrumentModifierKey, instrument); } /** @@ -577,24 +578,29 @@ class Scratch3MusicCreation { this.musicCreationHelper.playNotes(prepared_notes['args'], utils, inst); } + getInstrumentForBlock(id, util) { + const topID = getTopBlockID(id, util); + const modifierInst = getTopBlockModifier(util, id, topID, instrumentModifierKey); + return modifierInst ? modifierInst : this.musicCreationHelper._getMusicState(util.target).currentInstrument; + } + /** * Used to get the generated sequence of notes from Magenta and * play it. * @param {boolean} RNN - true if 'complete music', false if 'generate new music' * @param {array} args - arguments to be given to the music helper - * @param {BlockUtility} utils + * @param {BlockUtility} util */ - getAndPlayMagentaNotes(RNN, args, utils) { - const musicState = this.musicCreationHelper._getMusicState(utils.target); - const inst = musicState.currentInstrument; - if (utils.stackTimerNeedsInit()) { + getAndPlayMagentaNotes(RNN, args, util) { + const inst = this.getInstrumentForBlock(args[internalIDKey], util); + if (util.stackTimerNeedsInit()) { // get timer running for a large amount of time (will be handled) - utils.startStackTimer(Number.MAX_SAFE_INTEGER); - utils.yield(); - this._getAndPlayMagentaNotes(RNN, args, utils, inst); + util.startStackTimer(Number.MAX_SAFE_INTEGER); + util.yield(); + this._getAndPlayMagentaNotes(RNN, args, util, inst); } - else if (!utils.stackTimerFinished()) { - utils.yield(); + else if (!util.stackTimerFinished()) { + util.yield(); } } @@ -648,8 +654,7 @@ class Scratch3MusicCreation { } playNote(args, util) { - const id = getTopBlockID(args[internalIDKey], util); - const inst = getTopBlockModifier(util, id, instrumentModifierKey); + const inst = this.getInstrumentForBlock(args[internalIDKey], util); toAdd = this.musicCreationHelper.playNote(args, util, inst); if (toAdd.length == 3) { this.noteList.push(toAdd); From bfa4ecf42058720d07c8d7c217cb7f910fda882b Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Fri, 17 Jun 2022 10:27:18 -0400 Subject: [PATCH 074/149] distinguish continuous scroll from periodic reset scroll --- .../scratch3_musiccreation/vizhelpers.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 54cbd6d3d..a61d1301b 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -11,6 +11,7 @@ const WaveformHelper = require('./waveform'); const SpectrogramHelper = require('./spectrogram'); const FFTHelper = require('./fft'); const { updateVariableIdentifiers } = require('../../util/variable-util'); +const { e } = require('./letters'); class VizHelpers { constructor (runtime) { @@ -20,7 +21,8 @@ class VizHelpers { this._visState = {status: false, mode: undefined}; this._buf = {sheet: [], wave: [], freq: [], freqs: []}; this._visNames = {1: 'sheet', 2: 'wave', 3: 'freq', 4: 'freqs'}; - this._visLims = {'sheet': 12, 'wave': 5, 'freq': 15, 'freqs': 15}; + this._visLims = {'sheet': 11, 'wave': 5, 'freq': 15, 'freqs': 15}; + this._continuousScroll = {'sheet': false, 'wave': true, 'freq': false, 'freqs': true}; /** * The ID of the renderer Skin corresponding to the pen layer. @@ -208,17 +210,22 @@ class VizHelpers { const mode = this._visState['mode']; const name = this._visNames[mode]; const lim = this._visLims[name]; + const cont = this._continuousScroll[name]; let buf = this._buf[name]; - while (buf.length + 1 >= lim) { - buf = buf.splice(1); + if (cont) { + while (buf.length + 1 >= lim) { + buf = buf.splice(1); + } + } else { + if (buf.length + 1 >= lim) buf = []; } + note[4] = this._count++; console.log('note',note); buf.push(note); this._buf[name] = buf; switch (name) { case 'wave': - //id for notes when they come in the buffer. Can use ID to track color. this.testWaveformViz(buf,null,util); break; case 'freq': From 0e91e3c1723a6826e7cb7019b84d080a93604ab7 Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Fri, 17 Jun 2022 11:01:51 -0400 Subject: [PATCH 075/149] dup notes show up in legend. fixes #100 --- .../extensions/scratch3_musiccreation/waveform.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js index ff7288245..d1e21973f 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js @@ -198,7 +198,7 @@ class Waveform { 85: "cS6" } - freqToColor = {}; + colorToFreq = {}; } /** @@ -371,9 +371,8 @@ class Waveform { this.setPenColorToColor(this.black, util); this.drawString('legend',colorX, this.legendStartY + this.legendLengthY - 5, 0.7, args, util); - //draw Color mappings - for (var i in freqToColor) { - this.setPenColorToColor(freqToColor[i], util); + for (let color in colorToFreq) { + this.setPenColorToColor(color, util); for (var c = 0; c <= 10; c++) { this.penUp(args, util); util.target.setXY(colorX, colorY-c); @@ -382,9 +381,10 @@ class Waveform { } this.setPenColorToColor(this.black, util); this.penUp(args, util); - this.drawString(FreqToNote.freqToNote(i), colorX+25, colorY, 0.6, args, util); + this.drawString(FreqToNote.freqToNote(colorToFreq[color]), colorX+25, colorY, 0.6, args, util); colorY -= 15; } + this.setPenColorToColor(this.black, util); this.penUp(args, util); @@ -419,7 +419,7 @@ class Waveform { drawSignal(args, util) { colors = ['0xff0000', '0x0000ff', '0x00ff00', '0xffa500'] const color_count = colors.length; - freqToColor = {}; + colorToFreq = {}; x = this.axisStartX; y = this.axisStartY+this.yAxisLength/2; signal = this.noteList; @@ -440,7 +440,7 @@ class Waveform { inst = note[2]; vol = note[3]; c = this.getColorFromNote(note); - freqToColor[midi] = c; + colorToFreq[c] = midi; this.setPenColorToColor(c,util); freq = 2**((midi - 69)/12)*440; Omega = 2*Math.PI*freq/44140; From 5a4d89bc2bfbbbe7eee6c4686b9d9542502b3fa0 Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Fri, 17 Jun 2022 11:34:59 -0400 Subject: [PATCH 076/149] don't call complete when filtered note list is empty --- .../extensions/scratch3_musiccreation/index.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 2fc48056e..8c3fd3382 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -568,22 +568,24 @@ class Scratch3MusicCreation { */ async _getAndPlayMagentaNotes(RNN, args, utils, inst) { let magenta_notes = null; + let valid = true; if (RNN) { if (this.noteList.length > 0) { const low = 48; const hi = 83; const filtered = this.noteList.filter(note => note[0] >= low && note[0] <= hi); - magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(filtered, args, utils); - } else { - utils.stackFrame.duration = 0; - return; - } + if (filtered.length > 0) { + magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(filtered, args, utils); + } else valid = false; + } else valid = false; } else { magenta_notes = await this.musicAccompanimentHelper.testMagentaMVAE(utils); } - const prepared_notes = this._prepare(magenta_notes); - this.magentaNoteList = prepared_notes['notes']; - this.musicCreationHelper.playNotes(prepared_notes, utils, inst,this.vizHelper); + if (valid) { + const prepared_notes = this._prepare(magenta_notes); + this.magentaNoteList = prepared_notes['notes']; + this.musicCreationHelper.playNotes(prepared_notes, utils, inst,this.vizHelper); + } else utils.stackFrame.duration = 0; } /** From 311c955b6262b26a1802e4bc588f4c88cd76926e Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Fri, 17 Jun 2022 11:38:21 -0400 Subject: [PATCH 077/149] remove unused data structure and most log statements --- .../scratch3_musiccreation/sheetmusic.js | 1 - .../scratch3_musiccreation/vizhelpers.js | 1 - .../scratch3_musiccreation/waveform.js | 53 ------------------- 3 files changed, 55 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index d4f31619a..549eface6 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -873,7 +873,6 @@ class SheetMusic { } if (duration < 1) { //add tails for < quarter notes if (duration === 0) { - console.log("DURATION IS ZERO"); return; } offset = 0; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index a61d1301b..c79706b24 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -221,7 +221,6 @@ class VizHelpers { } note[4] = this._count++; - console.log('note',note); buf.push(note); this._buf[name] = buf; switch (name) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js index d1e21973f..313f92c9b 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/waveform.js @@ -145,59 +145,6 @@ class Waveform { "Synth":[[1,1], [2, 0], [3, 0], [4, 0]] //DONE } - freqToName = { - 36: "c2", - 37: "cS2", - 38: "d2", - 39: "eF2", - 40: "e2", - 41: "f2", - 42: "fS2", - 43: "g2", - 44: "gS2", - 45: "a2", - 46: "bF2", - 47: "b2", - 48: "c3", - 49: "cS3", - 50: "d3", - 51: "eF3", - 52: "e3", - 53: "f3", - 54: "fS3", - 55: "g3", - 56: "gS3", - 57: "a3", - 58: "bF3", - 59: "b3", - 60: "c4", - 61: "cS4", - 62: "d4", - 63: "eF4", - 64: "e4", - 65: "f4", - 66: "fS4", - 67: "g4", - 68: "gS4", - 69: "a4", - 70: "bF4", - 71: "b4", - 72: "c5", - 73: "cS5", - 74: "d5", - 75: "eF5", - 76: "e5", - 77: "f5", - 78: "fS5", - 79: "g5", - 80: "gS5", - 81: "a5", - 82: "bF5", - 83: "b5", - 84: "c6", - 85: "cS6" - } - colorToFreq = {}; } From 935a135e1ec9044ed5a0d374930203bc9853bc54 Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Fri, 17 Jun 2022 11:58:57 -0400 Subject: [PATCH 078/149] minor clean up (remove some log statements and dead code) --- .../scratch-vm/src/extensions/scratch3_musiccreation/fft.js | 3 --- .../src/extensions/scratch3_musiccreation/index.js | 6 +----- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js index fb0826339..06657c903 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/fft.js @@ -263,8 +263,6 @@ class FFT { midi = this.noteList[i][0]; inst = this.noteList[i][2]; harmonic = this.harmonics[inst]; - log.log(inst); - log.log(this.harmonics[inst]); pitch = 2**((midi - 69)/12)*440; for (i in harmonic) { k = harmonic[i][0]; @@ -293,7 +291,6 @@ class FFT { amp = amps[i]; ratio = freq/maxFreq; ratioAmp = amp/maxAmp; - log.log(ratio, ratioAmp); this.penUp(args, util); util.target.setXY(this.axisStartX + ratio*this.xAxisLength, this.axisStartY); this.penDown(args, util); diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index c2e63c826..c5e13c9a8 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -474,14 +474,11 @@ class Scratch3MusicCreation { } testWaveformViz(args, util) { - //console.log(this.totalNoteList); this.totalNoteList = this.noteList.concat(this.magentaNoteList); this.vizHelper.testWaveformViz(this.totalNoteList, args, util); } toggleVisMode (args, util) { - console.log('toggle'); - this.vizHelper.toggleVisMode(args,util); } @@ -657,8 +654,7 @@ class Scratch3MusicCreation { toAdd.push(volumes[m].value); } } - // console.log(toAdd); - this.vizHelper.requestViz(toAdd,util); // can move to music creation helper if that is preferred + this.vizHelper.requestViz(toAdd,util); this.wavenoteList.push(toAdd); } } From 28be61435fbd9574f34166e30e021d2e826dcf5f Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Fri, 17 Jun 2022 12:10:04 -0400 Subject: [PATCH 079/149] clear note buffers on 'reset music' --- .../src/extensions/scratch3_musiccreation/index.js | 1 + .../src/extensions/scratch3_musiccreation/vizhelpers.js | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index c5e13c9a8..304a05e63 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -471,6 +471,7 @@ class Scratch3MusicCreation { this.noteList = []; this.wavenoteList = []; this.magentaNoteList = []; + this.vizHelper.clearNoteBuffers(); } testWaveformViz(args, util) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index c79706b24..21298776f 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -195,6 +195,14 @@ class VizHelpers { this._visState['status'] = !!status; } + clearNoteBuffers () { + console.log('before', this._buf); + for (let b in this._buf) { + this._buf[b] = []; + } + console.log('after', this._buf); + } + /** * * @param {array} note - [freq, duration, instrument, volume] From 257653d740578649ddb9c10ad7942199e4553a17 Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Fri, 17 Jun 2022 12:11:39 -0400 Subject: [PATCH 080/149] rename note buf and revert sheet music to continuous scroll --- .../scratch3_musiccreation/vizhelpers.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 21298776f..8a96f3e13 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -19,10 +19,10 @@ class VizHelpers { this._count = 0; this._visState = {status: false, mode: undefined}; - this._buf = {sheet: [], wave: [], freq: [], freqs: []}; + this._noteBuf = {sheet: [], wave: [], freq: [], freqs: []}; this._visNames = {1: 'sheet', 2: 'wave', 3: 'freq', 4: 'freqs'}; this._visLims = {'sheet': 11, 'wave': 5, 'freq': 15, 'freqs': 15}; - this._continuousScroll = {'sheet': false, 'wave': true, 'freq': false, 'freqs': true}; + this._continuousScroll = {'sheet': true, 'wave': true, 'freq': false, 'freqs': true}; /** * The ID of the renderer Skin corresponding to the pen layer. @@ -196,11 +196,11 @@ class VizHelpers { } clearNoteBuffers () { - console.log('before', this._buf); - for (let b in this._buf) { - this._buf[b] = []; + console.log('before', this._noteBuf); + for (let b in this._noteBuf) { + this._noteBuf[b] = []; } - console.log('after', this._buf); + console.log('after', this._noteBuf); } /** @@ -219,7 +219,7 @@ class VizHelpers { const name = this._visNames[mode]; const lim = this._visLims[name]; const cont = this._continuousScroll[name]; - let buf = this._buf[name]; + let buf = this._noteBuf[name]; if (cont) { while (buf.length + 1 >= lim) { buf = buf.splice(1); @@ -230,7 +230,7 @@ class VizHelpers { note[4] = this._count++; buf.push(note); - this._buf[name] = buf; + this._noteBuf[name] = buf; switch (name) { case 'wave': this.testWaveformViz(buf,null,util); From bd8e3e1013439468f0fee6d444d08d7007893cb1 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Fri, 17 Jun 2022 17:00:38 -0400 Subject: [PATCH 081/149] Adding more comments --- packages/scratch-vm/src/engine/blocks.js | 652 +++++++++--------- .../extension-support/block-relationships.js | 49 +- .../scratch3_musiccreation/index.js | 11 +- 3 files changed, 364 insertions(+), 348 deletions(-) diff --git a/packages/scratch-vm/src/engine/blocks.js b/packages/scratch-vm/src/engine/blocks.js index 6e0533279..3928165aa 100644 --- a/packages/scratch-vm/src/engine/blocks.js +++ b/packages/scratch-vm/src/engine/blocks.js @@ -3,7 +3,7 @@ const mutationAdapter = require('./mutation-adapter'); const xmlEscape = require('../util/xml-escape'); const MonitorRecord = require('./monitor-record'); const Clone = require('../util/clone'); -const {Map} = require('immutable'); +const { Map } = require('immutable'); const BlocksExecuteCache = require('./blocks-execute-cache'); const BlocksRuntimeCache = require('./blocks-runtime-cache'); const log = require('../util/log'); @@ -23,7 +23,7 @@ const getMonitorIdForBlockWithArgs = require('../util/get-monitor-id'); * should not request glows. This does not affect glows when clicking on a block to execute it. */ class Blocks { - constructor (runtime, optNoGlow) { + constructor(runtime, optNoGlow) { this.runtime = runtime; /** @@ -45,7 +45,7 @@ class Blocks { * @type {{inputs: {}, procedureParamNames: {}, procedureDefinitions: {}}} * @private */ - Object.defineProperty(this, '_cache', {writable: true, enumerable: false}); + Object.defineProperty(this, '_cache', { writable: true, enumerable: false }); this._cache = { /** * Cache block inputs by block id @@ -101,7 +101,7 @@ class Blocks { * are prefixed with this string. * @const{string} */ - static get BRANCH_INPUT_PREFIX () { + static get BRANCH_INPUT_PREFIX() { return 'SUBSTACK'; } @@ -110,7 +110,7 @@ class Blocks { * @param {!string} blockId ID of block we have stored. * @return {?object} Metadata about the block, if it exists. */ - getBlock (blockId) { + getBlock(blockId) { return this._blocks[blockId]; } @@ -118,7 +118,7 @@ class Blocks { * Get all known top-level blocks that start scripts. * @return {Array.} List of block IDs. */ - getScripts () { + getScripts() { return this._scripts; } @@ -127,7 +127,7 @@ class Blocks { * @param {?string} id ID of block to get the next block for * @return {?string} ID of next block in the sequence */ - getNextBlock (id) { + getNextBlock(id) { const block = this._blocks[id]; return (typeof block === 'undefined') ? null : block.next; } @@ -138,7 +138,7 @@ class Blocks { * @param {?number} branchNum Which branch to select (e.g. for if-else). * @return {?string} ID of block in the branch. */ - getBranch (id, branchNum) { + getBranch(id, branchNum) { const block = this._blocks[id]; if (typeof block === 'undefined') return null; if (!branchNum) branchNum = 1; @@ -158,7 +158,7 @@ class Blocks { * @param {?object} block The block to query * @return {?string} the opcode corresponding to that block */ - getOpcode (block) { + getOpcode(block) { return (typeof block === 'undefined') ? null : block.opcode; } @@ -167,7 +167,7 @@ class Blocks { * @param {?object} block The block to query. * @return {?object} All fields and their values. */ - getFields (block) { + getFields(block) { return (typeof block === 'undefined') ? null : block.fields; } @@ -176,7 +176,7 @@ class Blocks { * @param {?object} block the block to query. * @return {?Array.} All non-branch inputs and their associated blocks. */ - getInputs (block) { + getInputs(block) { if (typeof block === 'undefined') return null; let inputs = this._cache.inputs[block.id]; if (typeof inputs !== 'undefined') { @@ -201,7 +201,7 @@ class Blocks { * @param {?object} block The block to query. * @return {?object} Mutation for the block. */ - getMutation (block) { + getMutation(block) { return (typeof block === 'undefined') ? null : block.mutation; } @@ -210,7 +210,7 @@ class Blocks { * @param {?string} id ID of block to query. * @return {?string} ID of top-level script block. */ - getTopLevelScript (id) { + getTopLevelScript(id) { let block = this._blocks[id]; if (typeof block === 'undefined') return null; while (block.parent !== null) { @@ -219,14 +219,32 @@ class Blocks { return block.id; } + /** + * Get all of the IDs of current top blocks + * @returns {string[]} array of Top Block IDs + */ + getTopBlockIDs() { + // TODO @dolev + // Figure this out by inspecting this._blocks + } + + /** + * + * @param {string} ID + */ + isTopBlockID(ID) { + // TODO @dolev + return getTopBlockIDs().includes(ID); // something like this + } + /** * NOTE: Also returns true if baseID === aboveID * @param {?string} baseID ID of block to check from. * @param {?string} aboveID ID of block that may or may not be above the baseID block. * @return {boolean} Whether or a block with id = aboveID is 'above' the baseID block */ - isBlockAbove (baseID, aboveID) { - if (baseID === aboveID) return true; + isBlockAbove(baseID, aboveID) { + if (baseID === aboveID) return true; let block = this._blocks[baseID]; if (typeof block === 'undefined') return null; while (block.parent !== null) { @@ -241,7 +259,7 @@ class Blocks { * @param {?string} name Name of procedure to query. * @return {?string} ID of procedure definition. */ - getProcedureDefinition (name) { + getProcedureDefinition(name) { const blockID = this._cache.procedureDefinitions[name]; if (typeof blockID !== 'undefined') { return blockID; @@ -268,7 +286,7 @@ class Blocks { * @param {?string} name Name of procedure to query. * @return {?Array.} List of param names for a procedure. */ - getProcedureParamNamesAndIds (name) { + getProcedureParamNamesAndIds(name) { return this.getProcedureParamNamesIdsAndDefaults(name).slice(0, 2); } @@ -277,7 +295,7 @@ class Blocks { * @param {?string} name Name of procedure to query. * @return {?Array.} List of param names for a procedure. */ - getProcedureParamNamesIdsAndDefaults (name) { + getProcedureParamNamesIdsAndDefaults(name) { const cachedNames = this._cache.procedureParamNames[name]; if (typeof cachedNames !== 'undefined') { return cachedNames; @@ -301,7 +319,7 @@ class Blocks { return null; } - duplicate () { + duplicate() { const newBlocks = new Blocks(this.runtime, this.forceNoGlow); newBlocks._blocks = Clone.simple(this._blocks); newBlocks._scripts = Clone.simple(this._scripts); @@ -315,7 +333,7 @@ class Blocks { * runtime interface. * @param {object} e Blockly "block" or "variable" event */ - blocklyListen (e) { + blocklyListen(e) { // Validate event if (typeof e !== 'object') return; if (typeof e.blockId !== 'string' && typeof e.varId !== 'string' && @@ -327,198 +345,198 @@ class Blocks { // UI event: clicked scripts toggle in the runtime. if (e.element === 'stackclick') { - this.runtime.toggleScript(e.blockId, {stackClick: true}); + this.runtime.toggleScript(e.blockId, { stackClick: true }); return; } // Block create/update/destroy switch (e.type) { - case 'create': { - const newBlocks = adapter(e); - // A create event can create many blocks. Add them all. - for (let i = 0; i < newBlocks.length; i++) { - this.createBlock(newBlocks[i]); - } - break; - } - case 'change': - this.changeBlock({ - id: e.blockId, - element: e.element, - name: e.name, - value: e.newValue - }); - break; - case 'move': - this.moveBlock({ - id: e.blockId, - oldParent: e.oldParentId, - oldInput: e.oldInputName, - newParent: e.newParentId, - newInput: e.newInputName, - newCoordinate: e.newCoordinate - }); - break; - case 'dragOutside': - this.runtime.emitBlockDragUpdate(e.isOutside); - break; - case 'endDrag': - this.runtime.emitBlockDragUpdate(false /* areBlocksOverGui */); - - // Drag blocks onto another sprite - if (e.isOutside) { + case 'create': { const newBlocks = adapter(e); - this.runtime.emitBlockEndDrag(newBlocks, e.blockId); - } - break; - case 'delete': - // Don't accept delete events for missing blocks, - // or shadow blocks being obscured. - if (!this._blocks.hasOwnProperty(e.blockId) || - this._blocks[e.blockId].shadow) { - return; - } - // Inform any runtime to forget about glows on this script. - if (this._blocks[e.blockId].topLevel) { - this.runtime.quietGlow(e.blockId); - } - this.deleteBlock(e.blockId); - break; - case 'var_create': - // Check if the variable being created is global or local - // If local, create a local var on the current editing target, as long - // as there are no conflicts, and the current target is actually a sprite - // If global or if the editing target is not present or we somehow got - // into a state where a local var was requested for the stage, - // create a stage (global) var after checking for name conflicts - // on all the sprites. - if (e.isLocal && editingTarget && !editingTarget.isStage && !e.isCloud) { - if (!editingTarget.lookupVariableById(e.varId)) { - editingTarget.createVariable(e.varId, e.varName, e.varType); - this.emitProjectChanged(); - } - } else { - if (stage.lookupVariableById(e.varId)) { - // Do not re-create a variable if it already exists - return; - } - // Check for name conflicts in all of the targets - const allTargets = this.runtime.targets.filter(t => t.isOriginal); - for (const target of allTargets) { - if (target.lookupVariableByNameAndType(e.varName, e.varType, true)) { - return; - } - } - stage.createVariable(e.varId, e.varName, e.varType, e.isCloud); - this.emitProjectChanged(); - } - break; - case 'var_rename': - if (editingTarget && editingTarget.variables.hasOwnProperty(e.varId)) { - // This is a local variable, rename on the current target - editingTarget.renameVariable(e.varId, e.newName); - // Update all the blocks on the current target that use - // this variable - editingTarget.blocks.updateBlocksAfterVarRename(e.varId, e.newName); - } else { - // This is a global variable - stage.renameVariable(e.varId, e.newName); - // Update all blocks on all targets that use the renamed variable - const targets = this.runtime.targets; - for (let i = 0; i < targets.length; i++) { - const currTarget = targets[i]; - currTarget.blocks.updateBlocksAfterVarRename(e.varId, e.newName); + // A create event can create many blocks. Add them all. + for (let i = 0; i < newBlocks.length; i++) { + this.createBlock(newBlocks[i]); } + break; } - this.emitProjectChanged(); - break; - case 'var_delete': { - const target = (editingTarget && editingTarget.variables.hasOwnProperty(e.varId)) ? - editingTarget : stage; - target.deleteVariable(e.varId); - this.emitProjectChanged(); - break; - } - case 'comment_create': - if (this.runtime.getEditingTarget()) { - const currTarget = this.runtime.getEditingTarget(); - currTarget.createComment(e.commentId, e.blockId, e.text, - e.xy.x, e.xy.y, e.width, e.height, e.minimized); - - if (currTarget.comments[e.commentId].x === null && - currTarget.comments[e.commentId].y === null) { - // Block comments imported from 2.0 projects are imported with their - // x and y coordinates set to null so that scratch-blocks can - // auto-position them. If we are receiving a create event for these - // comments, then the auto positioning should have taken place. - // Update the x and y position of these comments to match the - // one from the event. - currTarget.comments[e.commentId].x = e.xy.x; - currTarget.comments[e.commentId].y = e.xy.y; + case 'change': + this.changeBlock({ + id: e.blockId, + element: e.element, + name: e.name, + value: e.newValue + }); + break; + case 'move': + this.moveBlock({ + id: e.blockId, + oldParent: e.oldParentId, + oldInput: e.oldInputName, + newParent: e.newParentId, + newInput: e.newInputName, + newCoordinate: e.newCoordinate + }); + break; + case 'dragOutside': + this.runtime.emitBlockDragUpdate(e.isOutside); + break; + case 'endDrag': + this.runtime.emitBlockDragUpdate(false /* areBlocksOverGui */); + + // Drag blocks onto another sprite + if (e.isOutside) { + const newBlocks = adapter(e); + this.runtime.emitBlockEndDrag(newBlocks, e.blockId); } - } - this.emitProjectChanged(); - break; - case 'comment_change': - if (this.runtime.getEditingTarget()) { - const currTarget = this.runtime.getEditingTarget(); - if (!currTarget.comments.hasOwnProperty(e.commentId)) { - log.warn(`Cannot change comment with id ${e.commentId} because it does not exist.`); + break; + case 'delete': + // Don't accept delete events for missing blocks, + // or shadow blocks being obscured. + if (!this._blocks.hasOwnProperty(e.blockId) || + this._blocks[e.blockId].shadow) { return; } - const comment = currTarget.comments[e.commentId]; - const change = e.newContents_; - if (change.hasOwnProperty('minimized')) { - comment.minimized = change.minimized; + // Inform any runtime to forget about glows on this script. + if (this._blocks[e.blockId].topLevel) { + this.runtime.quietGlow(e.blockId); } - if (change.hasOwnProperty('width') && change.hasOwnProperty('height')){ - comment.width = change.width; - comment.height = change.height; + this.deleteBlock(e.blockId); + break; + case 'var_create': + // Check if the variable being created is global or local + // If local, create a local var on the current editing target, as long + // as there are no conflicts, and the current target is actually a sprite + // If global or if the editing target is not present or we somehow got + // into a state where a local var was requested for the stage, + // create a stage (global) var after checking for name conflicts + // on all the sprites. + if (e.isLocal && editingTarget && !editingTarget.isStage && !e.isCloud) { + if (!editingTarget.lookupVariableById(e.varId)) { + editingTarget.createVariable(e.varId, e.varName, e.varType); + this.emitProjectChanged(); + } + } else { + if (stage.lookupVariableById(e.varId)) { + // Do not re-create a variable if it already exists + return; + } + // Check for name conflicts in all of the targets + const allTargets = this.runtime.targets.filter(t => t.isOriginal); + for (const target of allTargets) { + if (target.lookupVariableByNameAndType(e.varName, e.varType, true)) { + return; + } + } + stage.createVariable(e.varId, e.varName, e.varType, e.isCloud); + this.emitProjectChanged(); } - if (change.hasOwnProperty('text')) { - comment.text = change.text; + break; + case 'var_rename': + if (editingTarget && editingTarget.variables.hasOwnProperty(e.varId)) { + // This is a local variable, rename on the current target + editingTarget.renameVariable(e.varId, e.newName); + // Update all the blocks on the current target that use + // this variable + editingTarget.blocks.updateBlocksAfterVarRename(e.varId, e.newName); + } else { + // This is a global variable + stage.renameVariable(e.varId, e.newName); + // Update all blocks on all targets that use the renamed variable + const targets = this.runtime.targets; + for (let i = 0; i < targets.length; i++) { + const currTarget = targets[i]; + currTarget.blocks.updateBlocksAfterVarRename(e.varId, e.newName); + } } this.emitProjectChanged(); + break; + case 'var_delete': { + const target = (editingTarget && editingTarget.variables.hasOwnProperty(e.varId)) ? + editingTarget : stage; + target.deleteVariable(e.varId); + this.emitProjectChanged(); + break; } - break; - case 'comment_move': - if (this.runtime.getEditingTarget()) { - const currTarget = this.runtime.getEditingTarget(); - if (currTarget && !currTarget.comments.hasOwnProperty(e.commentId)) { - log.warn(`Cannot change comment with id ${e.commentId} because it does not exist.`); - return; + case 'comment_create': + if (this.runtime.getEditingTarget()) { + const currTarget = this.runtime.getEditingTarget(); + currTarget.createComment(e.commentId, e.blockId, e.text, + e.xy.x, e.xy.y, e.width, e.height, e.minimized); + + if (currTarget.comments[e.commentId].x === null && + currTarget.comments[e.commentId].y === null) { + // Block comments imported from 2.0 projects are imported with their + // x and y coordinates set to null so that scratch-blocks can + // auto-position them. If we are receiving a create event for these + // comments, then the auto positioning should have taken place. + // Update the x and y position of these comments to match the + // one from the event. + currTarget.comments[e.commentId].x = e.xy.x; + currTarget.comments[e.commentId].y = e.xy.y; + } } - const comment = currTarget.comments[e.commentId]; - const newCoord = e.newCoordinate_; - comment.x = newCoord.x; - comment.y = newCoord.y; - this.emitProjectChanged(); - } - break; - case 'comment_delete': - if (this.runtime.getEditingTarget()) { - const currTarget = this.runtime.getEditingTarget(); - if (!currTarget.comments.hasOwnProperty(e.commentId)) { - // If we're in this state, we have probably received - // a delete event from a workspace that we switched from - // (e.g. a delete event for a comment on sprite a's workspace - // when switching from sprite a to sprite b) - return; + break; + case 'comment_change': + if (this.runtime.getEditingTarget()) { + const currTarget = this.runtime.getEditingTarget(); + if (!currTarget.comments.hasOwnProperty(e.commentId)) { + log.warn(`Cannot change comment with id ${e.commentId} because it does not exist.`); + return; + } + const comment = currTarget.comments[e.commentId]; + const change = e.newContents_; + if (change.hasOwnProperty('minimized')) { + comment.minimized = change.minimized; + } + if (change.hasOwnProperty('width') && change.hasOwnProperty('height')) { + comment.width = change.width; + comment.height = change.height; + } + if (change.hasOwnProperty('text')) { + comment.text = change.text; + } + this.emitProjectChanged(); } - delete currTarget.comments[e.commentId]; - if (e.blockId) { - const block = currTarget.blocks.getBlock(e.blockId); - if (!block) { - log.warn(`Could not find block referenced by comment with id: ${e.commentId}`); + break; + case 'comment_move': + if (this.runtime.getEditingTarget()) { + const currTarget = this.runtime.getEditingTarget(); + if (currTarget && !currTarget.comments.hasOwnProperty(e.commentId)) { + log.warn(`Cannot change comment with id ${e.commentId} because it does not exist.`); return; } - delete block.comment; + const comment = currTarget.comments[e.commentId]; + const newCoord = e.newCoordinate_; + comment.x = newCoord.x; + comment.y = newCoord.y; + + this.emitProjectChanged(); } + break; + case 'comment_delete': + if (this.runtime.getEditingTarget()) { + const currTarget = this.runtime.getEditingTarget(); + if (!currTarget.comments.hasOwnProperty(e.commentId)) { + // If we're in this state, we have probably received + // a delete event from a workspace that we switched from + // (e.g. a delete event for a comment on sprite a's workspace + // when switching from sprite a to sprite b) + return; + } + delete currTarget.comments[e.commentId]; + if (e.blockId) { + const block = currTarget.blocks.getBlock(e.blockId); + if (!block) { + log.warn(`Could not find block referenced by comment with id: ${e.commentId}`); + return; + } + delete block.comment; + } - this.emitProjectChanged(); - } - break; + this.emitProjectChanged(); + } + break; } } @@ -527,7 +545,7 @@ class Blocks { /** * Reset all runtime caches. */ - resetCache () { + resetCache() { this._cache.inputs = {}; this._cache.procedureParamNames = {}; this._cache.procedureDefinitions = {}; @@ -540,7 +558,7 @@ class Blocks { * Emit a project changed event if this is a block container * that can affect the project state. */ - emitProjectChanged () { + emitProjectChanged() { if (!this.forceNoGlow) { this.runtime.emitProjectChanged(); } @@ -550,7 +568,7 @@ class Blocks { * Block management: create blocks and scripts from a `create` event * @param {!object} block Blockly create event to be processed */ - createBlock (block) { + createBlock(block) { // Does the block already exist? // Could happen, e.g., for an unobscured shadow. if (this._blocks.hasOwnProperty(block.id)) { @@ -576,127 +594,127 @@ class Blocks { * Block management: change block field values * @param {!object} args Blockly change event to be processed */ - changeBlock (args) { + changeBlock(args) { // Validate if (['field', 'mutation', 'checkbox'].indexOf(args.element) === -1) return; let block = this._blocks[args.id]; if (typeof block === 'undefined') return; switch (args.element) { - case 'field': - // TODO when the field of a monitored block changes, - // update the checkbox in the flyout based on whether - // a monitor for that current combination of selected parameters exists - // e.g. - // 1. check (current [v year]) - // 2. switch dropdown in flyout block to (current [v minute]) - // 3. the checkbox should become unchecked if we're not already - // monitoring current minute - - - // Update block value - if (!block.fields[args.name]) return; - if (args.name === 'VARIABLE' || args.name === 'LIST' || - args.name === 'BROADCAST_OPTION') { - // Get variable name using the id in args.value. - const variable = this.runtime.getEditingTarget().lookupVariableById(args.value); - if (variable) { - block.fields[args.name].value = variable.name; - block.fields[args.name].id = args.value; - } - } else { - // Changing the value in a dropdown - block.fields[args.name].value = args.value; - - // The selected item in the sensing of block menu needs to change based on the - // selected target. Set it to the first item in the menu list. - // TODO: (#1787) - if (block.opcode === 'sensing_of_object_menu') { - if (block.fields.OBJECT.value === '_stage_') { - this._blocks[block.parent].fields.PROPERTY.value = 'backdrop #'; - } else { - this._blocks[block.parent].fields.PROPERTY.value = 'x position'; + case 'field': + // TODO when the field of a monitored block changes, + // update the checkbox in the flyout based on whether + // a monitor for that current combination of selected parameters exists + // e.g. + // 1. check (current [v year]) + // 2. switch dropdown in flyout block to (current [v minute]) + // 3. the checkbox should become unchecked if we're not already + // monitoring current minute + + + // Update block value + if (!block.fields[args.name]) return; + if (args.name === 'VARIABLE' || args.name === 'LIST' || + args.name === 'BROADCAST_OPTION') { + // Get variable name using the id in args.value. + const variable = this.runtime.getEditingTarget().lookupVariableById(args.value); + if (variable) { + block.fields[args.name].value = variable.name; + block.fields[args.name].id = args.value; + } + } else { + // Changing the value in a dropdown + block.fields[args.name].value = args.value; + + // The selected item in the sensing of block menu needs to change based on the + // selected target. Set it to the first item in the menu list. + // TODO: (#1787) + if (block.opcode === 'sensing_of_object_menu') { + if (block.fields.OBJECT.value === '_stage_') { + this._blocks[block.parent].fields.PROPERTY.value = 'backdrop #'; + } else { + this._blocks[block.parent].fields.PROPERTY.value = 'x position'; + } + this.runtime.requestBlocksUpdate(); } - this.runtime.requestBlocksUpdate(); - } - const flyoutBlock = block.shadow && block.parent ? this._blocks[block.parent] : block; - if (flyoutBlock.isMonitored) { - this.runtime.requestUpdateMonitor(Map({ - id: flyoutBlock.id, - params: this._getBlockParams(flyoutBlock) - })); - } - } - break; - case 'mutation': - block.mutation = mutationAdapter(args.value); - break; - case 'checkbox': { - // A checkbox usually has a one to one correspondence with the monitor - // block but in the case of monitored reporters that have arguments, - // map the old id to a new id, creating a new monitor block if necessary - if (block.fields && Object.keys(block.fields).length > 0 && - block.opcode !== 'data_variable' && block.opcode !== 'data_listcontents') { - - // This block has an argument which needs to get separated out into - // multiple monitor blocks with ids based on the selected argument - const newId = getMonitorIdForBlockWithArgs(block.id, block.fields); - // Note: we're not just constantly creating a longer and longer id everytime we check - // the checkbox because we're using the id of the block in the flyout as the base - - // check if a block with the new id already exists, otherwise create - let newBlock = this.runtime.monitorBlocks.getBlock(newId); - if (!newBlock) { - newBlock = JSON.parse(JSON.stringify(block)); - newBlock.id = newId; - this.runtime.monitorBlocks.createBlock(newBlock); + const flyoutBlock = block.shadow && block.parent ? this._blocks[block.parent] : block; + if (flyoutBlock.isMonitored) { + this.runtime.requestUpdateMonitor(Map({ + id: flyoutBlock.id, + params: this._getBlockParams(flyoutBlock) + })); + } } + break; + case 'mutation': + block.mutation = mutationAdapter(args.value); + break; + case 'checkbox': { + // A checkbox usually has a one to one correspondence with the monitor + // block but in the case of monitored reporters that have arguments, + // map the old id to a new id, creating a new monitor block if necessary + if (block.fields && Object.keys(block.fields).length > 0 && + block.opcode !== 'data_variable' && block.opcode !== 'data_listcontents') { + + // This block has an argument which needs to get separated out into + // multiple monitor blocks with ids based on the selected argument + const newId = getMonitorIdForBlockWithArgs(block.id, block.fields); + // Note: we're not just constantly creating a longer and longer id everytime we check + // the checkbox because we're using the id of the block in the flyout as the base + + // check if a block with the new id already exists, otherwise create + let newBlock = this.runtime.monitorBlocks.getBlock(newId); + if (!newBlock) { + newBlock = JSON.parse(JSON.stringify(block)); + newBlock.id = newId; + this.runtime.monitorBlocks.createBlock(newBlock); + } - block = newBlock; // Carry on through the rest of this code with newBlock - } + block = newBlock; // Carry on through the rest of this code with newBlock + } - const wasMonitored = block.isMonitored; - block.isMonitored = args.value; + const wasMonitored = block.isMonitored; + block.isMonitored = args.value; - // Variable blocks may be sprite specific depending on the owner of the variable - let isSpriteLocalVariable = false; - if (block.opcode === 'data_variable') { - isSpriteLocalVariable = !(this.runtime.getTargetForStage().variables[block.fields.VARIABLE.id]); - } else if (block.opcode === 'data_listcontents') { - isSpriteLocalVariable = !(this.runtime.getTargetForStage().variables[block.fields.LIST.id]); - } + // Variable blocks may be sprite specific depending on the owner of the variable + let isSpriteLocalVariable = false; + if (block.opcode === 'data_variable') { + isSpriteLocalVariable = !(this.runtime.getTargetForStage().variables[block.fields.VARIABLE.id]); + } else if (block.opcode === 'data_listcontents') { + isSpriteLocalVariable = !(this.runtime.getTargetForStage().variables[block.fields.LIST.id]); + } - const isSpriteSpecific = isSpriteLocalVariable || - (this.runtime.monitorBlockInfo.hasOwnProperty(block.opcode) && - this.runtime.monitorBlockInfo[block.opcode].isSpriteSpecific); - if (isSpriteSpecific) { - // If creating a new sprite specific monitor, the only possible target is - // the current editing one b/c you cannot dynamically create monitors. - // Also, do not change the targetId if it has already been assigned - block.targetId = block.targetId || this.runtime.getEditingTarget().id; - } else { - block.targetId = null; - } + const isSpriteSpecific = isSpriteLocalVariable || + (this.runtime.monitorBlockInfo.hasOwnProperty(block.opcode) && + this.runtime.monitorBlockInfo[block.opcode].isSpriteSpecific); + if (isSpriteSpecific) { + // If creating a new sprite specific monitor, the only possible target is + // the current editing one b/c you cannot dynamically create monitors. + // Also, do not change the targetId if it has already been assigned + block.targetId = block.targetId || this.runtime.getEditingTarget().id; + } else { + block.targetId = null; + } - if (wasMonitored && !block.isMonitored) { - this.runtime.requestHideMonitor(block.id); - } else if (!wasMonitored && block.isMonitored) { - // Tries to show the monitor for specified block. If it doesn't exist, add the monitor. - if (!this.runtime.requestShowMonitor(block.id)) { - this.runtime.requestAddMonitor(MonitorRecord({ - id: block.id, - targetId: block.targetId, - spriteName: block.targetId ? this.runtime.getTargetById(block.targetId).getName() : null, - opcode: block.opcode, - params: this._getBlockParams(block), - // @todo(vm#565) for numerical values with decimals, some countries use comma - value: '', - mode: block.opcode === 'data_listcontents' ? 'list' : 'default' - })); + if (wasMonitored && !block.isMonitored) { + this.runtime.requestHideMonitor(block.id); + } else if (!wasMonitored && block.isMonitored) { + // Tries to show the monitor for specified block. If it doesn't exist, add the monitor. + if (!this.runtime.requestShowMonitor(block.id)) { + this.runtime.requestAddMonitor(MonitorRecord({ + id: block.id, + targetId: block.targetId, + spriteName: block.targetId ? this.runtime.getTargetById(block.targetId).getName() : null, + opcode: block.opcode, + params: this._getBlockParams(block), + // @todo(vm#565) for numerical values with decimals, some countries use comma + value: '', + mode: block.opcode === 'data_listcontents' ? 'list' : 'default' + })); + } } + break; } - break; - } } this.emitProjectChanged(); @@ -708,7 +726,7 @@ class Blocks { * Block management: move blocks from parent to parent * @param {!object} e Blockly move event to be processed */ - moveBlock (e) { + moveBlock(e) { if (!this._blocks.hasOwnProperty(e.id)) { return; } @@ -785,7 +803,7 @@ class Blocks { * Block management: run all blocks. * @param {!object} runtime Runtime to run all blocks in. */ - runAllMonitored (runtime) { + runAllMonitored(runtime) { if (this._cache._monitored === null) { this._cache._monitored = Object.keys(this._blocks) .filter(blockId => this.getBlock(blockId).isMonitored) @@ -800,7 +818,7 @@ class Blocks { const monitored = this._cache._monitored; for (let i = 0; i < monitored.length; i++) { - const {blockId, target} = monitored[i]; + const { blockId, target } = monitored[i]; runtime.addMonitorScript(blockId, target); } } @@ -810,7 +828,7 @@ class Blocks { * with the given ID does not exist. * @param {!string} blockId Id of block to delete */ - deleteBlock (blockId) { + deleteBlock(blockId) { // @todo In runtime, stop threads running on this script. // Get block @@ -859,7 +877,7 @@ class Blocks { * for that ID. A variable reference contains the field referencing that variable * and also the type of the variable being referenced. */ - getAllVariableAndListReferences (optBlocks, optIncludeBroadcast) { + getAllVariableAndListReferences(optBlocks, optIncludeBroadcast) { const blocks = optBlocks ? optBlocks : this._blocks; const allReferences = Object.create(null); for (const blockId in blocks) { @@ -898,7 +916,7 @@ class Blocks { * @param {string} varId The id of the variable that was renamed * @param {string} newName The new name of the variable that was renamed */ - updateBlocksAfterVarRename (varId, newName) { + updateBlocksAfterVarRename(varId, newName) { const blocks = this._blocks; for (const blockId in blocks) { let varOrListField = null; @@ -920,7 +938,7 @@ class Blocks { * Keep blocks up to date after they are shared between targets. * @param {boolean} isStage If the new target is a stage. */ - updateTargetSpecificBlocks (isStage) { + updateTargetSpecificBlocks(isStage) { const blocks = this._blocks; for (const blockId in blocks) { if (isStage && blocks[blockId].opcode === 'event_whenthisspriteclicked') { @@ -941,7 +959,7 @@ class Blocks { * that was renamed. This can be one of 'sprite','costume', 'sound', or * 'backdrop'. */ - updateAssetName (oldName, newName, assetType) { + updateAssetName(oldName, newName, assetType) { let getAssetField; if (assetType === 'costume') { getAssetField = this._getCostumeField.bind(this); @@ -970,7 +988,7 @@ class Blocks { * Null if either a block with the given id doesn't exist or if a costume menu field * does not exist on the block with the given id. */ - _getCostumeField (blockId) { + _getCostumeField(blockId) { const block = this.getBlock(blockId); if (block && block.fields.hasOwnProperty('COSTUME')) { return block.fields.COSTUME; @@ -985,7 +1003,7 @@ class Blocks { * Null, if either a block with the given id doesn't exist or if a sound menu field * does not exist on the block with the given id. */ - _getSoundField (blockId) { + _getSoundField(blockId) { const block = this.getBlock(blockId); if (block && block.fields.hasOwnProperty('SOUND_MENU')) { return block.fields.SOUND_MENU; @@ -1000,7 +1018,7 @@ class Blocks { * Null, if either a block with the given id doesn't exist or if a backdrop menu field * does not exist on the block with the given id. */ - _getBackdropField (blockId) { + _getBackdropField(blockId) { const block = this.getBlock(blockId); if (block && block.fields.hasOwnProperty('BACKDROP')) { return block.fields.BACKDROP; @@ -1015,7 +1033,7 @@ class Blocks { * Null, if either a block with the given id doesn't exist or if a sprite menu field * does not exist on the block with the given id. */ - _getSpriteField (blockId) { + _getSpriteField(blockId) { const block = this.getBlock(blockId); if (!block) { return null; @@ -1039,7 +1057,7 @@ class Blocks { * @param {object} comments Map of comments referenced by id * @return {string} String of XML representing this object's blocks. */ - toXML (comments) { + toXML(comments) { return this._scripts.map(script => this.blockToXML(script, comments)).join(); } @@ -1050,7 +1068,7 @@ class Blocks { * @param {object} comments Map of comments referenced by id * @return {string} String of XML representing this block and any children. */ - blockToXML (blockId, comments) { + blockToXML(blockId, comments) { const block = this._blocks[blockId]; // block should exist, but currently some blocks' next property point // to a blockId for non-existent blocks. Until we track down that behavior, @@ -1129,7 +1147,7 @@ class Blocks { * @param {!object} mutation Object representing a mutation. * @return {string} XML string representing a mutation. */ - mutationToXML (mutation) { + mutationToXML(mutation) { let mutationString = `<${mutation.tagName}`; for (const prop in mutation) { if (prop === 'children' || prop === 'tagName') continue; @@ -1157,7 +1175,7 @@ class Blocks { * @param {!object} block Block to be paramified. * @return {!object} object of param key/values. */ - _getBlockParams (block) { + _getBlockParams(block) { const params = {}; for (const key in block.fields) { params[key] = block.fields[key].value; @@ -1176,7 +1194,7 @@ class Blocks { * @param {!object} defineBlock Outer define block. * @return {!object} internal definition block which has the mutation. */ - _getCustomBlockInternal (defineBlock) { + _getCustomBlockInternal(defineBlock) { if (defineBlock.inputs && defineBlock.inputs.custom_block) { return this._blocks[defineBlock.inputs.custom_block.block]; } @@ -1186,7 +1204,7 @@ class Blocks { * Helper to add a stack to `this._scripts`. * @param {?string} topBlockId ID of block that starts the script. */ - _addScript (topBlockId) { + _addScript(topBlockId) { const i = this._scripts.indexOf(topBlockId); if (i > -1) return; // Already in scripts. this._scripts.push(topBlockId); @@ -1198,7 +1216,7 @@ class Blocks { * Helper to remove a script from `this._scripts`. * @param {?string} topBlockId ID of block that starts the script. */ - _deleteScript (topBlockId) { + _deleteScript(topBlockId) { const i = this._scripts.indexOf(topBlockId); if (i > -1) this._scripts.splice(i, 1); // Update `topLevel` property on the top block. diff --git a/packages/scratch-vm/src/extension-support/block-relationships.js b/packages/scratch-vm/src/extension-support/block-relationships.js index 86fd1337b..f233b5b6f 100644 --- a/packages/scratch-vm/src/extension-support/block-relationships.js +++ b/packages/scratch-vm/src/extension-support/block-relationships.js @@ -5,15 +5,14 @@ export const internalIDKey = "internal_blockID"; const topBlockModifiers = 'topBlockModifiers'; /** - * + * Retrieves the Blocks object attached to the util's thread object * @param {BlockUtilty} util * @returns {Blocks} */ const getBlockContainer = (util) => util.thread.blockContainer; - /** - * + * Get the ID of the block at the top of the 'chunk' that the block with ID = 'blockID' lives within * @param {string} blockID * @param {BlockUtility} util * @returns {string | null | undefined} @@ -21,40 +20,44 @@ const getBlockContainer = (util) => util.thread.blockContainer; export const getTopBlockID = (blockID, util) => getBlockContainer(util).getTopLevelScript(blockID); /** - * + * Add a modifier to the given 'selfID' block's top block * @param {BlockUtility} util * @param {string} selfID - * @param {string} topBlockID * @param {string | number | symbol} modifierKey * @param {any} value * @returns */ -export const addTopBlockModifierToUtils = (util, selfID, topBlockID, modifierKey, value) => { - // should purge stall ids on utils - if (!topBlockID) return; - const entry = {value, sourceID: selfID}; - util[topBlockModifiers] - ? util[topBlockModifiers][topBlockID] - ? util[topBlockModifiers][topBlockID][modifierKey] = entry - : util[topBlockModifiers][topBlockID] = { [modifierKey]: entry } - : util[topBlockModifiers] = { [topBlockID]: {[modifierKey]: entry} } +export const addTopBlockModifier = (util, selfID, modifierKey, value) => { + // TODO: @Dolev it would be nice to 'purge' stale Top Block IDs + // You could do this by looping over the current keys of util[topBlockModifiers], + // and removing elements that have a stale key. + // NOTE: Use the (not yet implemented) function `getBlockContainer(util).isTopBlockID(...)` + + const topBlockID = getTopBlockID(selfID, util); + if (!topBlockID) return; + const entry = { value, sourceID: selfID }; + util[topBlockModifiers] + ? util[topBlockModifiers][topBlockID] + ? util[topBlockModifiers][topBlockID][modifierKey] = entry + : util[topBlockModifiers][topBlockID] = { [modifierKey]: entry } + : util[topBlockModifiers] = { [topBlockID]: { [modifierKey]: entry } } } /** - * + * Get the modifier (denoted by it's 'modifierKey') applicable to the given block associated with 'selfID'. * @param {BlockUtility} util * @param {string} selfID - * @param {string} topBlockID * @param {string | number | symbol} modifierKey * @returns */ -export const getTopBlockModifier = (util, selfID, topBlockID, modifierKey) => { - if (!topBlockID) return undefined; - if (!util[topBlockModifiers]) return undefined; - if (!util[topBlockModifiers][topBlockID]) return undefined; +export const getTopBlockModifier = (util, selfID, modifierKey) => { + const topBlockID = getTopBlockID(selfID, util); + if (!topBlockID) return undefined; + if (!util[topBlockModifiers]) return undefined; + if (!util[topBlockModifiers][topBlockID]) return undefined; - const modifier = util[topBlockModifiers][topBlockID][modifierKey]; - if (!modifier || !getBlockContainer(util).isBlockAbove(selfID, modifier.sourceID)) return; + const modifier = util[topBlockModifiers][topBlockID][modifierKey]; + if (!modifier || !getBlockContainer(util).isBlockAbove(selfID, modifier.sourceID)) return; - return modifier.value; + return modifier.value; } \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index ccafe9af9..0a74d2683 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -13,7 +13,7 @@ const AnalysisHelpers = require('./analysishelpers'); const MusicPlayers = require('./musicplayer') const textRender = require('./textrender'); const regeneratorRuntime = require("regenerator-runtime"); //do not delete -const { internalIDKey, getTopBlockID, addTopBlockModifierToUtils, getTopBlockModifier } = require('../../extension-support/block-relationships'); +const { internalIDKey, getTopBlockID, addTopBlockModifier, getTopBlockModifier } = require('../../extension-support/block-relationships'); const instrumentModifierKey = 'instrument'; @@ -520,12 +520,8 @@ class Scratch3MusicCreation { * @property {int} INSTRUMENT - the number of the instrument to select. */ setInstrumentForBelow(args, util) { - const selfID = args[internalIDKey]; - const topID = getTopBlockID(args[internalIDKey], util); - if (!topID) return; - const instrument = this.musicCreationHelper.getInstrumentValue(args.INSTRUMENT); - addTopBlockModifierToUtils(util, selfID, topID, instrumentModifierKey, instrument); + addTopBlockModifier(util, args[internalIDKey], instrumentModifierKey, instrument); } /** @@ -579,8 +575,7 @@ class Scratch3MusicCreation { } getInstrumentForBlock(id, util) { - const topID = getTopBlockID(id, util); - const modifierInst = getTopBlockModifier(util, id, topID, instrumentModifierKey); + const modifierInst = getTopBlockModifier(util, id, instrumentModifierKey); return modifierInst ? modifierInst : this.musicCreationHelper._getMusicState(util.target).currentInstrument; } From 2747a99674e30cf64d5d94e7a472e1ad3b5f6c55 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Fri, 17 Jun 2022 17:13:12 -0400 Subject: [PATCH 082/149] got only changed files for machine-audition dev --- packages/scratch-vm/src/engine/blocks.js | 665 +++++++++--------- packages/scratch-vm/src/engine/execute.js | 12 +- .../extension-support/block-relationships.js | 63 ++ .../scratch3_musiccreation/index.js | 54 +- 4 files changed, 463 insertions(+), 331 deletions(-) create mode 100644 packages/scratch-vm/src/extension-support/block-relationships.js diff --git a/packages/scratch-vm/src/engine/blocks.js b/packages/scratch-vm/src/engine/blocks.js index 189a595be..3928165aa 100644 --- a/packages/scratch-vm/src/engine/blocks.js +++ b/packages/scratch-vm/src/engine/blocks.js @@ -3,7 +3,7 @@ const mutationAdapter = require('./mutation-adapter'); const xmlEscape = require('../util/xml-escape'); const MonitorRecord = require('./monitor-record'); const Clone = require('../util/clone'); -const {Map} = require('immutable'); +const { Map } = require('immutable'); const BlocksExecuteCache = require('./blocks-execute-cache'); const BlocksRuntimeCache = require('./blocks-runtime-cache'); const log = require('../util/log'); @@ -23,7 +23,7 @@ const getMonitorIdForBlockWithArgs = require('../util/get-monitor-id'); * should not request glows. This does not affect glows when clicking on a block to execute it. */ class Blocks { - constructor (runtime, optNoGlow) { + constructor(runtime, optNoGlow) { this.runtime = runtime; /** @@ -45,7 +45,7 @@ class Blocks { * @type {{inputs: {}, procedureParamNames: {}, procedureDefinitions: {}}} * @private */ - Object.defineProperty(this, '_cache', {writable: true, enumerable: false}); + Object.defineProperty(this, '_cache', { writable: true, enumerable: false }); this._cache = { /** * Cache block inputs by block id @@ -101,7 +101,7 @@ class Blocks { * are prefixed with this string. * @const{string} */ - static get BRANCH_INPUT_PREFIX () { + static get BRANCH_INPUT_PREFIX() { return 'SUBSTACK'; } @@ -110,7 +110,7 @@ class Blocks { * @param {!string} blockId ID of block we have stored. * @return {?object} Metadata about the block, if it exists. */ - getBlock (blockId) { + getBlock(blockId) { return this._blocks[blockId]; } @@ -118,7 +118,7 @@ class Blocks { * Get all known top-level blocks that start scripts. * @return {Array.} List of block IDs. */ - getScripts () { + getScripts() { return this._scripts; } @@ -127,7 +127,7 @@ class Blocks { * @param {?string} id ID of block to get the next block for * @return {?string} ID of next block in the sequence */ - getNextBlock (id) { + getNextBlock(id) { const block = this._blocks[id]; return (typeof block === 'undefined') ? null : block.next; } @@ -138,7 +138,7 @@ class Blocks { * @param {?number} branchNum Which branch to select (e.g. for if-else). * @return {?string} ID of block in the branch. */ - getBranch (id, branchNum) { + getBranch(id, branchNum) { const block = this._blocks[id]; if (typeof block === 'undefined') return null; if (!branchNum) branchNum = 1; @@ -158,7 +158,7 @@ class Blocks { * @param {?object} block The block to query * @return {?string} the opcode corresponding to that block */ - getOpcode (block) { + getOpcode(block) { return (typeof block === 'undefined') ? null : block.opcode; } @@ -167,7 +167,7 @@ class Blocks { * @param {?object} block The block to query. * @return {?object} All fields and their values. */ - getFields (block) { + getFields(block) { return (typeof block === 'undefined') ? null : block.fields; } @@ -176,7 +176,7 @@ class Blocks { * @param {?object} block the block to query. * @return {?Array.} All non-branch inputs and their associated blocks. */ - getInputs (block) { + getInputs(block) { if (typeof block === 'undefined') return null; let inputs = this._cache.inputs[block.id]; if (typeof inputs !== 'undefined') { @@ -201,7 +201,7 @@ class Blocks { * @param {?object} block The block to query. * @return {?object} Mutation for the block. */ - getMutation (block) { + getMutation(block) { return (typeof block === 'undefined') ? null : block.mutation; } @@ -210,7 +210,7 @@ class Blocks { * @param {?string} id ID of block to query. * @return {?string} ID of top-level script block. */ - getTopLevelScript (id) { + getTopLevelScript(id) { let block = this._blocks[id]; if (typeof block === 'undefined') return null; while (block.parent !== null) { @@ -219,12 +219,47 @@ class Blocks { return block.id; } + /** + * Get all of the IDs of current top blocks + * @returns {string[]} array of Top Block IDs + */ + getTopBlockIDs() { + // TODO @dolev + // Figure this out by inspecting this._blocks + } + + /** + * + * @param {string} ID + */ + isTopBlockID(ID) { + // TODO @dolev + return getTopBlockIDs().includes(ID); // something like this + } + + /** + * NOTE: Also returns true if baseID === aboveID + * @param {?string} baseID ID of block to check from. + * @param {?string} aboveID ID of block that may or may not be above the baseID block. + * @return {boolean} Whether or a block with id = aboveID is 'above' the baseID block + */ + isBlockAbove(baseID, aboveID) { + if (baseID === aboveID) return true; + let block = this._blocks[baseID]; + if (typeof block === 'undefined') return null; + while (block.parent !== null) { + block = this._blocks[block.parent]; + if (block.id === aboveID) return true; + } + return false; + } + /** * Get the procedure definition for a given name. * @param {?string} name Name of procedure to query. * @return {?string} ID of procedure definition. */ - getProcedureDefinition (name) { + getProcedureDefinition(name) { const blockID = this._cache.procedureDefinitions[name]; if (typeof blockID !== 'undefined') { return blockID; @@ -251,7 +286,7 @@ class Blocks { * @param {?string} name Name of procedure to query. * @return {?Array.} List of param names for a procedure. */ - getProcedureParamNamesAndIds (name) { + getProcedureParamNamesAndIds(name) { return this.getProcedureParamNamesIdsAndDefaults(name).slice(0, 2); } @@ -260,7 +295,7 @@ class Blocks { * @param {?string} name Name of procedure to query. * @return {?Array.} List of param names for a procedure. */ - getProcedureParamNamesIdsAndDefaults (name) { + getProcedureParamNamesIdsAndDefaults(name) { const cachedNames = this._cache.procedureParamNames[name]; if (typeof cachedNames !== 'undefined') { return cachedNames; @@ -284,7 +319,7 @@ class Blocks { return null; } - duplicate () { + duplicate() { const newBlocks = new Blocks(this.runtime, this.forceNoGlow); newBlocks._blocks = Clone.simple(this._blocks); newBlocks._scripts = Clone.simple(this._scripts); @@ -298,7 +333,7 @@ class Blocks { * runtime interface. * @param {object} e Blockly "block" or "variable" event */ - blocklyListen (e) { + blocklyListen(e) { // Validate event if (typeof e !== 'object') return; if (typeof e.blockId !== 'string' && typeof e.varId !== 'string' && @@ -310,198 +345,198 @@ class Blocks { // UI event: clicked scripts toggle in the runtime. if (e.element === 'stackclick') { - this.runtime.toggleScript(e.blockId, {stackClick: true}); + this.runtime.toggleScript(e.blockId, { stackClick: true }); return; } // Block create/update/destroy switch (e.type) { - case 'create': { - const newBlocks = adapter(e); - // A create event can create many blocks. Add them all. - for (let i = 0; i < newBlocks.length; i++) { - this.createBlock(newBlocks[i]); - } - break; - } - case 'change': - this.changeBlock({ - id: e.blockId, - element: e.element, - name: e.name, - value: e.newValue - }); - break; - case 'move': - this.moveBlock({ - id: e.blockId, - oldParent: e.oldParentId, - oldInput: e.oldInputName, - newParent: e.newParentId, - newInput: e.newInputName, - newCoordinate: e.newCoordinate - }); - break; - case 'dragOutside': - this.runtime.emitBlockDragUpdate(e.isOutside); - break; - case 'endDrag': - this.runtime.emitBlockDragUpdate(false /* areBlocksOverGui */); - - // Drag blocks onto another sprite - if (e.isOutside) { + case 'create': { const newBlocks = adapter(e); - this.runtime.emitBlockEndDrag(newBlocks, e.blockId); - } - break; - case 'delete': - // Don't accept delete events for missing blocks, - // or shadow blocks being obscured. - if (!this._blocks.hasOwnProperty(e.blockId) || - this._blocks[e.blockId].shadow) { - return; - } - // Inform any runtime to forget about glows on this script. - if (this._blocks[e.blockId].topLevel) { - this.runtime.quietGlow(e.blockId); - } - this.deleteBlock(e.blockId); - break; - case 'var_create': - // Check if the variable being created is global or local - // If local, create a local var on the current editing target, as long - // as there are no conflicts, and the current target is actually a sprite - // If global or if the editing target is not present or we somehow got - // into a state where a local var was requested for the stage, - // create a stage (global) var after checking for name conflicts - // on all the sprites. - if (e.isLocal && editingTarget && !editingTarget.isStage && !e.isCloud) { - if (!editingTarget.lookupVariableById(e.varId)) { - editingTarget.createVariable(e.varId, e.varName, e.varType); - this.emitProjectChanged(); - } - } else { - if (stage.lookupVariableById(e.varId)) { - // Do not re-create a variable if it already exists - return; - } - // Check for name conflicts in all of the targets - const allTargets = this.runtime.targets.filter(t => t.isOriginal); - for (const target of allTargets) { - if (target.lookupVariableByNameAndType(e.varName, e.varType, true)) { - return; - } - } - stage.createVariable(e.varId, e.varName, e.varType, e.isCloud); - this.emitProjectChanged(); - } - break; - case 'var_rename': - if (editingTarget && editingTarget.variables.hasOwnProperty(e.varId)) { - // This is a local variable, rename on the current target - editingTarget.renameVariable(e.varId, e.newName); - // Update all the blocks on the current target that use - // this variable - editingTarget.blocks.updateBlocksAfterVarRename(e.varId, e.newName); - } else { - // This is a global variable - stage.renameVariable(e.varId, e.newName); - // Update all blocks on all targets that use the renamed variable - const targets = this.runtime.targets; - for (let i = 0; i < targets.length; i++) { - const currTarget = targets[i]; - currTarget.blocks.updateBlocksAfterVarRename(e.varId, e.newName); + // A create event can create many blocks. Add them all. + for (let i = 0; i < newBlocks.length; i++) { + this.createBlock(newBlocks[i]); } + break; } - this.emitProjectChanged(); - break; - case 'var_delete': { - const target = (editingTarget && editingTarget.variables.hasOwnProperty(e.varId)) ? - editingTarget : stage; - target.deleteVariable(e.varId); - this.emitProjectChanged(); - break; - } - case 'comment_create': - if (this.runtime.getEditingTarget()) { - const currTarget = this.runtime.getEditingTarget(); - currTarget.createComment(e.commentId, e.blockId, e.text, - e.xy.x, e.xy.y, e.width, e.height, e.minimized); - - if (currTarget.comments[e.commentId].x === null && - currTarget.comments[e.commentId].y === null) { - // Block comments imported from 2.0 projects are imported with their - // x and y coordinates set to null so that scratch-blocks can - // auto-position them. If we are receiving a create event for these - // comments, then the auto positioning should have taken place. - // Update the x and y position of these comments to match the - // one from the event. - currTarget.comments[e.commentId].x = e.xy.x; - currTarget.comments[e.commentId].y = e.xy.y; + case 'change': + this.changeBlock({ + id: e.blockId, + element: e.element, + name: e.name, + value: e.newValue + }); + break; + case 'move': + this.moveBlock({ + id: e.blockId, + oldParent: e.oldParentId, + oldInput: e.oldInputName, + newParent: e.newParentId, + newInput: e.newInputName, + newCoordinate: e.newCoordinate + }); + break; + case 'dragOutside': + this.runtime.emitBlockDragUpdate(e.isOutside); + break; + case 'endDrag': + this.runtime.emitBlockDragUpdate(false /* areBlocksOverGui */); + + // Drag blocks onto another sprite + if (e.isOutside) { + const newBlocks = adapter(e); + this.runtime.emitBlockEndDrag(newBlocks, e.blockId); } - } - this.emitProjectChanged(); - break; - case 'comment_change': - if (this.runtime.getEditingTarget()) { - const currTarget = this.runtime.getEditingTarget(); - if (!currTarget.comments.hasOwnProperty(e.commentId)) { - log.warn(`Cannot change comment with id ${e.commentId} because it does not exist.`); + break; + case 'delete': + // Don't accept delete events for missing blocks, + // or shadow blocks being obscured. + if (!this._blocks.hasOwnProperty(e.blockId) || + this._blocks[e.blockId].shadow) { return; } - const comment = currTarget.comments[e.commentId]; - const change = e.newContents_; - if (change.hasOwnProperty('minimized')) { - comment.minimized = change.minimized; + // Inform any runtime to forget about glows on this script. + if (this._blocks[e.blockId].topLevel) { + this.runtime.quietGlow(e.blockId); } - if (change.hasOwnProperty('width') && change.hasOwnProperty('height')){ - comment.width = change.width; - comment.height = change.height; + this.deleteBlock(e.blockId); + break; + case 'var_create': + // Check if the variable being created is global or local + // If local, create a local var on the current editing target, as long + // as there are no conflicts, and the current target is actually a sprite + // If global or if the editing target is not present or we somehow got + // into a state where a local var was requested for the stage, + // create a stage (global) var after checking for name conflicts + // on all the sprites. + if (e.isLocal && editingTarget && !editingTarget.isStage && !e.isCloud) { + if (!editingTarget.lookupVariableById(e.varId)) { + editingTarget.createVariable(e.varId, e.varName, e.varType); + this.emitProjectChanged(); + } + } else { + if (stage.lookupVariableById(e.varId)) { + // Do not re-create a variable if it already exists + return; + } + // Check for name conflicts in all of the targets + const allTargets = this.runtime.targets.filter(t => t.isOriginal); + for (const target of allTargets) { + if (target.lookupVariableByNameAndType(e.varName, e.varType, true)) { + return; + } + } + stage.createVariable(e.varId, e.varName, e.varType, e.isCloud); + this.emitProjectChanged(); } - if (change.hasOwnProperty('text')) { - comment.text = change.text; + break; + case 'var_rename': + if (editingTarget && editingTarget.variables.hasOwnProperty(e.varId)) { + // This is a local variable, rename on the current target + editingTarget.renameVariable(e.varId, e.newName); + // Update all the blocks on the current target that use + // this variable + editingTarget.blocks.updateBlocksAfterVarRename(e.varId, e.newName); + } else { + // This is a global variable + stage.renameVariable(e.varId, e.newName); + // Update all blocks on all targets that use the renamed variable + const targets = this.runtime.targets; + for (let i = 0; i < targets.length; i++) { + const currTarget = targets[i]; + currTarget.blocks.updateBlocksAfterVarRename(e.varId, e.newName); + } } this.emitProjectChanged(); + break; + case 'var_delete': { + const target = (editingTarget && editingTarget.variables.hasOwnProperty(e.varId)) ? + editingTarget : stage; + target.deleteVariable(e.varId); + this.emitProjectChanged(); + break; } - break; - case 'comment_move': - if (this.runtime.getEditingTarget()) { - const currTarget = this.runtime.getEditingTarget(); - if (currTarget && !currTarget.comments.hasOwnProperty(e.commentId)) { - log.warn(`Cannot change comment with id ${e.commentId} because it does not exist.`); - return; + case 'comment_create': + if (this.runtime.getEditingTarget()) { + const currTarget = this.runtime.getEditingTarget(); + currTarget.createComment(e.commentId, e.blockId, e.text, + e.xy.x, e.xy.y, e.width, e.height, e.minimized); + + if (currTarget.comments[e.commentId].x === null && + currTarget.comments[e.commentId].y === null) { + // Block comments imported from 2.0 projects are imported with their + // x and y coordinates set to null so that scratch-blocks can + // auto-position them. If we are receiving a create event for these + // comments, then the auto positioning should have taken place. + // Update the x and y position of these comments to match the + // one from the event. + currTarget.comments[e.commentId].x = e.xy.x; + currTarget.comments[e.commentId].y = e.xy.y; + } } - const comment = currTarget.comments[e.commentId]; - const newCoord = e.newCoordinate_; - comment.x = newCoord.x; - comment.y = newCoord.y; - this.emitProjectChanged(); - } - break; - case 'comment_delete': - if (this.runtime.getEditingTarget()) { - const currTarget = this.runtime.getEditingTarget(); - if (!currTarget.comments.hasOwnProperty(e.commentId)) { - // If we're in this state, we have probably received - // a delete event from a workspace that we switched from - // (e.g. a delete event for a comment on sprite a's workspace - // when switching from sprite a to sprite b) - return; + break; + case 'comment_change': + if (this.runtime.getEditingTarget()) { + const currTarget = this.runtime.getEditingTarget(); + if (!currTarget.comments.hasOwnProperty(e.commentId)) { + log.warn(`Cannot change comment with id ${e.commentId} because it does not exist.`); + return; + } + const comment = currTarget.comments[e.commentId]; + const change = e.newContents_; + if (change.hasOwnProperty('minimized')) { + comment.minimized = change.minimized; + } + if (change.hasOwnProperty('width') && change.hasOwnProperty('height')) { + comment.width = change.width; + comment.height = change.height; + } + if (change.hasOwnProperty('text')) { + comment.text = change.text; + } + this.emitProjectChanged(); } - delete currTarget.comments[e.commentId]; - if (e.blockId) { - const block = currTarget.blocks.getBlock(e.blockId); - if (!block) { - log.warn(`Could not find block referenced by comment with id: ${e.commentId}`); + break; + case 'comment_move': + if (this.runtime.getEditingTarget()) { + const currTarget = this.runtime.getEditingTarget(); + if (currTarget && !currTarget.comments.hasOwnProperty(e.commentId)) { + log.warn(`Cannot change comment with id ${e.commentId} because it does not exist.`); return; } - delete block.comment; + const comment = currTarget.comments[e.commentId]; + const newCoord = e.newCoordinate_; + comment.x = newCoord.x; + comment.y = newCoord.y; + + this.emitProjectChanged(); } + break; + case 'comment_delete': + if (this.runtime.getEditingTarget()) { + const currTarget = this.runtime.getEditingTarget(); + if (!currTarget.comments.hasOwnProperty(e.commentId)) { + // If we're in this state, we have probably received + // a delete event from a workspace that we switched from + // (e.g. a delete event for a comment on sprite a's workspace + // when switching from sprite a to sprite b) + return; + } + delete currTarget.comments[e.commentId]; + if (e.blockId) { + const block = currTarget.blocks.getBlock(e.blockId); + if (!block) { + log.warn(`Could not find block referenced by comment with id: ${e.commentId}`); + return; + } + delete block.comment; + } - this.emitProjectChanged(); - } - break; + this.emitProjectChanged(); + } + break; } } @@ -510,7 +545,7 @@ class Blocks { /** * Reset all runtime caches. */ - resetCache () { + resetCache() { this._cache.inputs = {}; this._cache.procedureParamNames = {}; this._cache.procedureDefinitions = {}; @@ -523,7 +558,7 @@ class Blocks { * Emit a project changed event if this is a block container * that can affect the project state. */ - emitProjectChanged () { + emitProjectChanged() { if (!this.forceNoGlow) { this.runtime.emitProjectChanged(); } @@ -533,7 +568,7 @@ class Blocks { * Block management: create blocks and scripts from a `create` event * @param {!object} block Blockly create event to be processed */ - createBlock (block) { + createBlock(block) { // Does the block already exist? // Could happen, e.g., for an unobscured shadow. if (this._blocks.hasOwnProperty(block.id)) { @@ -559,127 +594,127 @@ class Blocks { * Block management: change block field values * @param {!object} args Blockly change event to be processed */ - changeBlock (args) { + changeBlock(args) { // Validate if (['field', 'mutation', 'checkbox'].indexOf(args.element) === -1) return; let block = this._blocks[args.id]; if (typeof block === 'undefined') return; switch (args.element) { - case 'field': - // TODO when the field of a monitored block changes, - // update the checkbox in the flyout based on whether - // a monitor for that current combination of selected parameters exists - // e.g. - // 1. check (current [v year]) - // 2. switch dropdown in flyout block to (current [v minute]) - // 3. the checkbox should become unchecked if we're not already - // monitoring current minute - - - // Update block value - if (!block.fields[args.name]) return; - if (args.name === 'VARIABLE' || args.name === 'LIST' || - args.name === 'BROADCAST_OPTION') { - // Get variable name using the id in args.value. - const variable = this.runtime.getEditingTarget().lookupVariableById(args.value); - if (variable) { - block.fields[args.name].value = variable.name; - block.fields[args.name].id = args.value; - } - } else { - // Changing the value in a dropdown - block.fields[args.name].value = args.value; - - // The selected item in the sensing of block menu needs to change based on the - // selected target. Set it to the first item in the menu list. - // TODO: (#1787) - if (block.opcode === 'sensing_of_object_menu') { - if (block.fields.OBJECT.value === '_stage_') { - this._blocks[block.parent].fields.PROPERTY.value = 'backdrop #'; - } else { - this._blocks[block.parent].fields.PROPERTY.value = 'x position'; + case 'field': + // TODO when the field of a monitored block changes, + // update the checkbox in the flyout based on whether + // a monitor for that current combination of selected parameters exists + // e.g. + // 1. check (current [v year]) + // 2. switch dropdown in flyout block to (current [v minute]) + // 3. the checkbox should become unchecked if we're not already + // monitoring current minute + + + // Update block value + if (!block.fields[args.name]) return; + if (args.name === 'VARIABLE' || args.name === 'LIST' || + args.name === 'BROADCAST_OPTION') { + // Get variable name using the id in args.value. + const variable = this.runtime.getEditingTarget().lookupVariableById(args.value); + if (variable) { + block.fields[args.name].value = variable.name; + block.fields[args.name].id = args.value; + } + } else { + // Changing the value in a dropdown + block.fields[args.name].value = args.value; + + // The selected item in the sensing of block menu needs to change based on the + // selected target. Set it to the first item in the menu list. + // TODO: (#1787) + if (block.opcode === 'sensing_of_object_menu') { + if (block.fields.OBJECT.value === '_stage_') { + this._blocks[block.parent].fields.PROPERTY.value = 'backdrop #'; + } else { + this._blocks[block.parent].fields.PROPERTY.value = 'x position'; + } + this.runtime.requestBlocksUpdate(); } - this.runtime.requestBlocksUpdate(); - } - const flyoutBlock = block.shadow && block.parent ? this._blocks[block.parent] : block; - if (flyoutBlock.isMonitored) { - this.runtime.requestUpdateMonitor(Map({ - id: flyoutBlock.id, - params: this._getBlockParams(flyoutBlock) - })); - } - } - break; - case 'mutation': - block.mutation = mutationAdapter(args.value); - break; - case 'checkbox': { - // A checkbox usually has a one to one correspondence with the monitor - // block but in the case of monitored reporters that have arguments, - // map the old id to a new id, creating a new monitor block if necessary - if (block.fields && Object.keys(block.fields).length > 0 && - block.opcode !== 'data_variable' && block.opcode !== 'data_listcontents') { - - // This block has an argument which needs to get separated out into - // multiple monitor blocks with ids based on the selected argument - const newId = getMonitorIdForBlockWithArgs(block.id, block.fields); - // Note: we're not just constantly creating a longer and longer id everytime we check - // the checkbox because we're using the id of the block in the flyout as the base - - // check if a block with the new id already exists, otherwise create - let newBlock = this.runtime.monitorBlocks.getBlock(newId); - if (!newBlock) { - newBlock = JSON.parse(JSON.stringify(block)); - newBlock.id = newId; - this.runtime.monitorBlocks.createBlock(newBlock); + const flyoutBlock = block.shadow && block.parent ? this._blocks[block.parent] : block; + if (flyoutBlock.isMonitored) { + this.runtime.requestUpdateMonitor(Map({ + id: flyoutBlock.id, + params: this._getBlockParams(flyoutBlock) + })); + } } + break; + case 'mutation': + block.mutation = mutationAdapter(args.value); + break; + case 'checkbox': { + // A checkbox usually has a one to one correspondence with the monitor + // block but in the case of monitored reporters that have arguments, + // map the old id to a new id, creating a new monitor block if necessary + if (block.fields && Object.keys(block.fields).length > 0 && + block.opcode !== 'data_variable' && block.opcode !== 'data_listcontents') { + + // This block has an argument which needs to get separated out into + // multiple monitor blocks with ids based on the selected argument + const newId = getMonitorIdForBlockWithArgs(block.id, block.fields); + // Note: we're not just constantly creating a longer and longer id everytime we check + // the checkbox because we're using the id of the block in the flyout as the base + + // check if a block with the new id already exists, otherwise create + let newBlock = this.runtime.monitorBlocks.getBlock(newId); + if (!newBlock) { + newBlock = JSON.parse(JSON.stringify(block)); + newBlock.id = newId; + this.runtime.monitorBlocks.createBlock(newBlock); + } - block = newBlock; // Carry on through the rest of this code with newBlock - } + block = newBlock; // Carry on through the rest of this code with newBlock + } - const wasMonitored = block.isMonitored; - block.isMonitored = args.value; + const wasMonitored = block.isMonitored; + block.isMonitored = args.value; - // Variable blocks may be sprite specific depending on the owner of the variable - let isSpriteLocalVariable = false; - if (block.opcode === 'data_variable') { - isSpriteLocalVariable = !(this.runtime.getTargetForStage().variables[block.fields.VARIABLE.id]); - } else if (block.opcode === 'data_listcontents') { - isSpriteLocalVariable = !(this.runtime.getTargetForStage().variables[block.fields.LIST.id]); - } + // Variable blocks may be sprite specific depending on the owner of the variable + let isSpriteLocalVariable = false; + if (block.opcode === 'data_variable') { + isSpriteLocalVariable = !(this.runtime.getTargetForStage().variables[block.fields.VARIABLE.id]); + } else if (block.opcode === 'data_listcontents') { + isSpriteLocalVariable = !(this.runtime.getTargetForStage().variables[block.fields.LIST.id]); + } - const isSpriteSpecific = isSpriteLocalVariable || - (this.runtime.monitorBlockInfo.hasOwnProperty(block.opcode) && - this.runtime.monitorBlockInfo[block.opcode].isSpriteSpecific); - if (isSpriteSpecific) { - // If creating a new sprite specific monitor, the only possible target is - // the current editing one b/c you cannot dynamically create monitors. - // Also, do not change the targetId if it has already been assigned - block.targetId = block.targetId || this.runtime.getEditingTarget().id; - } else { - block.targetId = null; - } + const isSpriteSpecific = isSpriteLocalVariable || + (this.runtime.monitorBlockInfo.hasOwnProperty(block.opcode) && + this.runtime.monitorBlockInfo[block.opcode].isSpriteSpecific); + if (isSpriteSpecific) { + // If creating a new sprite specific monitor, the only possible target is + // the current editing one b/c you cannot dynamically create monitors. + // Also, do not change the targetId if it has already been assigned + block.targetId = block.targetId || this.runtime.getEditingTarget().id; + } else { + block.targetId = null; + } - if (wasMonitored && !block.isMonitored) { - this.runtime.requestHideMonitor(block.id); - } else if (!wasMonitored && block.isMonitored) { - // Tries to show the monitor for specified block. If it doesn't exist, add the monitor. - if (!this.runtime.requestShowMonitor(block.id)) { - this.runtime.requestAddMonitor(MonitorRecord({ - id: block.id, - targetId: block.targetId, - spriteName: block.targetId ? this.runtime.getTargetById(block.targetId).getName() : null, - opcode: block.opcode, - params: this._getBlockParams(block), - // @todo(vm#565) for numerical values with decimals, some countries use comma - value: '', - mode: block.opcode === 'data_listcontents' ? 'list' : 'default' - })); + if (wasMonitored && !block.isMonitored) { + this.runtime.requestHideMonitor(block.id); + } else if (!wasMonitored && block.isMonitored) { + // Tries to show the monitor for specified block. If it doesn't exist, add the monitor. + if (!this.runtime.requestShowMonitor(block.id)) { + this.runtime.requestAddMonitor(MonitorRecord({ + id: block.id, + targetId: block.targetId, + spriteName: block.targetId ? this.runtime.getTargetById(block.targetId).getName() : null, + opcode: block.opcode, + params: this._getBlockParams(block), + // @todo(vm#565) for numerical values with decimals, some countries use comma + value: '', + mode: block.opcode === 'data_listcontents' ? 'list' : 'default' + })); + } } + break; } - break; - } } this.emitProjectChanged(); @@ -691,7 +726,7 @@ class Blocks { * Block management: move blocks from parent to parent * @param {!object} e Blockly move event to be processed */ - moveBlock (e) { + moveBlock(e) { if (!this._blocks.hasOwnProperty(e.id)) { return; } @@ -768,7 +803,7 @@ class Blocks { * Block management: run all blocks. * @param {!object} runtime Runtime to run all blocks in. */ - runAllMonitored (runtime) { + runAllMonitored(runtime) { if (this._cache._monitored === null) { this._cache._monitored = Object.keys(this._blocks) .filter(blockId => this.getBlock(blockId).isMonitored) @@ -783,7 +818,7 @@ class Blocks { const monitored = this._cache._monitored; for (let i = 0; i < monitored.length; i++) { - const {blockId, target} = monitored[i]; + const { blockId, target } = monitored[i]; runtime.addMonitorScript(blockId, target); } } @@ -793,7 +828,7 @@ class Blocks { * with the given ID does not exist. * @param {!string} blockId Id of block to delete */ - deleteBlock (blockId) { + deleteBlock(blockId) { // @todo In runtime, stop threads running on this script. // Get block @@ -842,7 +877,7 @@ class Blocks { * for that ID. A variable reference contains the field referencing that variable * and also the type of the variable being referenced. */ - getAllVariableAndListReferences (optBlocks, optIncludeBroadcast) { + getAllVariableAndListReferences(optBlocks, optIncludeBroadcast) { const blocks = optBlocks ? optBlocks : this._blocks; const allReferences = Object.create(null); for (const blockId in blocks) { @@ -881,7 +916,7 @@ class Blocks { * @param {string} varId The id of the variable that was renamed * @param {string} newName The new name of the variable that was renamed */ - updateBlocksAfterVarRename (varId, newName) { + updateBlocksAfterVarRename(varId, newName) { const blocks = this._blocks; for (const blockId in blocks) { let varOrListField = null; @@ -903,7 +938,7 @@ class Blocks { * Keep blocks up to date after they are shared between targets. * @param {boolean} isStage If the new target is a stage. */ - updateTargetSpecificBlocks (isStage) { + updateTargetSpecificBlocks(isStage) { const blocks = this._blocks; for (const blockId in blocks) { if (isStage && blocks[blockId].opcode === 'event_whenthisspriteclicked') { @@ -924,7 +959,7 @@ class Blocks { * that was renamed. This can be one of 'sprite','costume', 'sound', or * 'backdrop'. */ - updateAssetName (oldName, newName, assetType) { + updateAssetName(oldName, newName, assetType) { let getAssetField; if (assetType === 'costume') { getAssetField = this._getCostumeField.bind(this); @@ -953,7 +988,7 @@ class Blocks { * Null if either a block with the given id doesn't exist or if a costume menu field * does not exist on the block with the given id. */ - _getCostumeField (blockId) { + _getCostumeField(blockId) { const block = this.getBlock(blockId); if (block && block.fields.hasOwnProperty('COSTUME')) { return block.fields.COSTUME; @@ -968,7 +1003,7 @@ class Blocks { * Null, if either a block with the given id doesn't exist or if a sound menu field * does not exist on the block with the given id. */ - _getSoundField (blockId) { + _getSoundField(blockId) { const block = this.getBlock(blockId); if (block && block.fields.hasOwnProperty('SOUND_MENU')) { return block.fields.SOUND_MENU; @@ -983,7 +1018,7 @@ class Blocks { * Null, if either a block with the given id doesn't exist or if a backdrop menu field * does not exist on the block with the given id. */ - _getBackdropField (blockId) { + _getBackdropField(blockId) { const block = this.getBlock(blockId); if (block && block.fields.hasOwnProperty('BACKDROP')) { return block.fields.BACKDROP; @@ -998,7 +1033,7 @@ class Blocks { * Null, if either a block with the given id doesn't exist or if a sprite menu field * does not exist on the block with the given id. */ - _getSpriteField (blockId) { + _getSpriteField(blockId) { const block = this.getBlock(blockId); if (!block) { return null; @@ -1022,7 +1057,7 @@ class Blocks { * @param {object} comments Map of comments referenced by id * @return {string} String of XML representing this object's blocks. */ - toXML (comments) { + toXML(comments) { return this._scripts.map(script => this.blockToXML(script, comments)).join(); } @@ -1033,7 +1068,7 @@ class Blocks { * @param {object} comments Map of comments referenced by id * @return {string} String of XML representing this block and any children. */ - blockToXML (blockId, comments) { + blockToXML(blockId, comments) { const block = this._blocks[blockId]; // block should exist, but currently some blocks' next property point // to a blockId for non-existent blocks. Until we track down that behavior, @@ -1112,7 +1147,7 @@ class Blocks { * @param {!object} mutation Object representing a mutation. * @return {string} XML string representing a mutation. */ - mutationToXML (mutation) { + mutationToXML(mutation) { let mutationString = `<${mutation.tagName}`; for (const prop in mutation) { if (prop === 'children' || prop === 'tagName') continue; @@ -1140,7 +1175,7 @@ class Blocks { * @param {!object} block Block to be paramified. * @return {!object} object of param key/values. */ - _getBlockParams (block) { + _getBlockParams(block) { const params = {}; for (const key in block.fields) { params[key] = block.fields[key].value; @@ -1159,7 +1194,7 @@ class Blocks { * @param {!object} defineBlock Outer define block. * @return {!object} internal definition block which has the mutation. */ - _getCustomBlockInternal (defineBlock) { + _getCustomBlockInternal(defineBlock) { if (defineBlock.inputs && defineBlock.inputs.custom_block) { return this._blocks[defineBlock.inputs.custom_block.block]; } @@ -1169,7 +1204,7 @@ class Blocks { * Helper to add a stack to `this._scripts`. * @param {?string} topBlockId ID of block that starts the script. */ - _addScript (topBlockId) { + _addScript(topBlockId) { const i = this._scripts.indexOf(topBlockId); if (i > -1) return; // Already in scripts. this._scripts.push(topBlockId); @@ -1181,7 +1216,7 @@ class Blocks { * Helper to remove a script from `this._scripts`. * @param {?string} topBlockId ID of block that starts the script. */ - _deleteScript (topBlockId) { + _deleteScript(topBlockId) { const i = this._scripts.indexOf(topBlockId); if (i > -1) this._scripts.splice(i, 1); // Update `topLevel` property on the top block. diff --git a/packages/scratch-vm/src/engine/execute.js b/packages/scratch-vm/src/engine/execute.js index 51aee7064..36118ea44 100644 --- a/packages/scratch-vm/src/engine/execute.js +++ b/packages/scratch-vm/src/engine/execute.js @@ -2,8 +2,9 @@ const BlockUtility = require('./block-utility'); const BlocksExecuteCache = require('./blocks-execute-cache'); const log = require('../util/log'); const Thread = require('./thread'); -const {Map} = require('immutable'); +const { Map } = require('immutable'); const cast = require('../util/cast'); +const { internalIDKey } = require('../extension-support/block-relationships'); /** * Single BlockUtility instance reused by execute for every pritimive ran. @@ -160,7 +161,7 @@ const handlePromise = (primitiveReportedValue, sequencer, thread, blockCached, l * @param {object} cached default set of cached values */ class BlockCached { - constructor (blockContainer, cached) { + constructor(blockContainer, cached) { /** * Block id in its parent set of blocks. * @type {string} @@ -284,9 +285,9 @@ class BlockCached { */ this._ops = []; - const {runtime} = blockUtility.sequencer; + const { runtime } = blockUtility.sequencer; - const {opcode, fields, inputs} = this; + const { opcode, fields, inputs } = this; // Assign opcode isHat and blockFunction data to avoid dynamic lookups. this._isHat = runtime.getIsHat(opcode); @@ -439,7 +440,7 @@ const execute = function (sequencer, thread) { const reported = currentStackFrame.reported; // Reinstate all the previous values. for (; i < reported.length; i++) { - const {opCached: oldOpCached, inputValue} = reported[i]; + const { opCached: oldOpCached, inputValue } = reported[i]; const opCached = ops.find(op => op.id === oldOpCached); @@ -507,6 +508,7 @@ const execute = function (sequencer, thread) { // Update values for arguments (inputs). const argValues = opCached._argValues; + argValues[internalIDKey] = opCached.id; // Fields are set during opCached initialization. diff --git a/packages/scratch-vm/src/extension-support/block-relationships.js b/packages/scratch-vm/src/extension-support/block-relationships.js new file mode 100644 index 000000000..f233b5b6f --- /dev/null +++ b/packages/scratch-vm/src/extension-support/block-relationships.js @@ -0,0 +1,63 @@ +import BlockUtility from '../engine/block-utility.js'; +import Blocks from '../engine/blocks.js'; + +export const internalIDKey = "internal_blockID"; +const topBlockModifiers = 'topBlockModifiers'; + +/** + * Retrieves the Blocks object attached to the util's thread object + * @param {BlockUtilty} util + * @returns {Blocks} + */ +const getBlockContainer = (util) => util.thread.blockContainer; + +/** + * Get the ID of the block at the top of the 'chunk' that the block with ID = 'blockID' lives within + * @param {string} blockID + * @param {BlockUtility} util + * @returns {string | null | undefined} + */ +export const getTopBlockID = (blockID, util) => getBlockContainer(util).getTopLevelScript(blockID); + +/** + * Add a modifier to the given 'selfID' block's top block + * @param {BlockUtility} util + * @param {string} selfID + * @param {string | number | symbol} modifierKey + * @param {any} value + * @returns + */ +export const addTopBlockModifier = (util, selfID, modifierKey, value) => { + // TODO: @Dolev it would be nice to 'purge' stale Top Block IDs + // You could do this by looping over the current keys of util[topBlockModifiers], + // and removing elements that have a stale key. + // NOTE: Use the (not yet implemented) function `getBlockContainer(util).isTopBlockID(...)` + + const topBlockID = getTopBlockID(selfID, util); + if (!topBlockID) return; + const entry = { value, sourceID: selfID }; + util[topBlockModifiers] + ? util[topBlockModifiers][topBlockID] + ? util[topBlockModifiers][topBlockID][modifierKey] = entry + : util[topBlockModifiers][topBlockID] = { [modifierKey]: entry } + : util[topBlockModifiers] = { [topBlockID]: { [modifierKey]: entry } } +} + +/** + * Get the modifier (denoted by it's 'modifierKey') applicable to the given block associated with 'selfID'. + * @param {BlockUtility} util + * @param {string} selfID + * @param {string | number | symbol} modifierKey + * @returns + */ +export const getTopBlockModifier = (util, selfID, modifierKey) => { + const topBlockID = getTopBlockID(selfID, util); + if (!topBlockID) return undefined; + if (!util[topBlockModifiers]) return undefined; + if (!util[topBlockModifiers][topBlockID]) return undefined; + + const modifier = util[topBlockModifiers][topBlockID][modifierKey]; + if (!modifier || !getBlockContainer(util).isBlockAbove(selfID, modifier.sourceID)) return; + + return modifier.value; +} \ No newline at end of file diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index f7f946fef..0a74d2683 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -13,7 +13,9 @@ const AnalysisHelpers = require('./analysishelpers'); const MusicPlayers = require('./musicplayer') const textRender = require('./textrender'); const regeneratorRuntime = require("regenerator-runtime"); //do not delete +const { internalIDKey, getTopBlockID, addTopBlockModifier, getTopBlockModifier } = require('../../extension-support/block-relationships'); +const instrumentModifierKey = 'instrument'; class Scratch3MusicCreation { constructor(runtime) { @@ -62,6 +64,7 @@ class Scratch3MusicCreation { this._onTargetCreated = this._onTargetCreated.bind(this); this.runtime.on('targetWasCreated', this._onTargetCreated); + } @@ -210,6 +213,18 @@ class Scratch3MusicCreation { } } }, + { + opcode: 'setInstrumentForBelow', + blockType: BlockType.COMMAND, + text: 'set instrument for below blocks to [INSTRUMENT]', + arguments: { + INSTRUMENT: { + type: ArgumentType.NUMBER, + defaultValue: 1, + menu: "INSTRUMENT" + } + } + }, { opcode: 'setVolume', blockType: BlockType.COMMAND, @@ -498,6 +513,17 @@ class Scratch3MusicCreation { this.musicCreationHelper._setInstrument(args.INSTRUMENT, util, false); } + /** + * Select an instrument for playing notes. + * @param {object} args - the block arguments. + * @param {BlockUtility} util - utility object provided by the runtime. + * @property {int} INSTRUMENT - the number of the instrument to select. + */ + setInstrumentForBelow(args, util) { + const instrument = this.musicCreationHelper.getInstrumentValue(args.INSTRUMENT); + addTopBlockModifier(util, args[internalIDKey], instrumentModifierKey, instrument); + } + /** * * @param {array} raw_note - magenta note [freq,duration,inst,?] @@ -548,24 +574,28 @@ class Scratch3MusicCreation { this.musicCreationHelper.playNotes(prepared_notes['args'], utils, inst); } + getInstrumentForBlock(id, util) { + const modifierInst = getTopBlockModifier(util, id, instrumentModifierKey); + return modifierInst ? modifierInst : this.musicCreationHelper._getMusicState(util.target).currentInstrument; + } + /** * Used to get the generated sequence of notes from Magenta and * play it. * @param {boolean} RNN - true if 'complete music', false if 'generate new music' * @param {array} args - arguments to be given to the music helper - * @param {BlockUtility} utils + * @param {BlockUtility} util */ - getAndPlayMagentaNotes(RNN, args, utils) { - const musicState = this.musicCreationHelper._getMusicState(utils.target); - const inst = musicState.currentInstrument; - if (utils.stackTimerNeedsInit()) { + getAndPlayMagentaNotes(RNN, args, util) { + const inst = this.getInstrumentForBlock(args[internalIDKey], util); + if (util.stackTimerNeedsInit()) { // get timer running for a large amount of time (will be handled) - utils.startStackTimer(Number.MAX_SAFE_INTEGER); - utils.yield(); - this._getAndPlayMagentaNotes(RNN, args, utils, inst); + util.startStackTimer(Number.MAX_SAFE_INTEGER); + util.yield(); + this._getAndPlayMagentaNotes(RNN, args, util, inst); } - else if (!utils.stackTimerFinished()) { - utils.yield(); + else if (!util.stackTimerFinished()) { + util.yield(); } } @@ -606,6 +636,7 @@ class Scratch3MusicCreation { /** * Set the current tempo to a new value. * @param {object} args - the block arguments. + * @param {BlockUtility} util - the block utility. * @property {number} TEMPO - the tempo, in beats per minute. */ setVolume(args, util) { @@ -618,7 +649,8 @@ class Scratch3MusicCreation { } playNote(args, util) { - toAdd = this.musicCreationHelper.playNote(args, util); + const inst = this.getInstrumentForBlock(args[internalIDKey], util); + toAdd = this.musicCreationHelper.playNote(args, util, inst); if (toAdd.length == 3) { this.noteList.push(toAdd); vol = (this.getVolume(util)); From cadfdcd3f6d65fe5bc6f47845c4ab6723eb75b19 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Fri, 17 Jun 2022 17:21:07 -0400 Subject: [PATCH 083/149] things are working --- .../musiccreationhelpers.js | 181 +++++++++--------- 1 file changed, 95 insertions(+), 86 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 1b3aa50ff..d41f9e3f1 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -21,7 +21,7 @@ try { } class MusicCreationHelpers { - constructor (runtime) { + constructor(runtime) { this.runtime = runtime; this._stopped = false; @@ -47,12 +47,12 @@ class MusicCreationHelpers { this._onTargetCreated = this._onTargetCreated.bind(this); this.runtime.on('targetWasCreated', this._onTargetCreated); - volumes = [{text: "pianissimo", value: 15}, - {text: "piano", value: 30}, - {text: "mezzo-piano", value: 45}, - {text: "mezzo-forte", value: 60}, - {text: "forte", value: 85}, - {text: "fortissimo", value: 100}]; + volumes = [{ text: "pianissimo", value: 15 }, + { text: "piano", value: 30 }, + { text: "mezzo-piano", value: 45 }, + { text: "mezzo-forte", value: 60 }, + { text: "forte", value: 85 }, + { text: "fortissimo", value: 100 }]; globalVolume = "mezzo-forte"; } @@ -61,7 +61,7 @@ class MusicCreationHelpers { * The key to load & store a target's music-related state. * @type {string} */ - static get STATE_KEY () { + static get STATE_KEY() { return 'Scratch.musiccreation'; } @@ -69,7 +69,7 @@ class MusicCreationHelpers { * The default music-related state, to be used when a target has no existing music state. * @type {MusicState} */ - static get DEFAULT_MUSIC_STATE () { + static get DEFAULT_MUSIC_STATE() { return { currentInstrument: 0 }; @@ -79,8 +79,8 @@ class MusicCreationHelpers { * The minimum and maximum MIDI note numbers, for clamping the input to play note. * @type {{min: number, max: number}} */ - static get MIDI_NOTE_RANGE () { - return {min: 0, max: 130}; + static get MIDI_NOTE_RANGE() { + return { min: 0, max: 130 }; } /** @@ -88,15 +88,15 @@ class MusicCreationHelpers { * 100 beats at the default tempo of 60bpm is 100 seconds. * @type {{min: number, max: number}} */ - static get BEAT_RANGE () { - return {min: 0, max: 100}; + static get BEAT_RANGE() { + return { min: 0, max: 100 }; } /** * The maximum number of sounds to allow to play simultaneously. * @type {number} */ - static get CONCURRENCY_LIMIT () { + static get CONCURRENCY_LIMIT() { return 30; } @@ -109,7 +109,7 @@ class MusicCreationHelpers { * @param {number[]} samples - an array of numbers representing the MIDI note number for each * sampled sound used to play this instrument. */ - get INSTRUMENT_INFO () { + get INSTRUMENT_INFO() { return [ { name: formatMessage({ @@ -130,7 +130,7 @@ class MusicCreationHelpers { dirName: '4-guitar', releaseTime: 0.5, samples: [60] - }, { + }, { name: formatMessage({ id: 'musiccreation.instrumentBass', default: 'Bass', @@ -188,7 +188,7 @@ class MusicCreationHelpers { * @listens Runtime#event:targetWasCreated * @private */ - _onTargetCreated (newTarget, sourceTarget) { + _onTargetCreated(newTarget, sourceTarget) { if (sourceTarget) { const musicState = sourceTarget.getCustomState(MusicCreationHelpers.STATE_KEY); if (musicState) { @@ -200,7 +200,7 @@ class MusicCreationHelpers { /** * Decode the full set of drum and instrument sounds, and store the audio buffers in arrays. */ - _loadAllSounds () { + _loadAllSounds() { const loadingPromises = []; this.INSTRUMENT_INFO.forEach((instrumentInfo, instrumentIndex) => { this._instrumentPlayerArrays[instrumentIndex] = []; @@ -223,7 +223,7 @@ class MusicCreationHelpers { * @param {array} playerArray - the array of players in which to store it. * @return {Promise} - a promise which will resolve once the sound has been stored. */ - _storeSound (filePath, index, playerArray) { + _storeSound(filePath, index, playerArray) { const fullPath = `${filePath}.mp3`; if (!assetData[fullPath]) return; @@ -241,7 +241,7 @@ class MusicCreationHelpers { * @param {ArrayBuffer} soundBuffer - a buffer containing the encoded audio. * @return {Promise} - a promise which will resolve once the sound has decoded. */ - _decodeSound (soundBuffer) { + _decodeSound(soundBuffer) { const engine = this.runtime.audioEngine; if (!engine) { @@ -249,9 +249,9 @@ class MusicCreationHelpers { } // Check for newer promise-based API - return engine.decodeSoundPlayer({data: {buffer: soundBuffer}}); + return engine.decodeSoundPlayer({ data: { buffer: soundBuffer } }); } - + /** * Create data for a menu in scratch-blocks format, consisting of an array of objects with text and * value properties. The text is a translated string, and the value is one-indexed. @@ -259,7 +259,7 @@ class MusicCreationHelpers { * @return {array} - An array of objects with text and value properties. * @private */ - _buildMenu (info) { + _buildMenu(info) { return info.map((entry, index) => { const obj = {}; obj.text = entry.name; @@ -268,12 +268,12 @@ class MusicCreationHelpers { }); } - /** - * @param {Target} target - collect music state for this target. - * @returns {MusicState} the mutable music state associated with that target. This will be created if necessary. - * @private - */ - _getMusicState (target) { + /** + * @param {Target} target - collect music state for this target. + * @returns {MusicState} the mutable music state associated with that target. This will be created if necessary. + * @private + */ + _getMusicState(target) { let musicState = target.getCustomState(MusicCreationHelpers.STATE_KEY); if (!musicState) { musicState = Clone.simple(MusicCreationHelpers.DEFAULT_MUSIC_STATE); @@ -282,7 +282,7 @@ class MusicCreationHelpers { return musicState; } - getInstrument (util) { + getInstrument(util) { const stage = this.runtime.getTargetForStage(); if (stage) { if (!stage.instrument) { @@ -301,8 +301,12 @@ class MusicCreationHelpers { * @param {object} util - utility object provided by the runtime. * @param {boolean} mapMidi - whether or not instNum is a MIDI instrument number. */ - _setInstrument (instNum, util, mapMidi) { + _setInstrument(instNum, util, mapMidi) { const musicState = this._getMusicState(util.target); + musicState.currentInstrument = this.getInstrumentValue(instNum); + } + + getInstrumentValue(instNum) { instNum = Cast.toNumber(instNum); instNum = Math.round(instNum); const stage = this.runtime.getTargetForStage(); @@ -310,25 +314,24 @@ class MusicCreationHelpers { stage.instrument = this.findInstrumentForNumber(instNum); } instNum -= 1; // instruments are one-indexed - instNum = MathUtil.wrapClamp(instNum, 0, this.INSTRUMENT_INFO.length - 1); - musicState.currentInstrument = instNum; + return MathUtil.wrapClamp(instNum, 0, this.INSTRUMENT_INFO.length - 1); } - findInstrumentForNumber (number) { + findInstrumentForNumber(number) { for (var m in instrumentNames) { if (instrumentNames[m].value == number) { return instrumentNames[m].text; } - } + } return "Piano"; } - findVolumeForNumber (number) { + findVolumeForNumber(number) { for (var m in volumes) { if (volumes[m].value == number) { return volumes[m].text; } - } + } return "mezzo-forte"; } @@ -337,14 +340,14 @@ class MusicCreationHelpers { * @param {number} tempo - the tempo to set, in beats per minute. * @private */ - _updateVolume (volume, util) { + _updateVolume(volume, util) { volume = MathUtil.clamp(volume, 0, 100); util.target.volume = volume; const stage = this.runtime.getTargetForStage(); globalVolume = this.findVolumeForNumber(volume); } - getVolume (util) { + getVolume(util) { return globalVolume; } @@ -356,13 +359,13 @@ class MusicCreationHelpers { * @returns an object with 'note', 'duration', and 'index' fields * @private */ - _clamp (noteInfo, index) { + _clamp(noteInfo, index) { let note = Cast.toNumber(noteInfo.NOTE); note = MathUtil.clamp(note, MusicCreationHelpers.MIDI_NOTE_RANGE.min, MusicCreationHelpers.MIDI_NOTE_RANGE.max); let beats = Cast.toNumber(noteInfo.SECS); beats = this._clampBeats(beats); - return {note: note,duration: beats, index: index}; + return { note: note, duration: beats, index: index }; } /** @@ -373,7 +376,7 @@ class MusicCreationHelpers { * * @see {SoundPlayer} is in the scratch audio node module */ - _getPlayer (inst, note) { + _getPlayer(inst, note) { if (!this._instrumentPlayerNoteArrays[inst][note]) { this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); } @@ -396,7 +399,7 @@ class MusicCreationHelpers { * @param {flot} dur - duration in secs * @returns an object with 'player' and 'data' fields, or null on error */ - createPlayer (util, note, dur, inst) { + createPlayer(util, note, dur, inst) { // Determine which of the audio samples for this instrument to play const instrumentInfo = this.INSTRUMENT_INFO[inst]; const sampleArray = instrumentInfo.samples; @@ -412,15 +415,19 @@ class MusicCreationHelpers { this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); } - const player = this._getPlayer(inst,note); + const player = this._getPlayer(inst, note); - return {player:player, - data: - {instInfo: instrumentInfo, - sampleArray: sampleArray, - sampleIndex: sampleIndex, - note: note, - duration: dur}}; + return { + player: player, + data: + { + instInfo: instrumentInfo, + sampleArray: sampleArray, + sampleIndex: sampleIndex, + note: note, + duration: dur + } + }; } /** @@ -435,11 +442,11 @@ class MusicCreationHelpers { * @augments @param util's stackFrame.duration to be 0 once the last note in @param seq * has stopped playing. */ - _playNoteFromSeq (noteInfo, seq, util,l, inst) { + _playNoteFromSeq(noteInfo, seq, util, l, inst) { const i = noteInfo['index']; - const last = i === l-1; + const last = i === l - 1; if (this._concurrencyCounter > this.CONCURRENCY_LIMIT) return; - const playerAndData = this.createPlayer(util,noteInfo['note'],noteInfo['duration'], inst); + const playerAndData = this.createPlayer(util, noteInfo['note'], noteInfo['duration'], inst); if (!playerAndData) { console.log(`null data for note ${noteInfo}`); return; @@ -455,12 +462,12 @@ class MusicCreationHelpers { if (last || this._stopped) { util.stackFrame.duration = 0; } else { - this._playNoteFromSeq(seq[i+1],seq,util,l,inst); + this._playNoteFromSeq(seq[i + 1], seq, util, l, inst); } }); - + if (!this._stopped) { - this._activatePlayer(util,playerAndData); + this._activatePlayer(util, playerAndData); } } @@ -473,11 +480,11 @@ class MusicCreationHelpers { * @requires - each elem in @param seq has 'note', 'duration' and * 'index' fields */ - playFirstNote (util, seq, inst) { + playFirstNote(util, seq, inst) { const l = seq.length if (l === 0) return; util.sequencer.runtime.setMaxListeners(Infinity); - this._playNoteFromSeq(seq[0],seq,util,l, inst); + this._playNoteFromSeq(seq[0], seq, util, l, inst); } /** @@ -485,12 +492,12 @@ class MusicCreationHelpers { * @param {array} args - args[i] has 'mutation', 'NOTE', and 'SECS' fields * @param {BlockUtility} util */ - playNotes (args, util, inst) { + playNotes(args, util, inst) { const l = args.length; let seq = []; for (let i = 0; i < l; i++) { const noteArg = args[i]; - seq.push(this._clamp(noteArg,i)); + seq.push(this._clamp(noteArg, i)); } if (l === 0) return; this._stopped = false; @@ -512,8 +519,8 @@ class MusicCreationHelpers { * @param {number} durationSec - duration, in seconds * @private */ - _initNote (util, sampleArray, sampleIndex, note, player, instInfo, - durationSec) { + _initNote(util, sampleArray, sampleIndex, note, player, instInfo, + durationSec) { // Set its pitch. const sampleNote = sampleArray[sampleIndex]; const notePitchInterval = this._ratioForPitchInterval(note - sampleNote); @@ -549,9 +556,11 @@ class MusicCreationHelpers { // Start playing the note player.play(); // Connect the player to the gain node. - player.connect({getInputNode () { - return volumeGain; - }}); + player.connect({ + getInputNode() { + return volumeGain; + } + }); // Set playback now after play creates the outputNode. player.outputNode.playbackRate.value = notePitchInterval; // Schedule playback to stop. @@ -566,7 +575,7 @@ class MusicCreationHelpers { * @param {object} playerAndData - contains 'player' and 'data' fields * @private */ - _activatePlayer (util, playerAndData) { + _activatePlayer(util, playerAndData) { // If we're playing too many sounds, do not play the note. if (this._concurrencyCounter > MusicCreationHelpers.CONCURRENCY_LIMIT) { console.log('concurrency limit reached'); @@ -588,10 +597,10 @@ class MusicCreationHelpers { let durationSec = data['duration']; this._initNote(util, sampleArray, sampleIndex, note, player, instInfo, - durationSec); + durationSec); } - playNote (args, util) { + playNote(args, util, instrument) { if (this._stackTimerNeedsInit(util)) { let note = Cast.toNumber(args.NOTE); note = MathUtil.clamp(note, @@ -603,7 +612,7 @@ class MusicCreationHelpers { if (beats === 0) return; const durationSec = beats; - this._playNote(util, note, durationSec); + this._playNote(util, note, durationSec, instrument); this._startStackTimer(util, durationSec); const musicState = this._getMusicState(util.target); @@ -625,7 +634,7 @@ class MusicCreationHelpers { * @param {number} durationSec - the duration in seconds to play the note. * @private */ - _playNote (util, note, durationSec) { + _playNote(util, note, durationSec, instrument) { if (util.runtime.audioEngine === null) return; if (util.target.sprite.soundBank === null) return; @@ -636,19 +645,19 @@ class MusicCreationHelpers { // Determine which of the audio samples for this instrument to play const musicState = this._getMusicState(util.target); - const inst = musicState.currentInstrument; + const inst = instrument ? instrument : musicState.currentInstrument; const instrumentInfo = this.INSTRUMENT_INFO[inst]; const sampleArray = instrumentInfo.samples; const sampleIndex = this._selectSampleIndexForNote(note, sampleArray); // If the audio sample has not loaded yet, bail out if (typeof this._instrumentPlayerArrays[inst] === 'undefined') return; if (typeof this._instrumentPlayerArrays[inst][sampleIndex] === 'undefined') return; - + if (!this._instrumentPlayerNoteArrays[inst][note]) { this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); } - const player = this._getPlayer(inst,note); + const player = this._getPlayer(inst, note); this._initNote(util, sampleArray, sampleIndex, note, player, instrumentInfo, durationSec); @@ -663,7 +672,7 @@ class MusicCreationHelpers { * @return {index} the index of the selected sample in the samples array. * @private */ - _selectSampleIndexForNote (note, samples) { + _selectSampleIndexForNote(note, samples) { // Step backwards through the array of samples, i.e. in descending pitch, in order to find // the sample that is the closest one below (or matching) the pitch of the input note. for (let i = samples.length - 1; i >= 0; i--) { @@ -680,17 +689,17 @@ class MusicCreationHelpers { * @return {number} a ratio corresponding to the input interval. * @private */ - _ratioForPitchInterval (interval) { + _ratioForPitchInterval(interval) { return Math.pow(2, (interval / 12)); } - /** - * Start the stack timer and the yield the thread if necessary. - * @param {object} util - utility object provided by the runtime. - * @param {number} duration - a duration in seconds to set the timer for. - * @private - */ - _startStackTimer (util, duration) { + /** + * Start the stack timer and the yield the thread if necessary. + * @param {object} util - utility object provided by the runtime. + * @param {number} duration - a duration in seconds to set the timer for. + * @private + */ + _startStackTimer(util, duration) { util.stackFrame.timer = new Timer(); util.stackFrame.timer.start(); util.stackFrame.duration = duration; @@ -703,7 +712,7 @@ class MusicCreationHelpers { * @return {boolean} - true if the stack timer needs to be initialized. * @private */ - _stackTimerNeedsInit (util) { + _stackTimerNeedsInit(util) { return !util.stackFrame.timer; } @@ -712,7 +721,7 @@ class MusicCreationHelpers { * @param {object} util - utility object provided by the runtime. * @private */ - _checkStackTimer (util) { + _checkStackTimer(util) { const timeElapsed = util.stackFrame.timer.timeElapsed(); if (timeElapsed < util.stackFrame.duration * 1000) { util.yield(); @@ -725,7 +734,7 @@ class MusicCreationHelpers { * @return {number} - the clamped duration. * @private */ - _clampBeats (beats) { + _clampBeats(beats) { return MathUtil.clamp(beats, MusicCreationHelpers.BEAT_RANGE.min, MusicCreationHelpers.BEAT_RANGE.max); } From 49a1a865b4e9ec99d88be7fbc65bee195b76617b Mon Sep 17 00:00:00 2001 From: p-buddy Date: Fri, 17 Jun 2022 17:37:39 -0400 Subject: [PATCH 084/149] adding some comments --- packages/scratch-vm/src/engine/runtime.js | 2 +- .../scratch-vm/src/extension-support/xml-builder.js | 10 ++++++++-- .../src/extensions/scratch3_musiccreation/index.js | 9 ++++++++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/packages/scratch-vm/src/engine/runtime.js b/packages/scratch-vm/src/engine/runtime.js index ac22999b6..18772ce29 100644 --- a/packages/scratch-vm/src/engine/runtime.js +++ b/packages/scratch-vm/src/engine/runtime.js @@ -704,7 +704,7 @@ class Runtime extends EventEmitter { } /** - * Event name for reporting that a block was updated and needs to be rerendered. + * Event name for trigger the worskpace to update with a specified collection of new 'programatically added' blocks * @const {string} */ static get ADD_BLOCKS_TO_WORKSPACE() { diff --git a/packages/scratch-vm/src/extension-support/xml-builder.js b/packages/scratch-vm/src/extension-support/xml-builder.js index 3381cf5e9..9ea5e6029 100644 --- a/packages/scratch-vm/src/extension-support/xml-builder.js +++ b/packages/scratch-vm/src/extension-support/xml-builder.js @@ -5,8 +5,9 @@ const { XMLParser, XMLBuilder } = require('fast-xml-parser'); /** * @param {Runtime} runtime - * @param {{getInfo: () => ExtensionMetadata}} extension - * @param {string[]} opcode + * @param {{getInfo: () => ExtensionMetadata}} extension The extension from which the blocks to be created are from + * @param {string[]} opcodes The opcodes to generate new blocks for + * @param {any[]} args The arguments to pass to the generated blocks * @returns {string} */ export const generateXMLForBlockChunk = (extension, runtime, opcodes, args) => { @@ -110,6 +111,11 @@ const validateBlockMap = (blockMap) => { return true; } +/** + * Add arguments in the appropriate fields of the XML-based js object + * @param {*} obj + * @param {*} args + */ const applyArgs = (obj, args) => { console.log(obj); for (const key in args) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 214995ce3..7d6846df8 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -184,6 +184,11 @@ class Scratch3MusicCreation { ]; } + /** + * Convert an amount of seconds into how many beats it is (assuming 4 beats per second) + * @param {number | string} secs + * @returns {{text: string, value: number | string }} text represents the calculated number of beats, while value is still in seconds + */ secsToBeats(secs) { const beatPerSec = 4; @@ -582,7 +587,7 @@ class Scratch3MusicCreation { * @param {array} args - arguments to be given to the music helper * @param {BlockUtility} utils * @param {number} inst - instrument to play on, represented as a number - * @param {function({mutation: any; NOTE: string; SECS: string;}[]): void} processNotes + * @param {function({mutation: any; NOTE: string; SECS: string;}[]): void} processNotes A callback function invoked with the generated notes as an argument * @private */ async _getAndPlayMagentaNotes(RNN, args, utils, inst, processNotes) { @@ -649,6 +654,8 @@ class Scratch3MusicCreation { createNotesMVAE(args, utils) { const { runtime } = utils this.getAndPlayMagentaNotes(false, args, utils, (notes) => { + // convert the notes into arguments for the play note blocks + // TODO: Dolev, is this correct? Could this be leading to play duration errors? const blockArgs = notes.map(note => { const { NOTE, SECS } = note; return { NOTE, SECS }; From bcbe848af6df16f567d6586c78a9f39bfb87dfd0 Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Fri, 17 Jun 2022 17:51:18 -0400 Subject: [PATCH 085/149] more clean up --- .../src/extensions/scratch3_musiccreation/vizhelpers.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 8a96f3e13..6946e6683 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -191,16 +191,14 @@ class VizHelpers { toggleVisMode (args,util) { let status = Cast.toNumber(args.STATUS); let mode = Cast.toNumber(args.FORMAT); - this._visState['mode'] = mode; - this._visState['status'] = !!status; + const status_bool = !!status; // typeof(status) === string + this._visState = { mode:mode, status:status_bool }; } clearNoteBuffers () { - console.log('before', this._noteBuf); for (let b in this._noteBuf) { this._noteBuf[b] = []; } - console.log('after', this._noteBuf); } /** From 61e04daf57741d8a45ca53bcb6c3e1fd341af06b Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Fri, 17 Jun 2022 17:55:38 -0400 Subject: [PATCH 086/149] make 'adjust' print statements more descriptive' --- .../src/extensions/scratch3_musiccreation/sheetmusic.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 549eface6..b10f98bcb 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -909,7 +909,7 @@ class SheetMusic { if (freq >= 60) { if (freq > this._staffLims['hi_note']) { - console.log(`ADJUSTING ${freq}`); + console.log(`adjusting (treble) ${freq} to ${this._staffLims['hi_note']}`); freq = this._staffLims['hi_note']; } var staff = pitchToStaff[freq]; @@ -918,7 +918,7 @@ class SheetMusic { var clef = "treble"; } else { if (freq === undefined || freq < this._staffBaseLims['lo_note']) { - console.log(`ADJUSTING BASE.f ${freq}`); + console.log(`adjusting (bass) ${freq} to ${this._staffBaseLims['lo_note']}`); freq = this._staffBaseLims['lo_note']; } var staff = pitchToStaffBass[freq]; From c4f9d9c692b6bcd8c91aa19be51cbf4378fa0dc3 Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Thu, 30 Jun 2022 12:39:22 -0400 Subject: [PATCH 087/149] fixed merge conflicts --- .../musiccreationhelpers.js | 163 +++++++++--------- 1 file changed, 86 insertions(+), 77 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 27e7503a9..d76c82689 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -22,7 +22,7 @@ try { } class MusicCreationHelpers { - constructor (runtime) { + constructor(runtime) { this.runtime = runtime; this._stopped = false; @@ -48,12 +48,12 @@ class MusicCreationHelpers { this._onTargetCreated = this._onTargetCreated.bind(this); this.runtime.on('targetWasCreated', this._onTargetCreated); - volumes = [{text: "pianissimo", value: 15}, - {text: "piano", value: 30}, - {text: "mezzo-piano", value: 45}, - {text: "mezzo-forte", value: 60}, - {text: "forte", value: 85}, - {text: "fortissimo", value: 100}]; + volumes = [{ text: "pianissimo", value: 15 }, + { text: "piano", value: 30 }, + { text: "mezzo-piano", value: 45 }, + { text: "mezzo-forte", value: 60 }, + { text: "forte", value: 85 }, + { text: "fortissimo", value: 100 }]; globalVolume = "mezzo-forte"; } @@ -62,7 +62,7 @@ class MusicCreationHelpers { * The key to load & store a target's music-related state. * @type {string} */ - static get STATE_KEY () { + static get STATE_KEY() { return 'Scratch.musiccreation'; } @@ -70,7 +70,7 @@ class MusicCreationHelpers { * The default music-related state, to be used when a target has no existing music state. * @type {MusicState} */ - static get DEFAULT_MUSIC_STATE () { + static get DEFAULT_MUSIC_STATE() { return { currentInstrument: 0 }; @@ -80,8 +80,8 @@ class MusicCreationHelpers { * The minimum and maximum MIDI note numbers, for clamping the input to play note. * @type {{min: number, max: number}} */ - static get MIDI_NOTE_RANGE () { - return {min: 0, max: 130}; + static get MIDI_NOTE_RANGE() { + return { min: 0, max: 130 }; } /** @@ -89,15 +89,15 @@ class MusicCreationHelpers { * 100 beats at the default tempo of 60bpm is 100 seconds. * @type {{min: number, max: number}} */ - static get BEAT_RANGE () { - return {min: 0, max: 100}; + static get BEAT_RANGE() { + return { min: 0, max: 100 }; } /** * The maximum number of sounds to allow to play simultaneously. * @type {number} */ - static get CONCURRENCY_LIMIT () { + static get CONCURRENCY_LIMIT() { return 30; } @@ -110,7 +110,7 @@ class MusicCreationHelpers { * @param {number[]} samples - an array of numbers representing the MIDI note number for each * sampled sound used to play this instrument. */ - get INSTRUMENT_INFO () { + get INSTRUMENT_INFO() { return [ { name: formatMessage({ @@ -131,7 +131,7 @@ class MusicCreationHelpers { dirName: '4-guitar', releaseTime: 0.5, samples: [60] - }, { + }, { name: formatMessage({ id: 'musiccreation.instrumentBass', default: 'Bass', @@ -189,7 +189,7 @@ class MusicCreationHelpers { * @listens Runtime#event:targetWasCreated * @private */ - _onTargetCreated (newTarget, sourceTarget) { + _onTargetCreated(newTarget, sourceTarget) { if (sourceTarget) { const musicState = sourceTarget.getCustomState(MusicCreationHelpers.STATE_KEY); if (musicState) { @@ -201,7 +201,7 @@ class MusicCreationHelpers { /** * Decode the full set of drum and instrument sounds, and store the audio buffers in arrays. */ - _loadAllSounds () { + _loadAllSounds() { const loadingPromises = []; this.INSTRUMENT_INFO.forEach((instrumentInfo, instrumentIndex) => { this._instrumentPlayerArrays[instrumentIndex] = []; @@ -224,7 +224,7 @@ class MusicCreationHelpers { * @param {array} playerArray - the array of players in which to store it. * @return {Promise} - a promise which will resolve once the sound has been stored. */ - _storeSound (filePath, index, playerArray) { + _storeSound(filePath, index, playerArray) { const fullPath = `${filePath}.mp3`; if (!assetData[fullPath]) return; @@ -242,7 +242,7 @@ class MusicCreationHelpers { * @param {ArrayBuffer} soundBuffer - a buffer containing the encoded audio. * @return {Promise} - a promise which will resolve once the sound has decoded. */ - _decodeSound (soundBuffer) { + _decodeSound(soundBuffer) { const engine = this.runtime.audioEngine; if (!engine) { @@ -250,9 +250,9 @@ class MusicCreationHelpers { } // Check for newer promise-based API - return engine.decodeSoundPlayer({data: {buffer: soundBuffer}}); + return engine.decodeSoundPlayer({ data: { buffer: soundBuffer } }); } - + /** * Create data for a menu in scratch-blocks format, consisting of an array of objects with text and * value properties. The text is a translated string, and the value is one-indexed. @@ -260,7 +260,7 @@ class MusicCreationHelpers { * @return {array} - An array of objects with text and value properties. * @private */ - _buildMenu (info) { + _buildMenu(info) { return info.map((entry, index) => { const obj = {}; obj.text = entry.name; @@ -269,12 +269,12 @@ class MusicCreationHelpers { }); } - /** - * @param {Target} target - collect music state for this target. - * @returns {MusicState} the mutable music state associated with that target. This will be created if necessary. - * @private - */ - _getMusicState (target) { + /** + * @param {Target} target - collect music state for this target. + * @returns {MusicState} the mutable music state associated with that target. This will be created if necessary. + * @private + */ + _getMusicState(target) { let musicState = target.getCustomState(MusicCreationHelpers.STATE_KEY); if (!musicState) { musicState = Clone.simple(MusicCreationHelpers.DEFAULT_MUSIC_STATE); @@ -283,7 +283,7 @@ class MusicCreationHelpers { return musicState; } - getInstrument (util) { + getInstrument(util) { const stage = this.runtime.getTargetForStage(); if (stage) { if (!stage.instrument) { @@ -302,8 +302,12 @@ class MusicCreationHelpers { * @param {object} util - utility object provided by the runtime. * @param {boolean} mapMidi - whether or not instNum is a MIDI instrument number. */ - _setInstrument (instNum, util, mapMidi) { + _setInstrument(instNum, util, mapMidi) { const musicState = this._getMusicState(util.target); + musicState.currentInstrument = this.getInstrumentValue(instNum); + } + + getInstrumentValue(instNum) { instNum = Cast.toNumber(instNum); instNum = Math.round(instNum); const stage = this.runtime.getTargetForStage(); @@ -311,25 +315,24 @@ class MusicCreationHelpers { stage.instrument = this.findInstrumentForNumber(instNum); } instNum -= 1; // instruments are one-indexed - instNum = MathUtil.wrapClamp(instNum, 0, this.INSTRUMENT_INFO.length - 1); - musicState.currentInstrument = instNum; + return MathUtil.wrapClamp(instNum, 0, this.INSTRUMENT_INFO.length - 1); } - findInstrumentForNumber (number) { + findInstrumentForNumber(number) { for (var m in instrumentNames) { if (instrumentNames[m].value == number) { return instrumentNames[m].text; } - } + } return "Piano"; } - findVolumeForNumber (number) { + findVolumeForNumber(number) { for (var m in volumes) { if (volumes[m].value == number) { return volumes[m].text; } - } + } return "mezzo-forte"; } @@ -338,14 +341,14 @@ class MusicCreationHelpers { * @param {number} tempo - the tempo to set, in beats per minute. * @private */ - _updateVolume (volume, util) { + _updateVolume(volume, util) { volume = MathUtil.clamp(volume, 0, 100); util.target.volume = volume; const stage = this.runtime.getTargetForStage(); globalVolume = this.findVolumeForNumber(volume); } - getVolume (util) { + getVolume(util) { return globalVolume; } @@ -357,13 +360,13 @@ class MusicCreationHelpers { * @returns an object with 'note', 'duration', and 'index' fields * @private */ - _clamp (noteInfo, index) { + _clamp(noteInfo, index) { let note = Cast.toNumber(noteInfo.NOTE); note = MathUtil.clamp(note, MusicCreationHelpers.MIDI_NOTE_RANGE.min, MusicCreationHelpers.MIDI_NOTE_RANGE.max); let beats = Cast.toNumber(noteInfo.SECS); beats = this._clampBeats(beats); - return {note: note,duration: beats, index: index}; + return { note: note, duration: beats, index: index }; } /** @@ -374,7 +377,7 @@ class MusicCreationHelpers { * * @see {SoundPlayer} is in the scratch audio node module */ - _getPlayer (inst, note) { + _getPlayer(inst, note) { if (!this._instrumentPlayerNoteArrays[inst][note]) { this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); } @@ -397,7 +400,7 @@ class MusicCreationHelpers { * @param {flot} dur - duration in secs * @returns an object with 'player' and 'data' fields, or null on error */ - createPlayer (util, note, dur, inst) { + createPlayer(util, note, dur, inst) { // Determine which of the audio samples for this instrument to play const instrumentInfo = this.INSTRUMENT_INFO[inst]; const sampleArray = instrumentInfo.samples; @@ -413,15 +416,19 @@ class MusicCreationHelpers { this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); } - const player = this._getPlayer(inst,note); + const player = this._getPlayer(inst, note); - return {player:player, - data: - {instInfo: instrumentInfo, - sampleArray: sampleArray, - sampleIndex: sampleIndex, - note: note, - duration: dur}}; + return { + player: player, + data: + { + instInfo: instrumentInfo, + sampleArray: sampleArray, + sampleIndex: sampleIndex, + note: note, + duration: dur + } + }; } /** @@ -442,7 +449,7 @@ class MusicCreationHelpers { const last = i === l-1; const raw_note = raw_notes[i]; if (this._concurrencyCounter > this.CONCURRENCY_LIMIT) return; - const playerAndData = this.createPlayer(util,noteInfo['note'],noteInfo['duration'], inst); + const playerAndData = this.createPlayer(util, noteInfo['note'], noteInfo['duration'], inst); if (!playerAndData) { console.log(`null data for note ${noteInfo}`); return; @@ -522,8 +529,8 @@ class MusicCreationHelpers { * @param {number} durationSec - duration, in seconds * @private */ - _initNote (util, sampleArray, sampleIndex, note, player, instInfo, - durationSec) { + _initNote(util, sampleArray, sampleIndex, note, player, instInfo, + durationSec) { // Set its pitch. const sampleNote = sampleArray[sampleIndex]; const notePitchInterval = this._ratioForPitchInterval(note - sampleNote); @@ -559,9 +566,11 @@ class MusicCreationHelpers { // Start playing the note player.play(); // Connect the player to the gain node. - player.connect({getInputNode () { - return volumeGain; - }}); + player.connect({ + getInputNode() { + return volumeGain; + } + }); // Set playback now after play creates the outputNode. player.outputNode.playbackRate.value = notePitchInterval; // Schedule playback to stop. @@ -576,7 +585,7 @@ class MusicCreationHelpers { * @param {object} playerAndData - contains 'player' and 'data' fields * @private */ - _activatePlayer (util, playerAndData) { + _activatePlayer(util, playerAndData) { // If we're playing too many sounds, do not play the note. if (this._concurrencyCounter > MusicCreationHelpers.CONCURRENCY_LIMIT) { console.log('concurrency limit reached'); @@ -598,10 +607,10 @@ class MusicCreationHelpers { let durationSec = data['duration']; this._initNote(util, sampleArray, sampleIndex, note, player, instInfo, - durationSec); + durationSec); } - playNote (args, util) { + playNote(args, util, instrument) { if (this._stackTimerNeedsInit(util)) { let note = Cast.toNumber(args.NOTE); note = MathUtil.clamp(note, @@ -613,7 +622,7 @@ class MusicCreationHelpers { if (beats === 0) return; const durationSec = beats; - this._playNote(util, note, durationSec); + this._playNote(util, note, durationSec, instrument); this._startStackTimer(util, durationSec); const musicState = this._getMusicState(util.target); @@ -635,7 +644,7 @@ class MusicCreationHelpers { * @param {number} durationSec - the duration in seconds to play the note. * @private */ - _playNote (util, note, durationSec) { + _playNote(util, note, durationSec, instrument) { if (util.runtime.audioEngine === null) return; if (util.target.sprite.soundBank === null) return; @@ -646,19 +655,19 @@ class MusicCreationHelpers { // Determine which of the audio samples for this instrument to play const musicState = this._getMusicState(util.target); - const inst = musicState.currentInstrument; + const inst = instrument ? instrument : musicState.currentInstrument; const instrumentInfo = this.INSTRUMENT_INFO[inst]; const sampleArray = instrumentInfo.samples; const sampleIndex = this._selectSampleIndexForNote(note, sampleArray); // If the audio sample has not loaded yet, bail out if (typeof this._instrumentPlayerArrays[inst] === 'undefined') return; if (typeof this._instrumentPlayerArrays[inst][sampleIndex] === 'undefined') return; - + if (!this._instrumentPlayerNoteArrays[inst][note]) { this._instrumentPlayerNoteArrays[inst][note] = this._instrumentPlayerArrays[inst][sampleIndex].take(); } - const player = this._getPlayer(inst,note); + const player = this._getPlayer(inst, note); this._initNote(util, sampleArray, sampleIndex, note, player, instrumentInfo, durationSec); @@ -673,7 +682,7 @@ class MusicCreationHelpers { * @return {index} the index of the selected sample in the samples array. * @private */ - _selectSampleIndexForNote (note, samples) { + _selectSampleIndexForNote(note, samples) { // Step backwards through the array of samples, i.e. in descending pitch, in order to find // the sample that is the closest one below (or matching) the pitch of the input note. for (let i = samples.length - 1; i >= 0; i--) { @@ -690,17 +699,17 @@ class MusicCreationHelpers { * @return {number} a ratio corresponding to the input interval. * @private */ - _ratioForPitchInterval (interval) { + _ratioForPitchInterval(interval) { return Math.pow(2, (interval / 12)); } - /** - * Start the stack timer and the yield the thread if necessary. - * @param {object} util - utility object provided by the runtime. - * @param {number} duration - a duration in seconds to set the timer for. - * @private - */ - _startStackTimer (util, duration) { + /** + * Start the stack timer and the yield the thread if necessary. + * @param {object} util - utility object provided by the runtime. + * @param {number} duration - a duration in seconds to set the timer for. + * @private + */ + _startStackTimer(util, duration) { util.stackFrame.timer = new Timer(); util.stackFrame.timer.start(); util.stackFrame.duration = duration; @@ -713,7 +722,7 @@ class MusicCreationHelpers { * @return {boolean} - true if the stack timer needs to be initialized. * @private */ - _stackTimerNeedsInit (util) { + _stackTimerNeedsInit(util) { return !util.stackFrame.timer; } @@ -722,7 +731,7 @@ class MusicCreationHelpers { * @param {object} util - utility object provided by the runtime. * @private */ - _checkStackTimer (util) { + _checkStackTimer(util) { const timeElapsed = util.stackFrame.timer.timeElapsed(); if (timeElapsed < util.stackFrame.duration * 1000) { util.yield(); @@ -735,7 +744,7 @@ class MusicCreationHelpers { * @return {number} - the clamped duration. * @private */ - _clampBeats (beats) { + _clampBeats(beats) { return MathUtil.clamp(beats, MusicCreationHelpers.BEAT_RANGE.min, MusicCreationHelpers.BEAT_RANGE.max); } From f39211925ffd821a325c1213a63b81d9d66cba36 Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Thu, 30 Jun 2022 19:03:35 -0400 Subject: [PATCH 088/149] cast notes to range by octaves --- .../scratch3_musiccreation/index.js | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 8c3fd3382..5ade98dee 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -557,6 +557,25 @@ class Scratch3MusicCreation { return { notes: magenta_notes, args: args }; } + /** + * + * @param {number} hi - highest freq. acceptable for Magenta RNN + * @param {number} low - lowest freq. acceptable for Magenta RNN + * @param {array} notes - array of notes that will be adjusted in-place + */ + adjustFreqsToRange(hi,low,notes) { + notes.map( (note) => { + let freq = note[0]; + if (freq < low) { + const diff = low - freq; + note[0] += (Math.ceil(diff/12.0) * 12); + } else if (freq > hi) { + const diff = freq - hi; + note[0] -= (Math.ceil(diff/12.0) * 12); + } + }) + } + /** * Asynchronous function that gets the created notes from Magenta and initializes * playing the sequence. @@ -573,10 +592,9 @@ class Scratch3MusicCreation { if (this.noteList.length > 0) { const low = 48; const hi = 83; - const filtered = this.noteList.filter(note => note[0] >= low && note[0] <= hi); - if (filtered.length > 0) { - magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(filtered, args, utils); - } else valid = false; + this.adjustFreqsToRange(hi,low,this.noteList); + magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); + } else valid = false; } else { magenta_notes = await this.musicAccompanimentHelper.testMagentaMVAE(utils); From 0783577e4ba6aa2988bdc697b8d7ba8d391ff855 Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Fri, 1 Jul 2022 13:05:01 -0400 Subject: [PATCH 089/149] add getTopBlockIDs and isTopBlockID methods --- packages/scratch-vm/src/engine/blocks.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/scratch-vm/src/engine/blocks.js b/packages/scratch-vm/src/engine/blocks.js index 3928165aa..4c817a849 100644 --- a/packages/scratch-vm/src/engine/blocks.js +++ b/packages/scratch-vm/src/engine/blocks.js @@ -224,8 +224,7 @@ class Blocks { * @returns {string[]} array of Top Block IDs */ getTopBlockIDs() { - // TODO @dolev - // Figure this out by inspecting this._blocks + return Object.keys(this._blocks).filter(id => this._blocks[id].topLevel); } /** @@ -233,8 +232,7 @@ class Blocks { * @param {string} ID */ isTopBlockID(ID) { - // TODO @dolev - return getTopBlockIDs().includes(ID); // something like this + return this.getTopBlockIDs().includes(ID); } /** From fa731ac9fbb6c1534397c0031ddde0d4c47f8358 Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Fri, 1 Jul 2022 15:05:20 -0400 Subject: [PATCH 090/149] remove stale IDs from modifier list --- .../src/extension-support/block-relationships.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/scratch-vm/src/extension-support/block-relationships.js b/packages/scratch-vm/src/extension-support/block-relationships.js index f233b5b6f..d77ce41b4 100644 --- a/packages/scratch-vm/src/extension-support/block-relationships.js +++ b/packages/scratch-vm/src/extension-support/block-relationships.js @@ -28,11 +28,6 @@ export const getTopBlockID = (blockID, util) => getBlockContainer(util).getTopLe * @returns */ export const addTopBlockModifier = (util, selfID, modifierKey, value) => { - // TODO: @Dolev it would be nice to 'purge' stale Top Block IDs - // You could do this by looping over the current keys of util[topBlockModifiers], - // and removing elements that have a stale key. - // NOTE: Use the (not yet implemented) function `getBlockContainer(util).isTopBlockID(...)` - const topBlockID = getTopBlockID(selfID, util); if (!topBlockID) return; const entry = { value, sourceID: selfID }; @@ -41,6 +36,12 @@ export const addTopBlockModifier = (util, selfID, modifierKey, value) => { ? util[topBlockModifiers][topBlockID][modifierKey] = entry : util[topBlockModifiers][topBlockID] = { [modifierKey]: entry } : util[topBlockModifiers] = { [topBlockID]: { [modifierKey]: entry } } + let block_ids = Object.keys(getBlockContainer(util)._blocks); + for (const mod in util[topBlockModifiers]) { + if (!block_ids.includes(mod)) { + delete util[topBlockModifiers][mod]; + } + } } /** From 9a75e81e633f2901c16d37f9bf1024eb9235029b Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Tue, 5 Jul 2022 18:11:37 -0400 Subject: [PATCH 091/149] deep copy when adjusting notes for RNN --- .../scratch3_musiccreation/index.js | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 5ade98dee..a0307f517 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -564,16 +564,18 @@ class Scratch3MusicCreation { * @param {array} notes - array of notes that will be adjusted in-place */ adjustFreqsToRange(hi,low,notes) { - notes.map( (note) => { - let freq = note[0]; - if (freq < low) { - const diff = low - freq; - note[0] += (Math.ceil(diff/12.0) * 12); - } else if (freq > hi) { - const diff = freq - hi; - note[0] -= (Math.ceil(diff/12.0) * 12); - } - }) + notes.map( + (note) => { + let freq = note[0]; + if (freq < low) { + const diff = low - freq; + note[0] += (Math.ceil(diff/12.0) * 12); + } else if (freq > hi) { + const diff = freq - hi; + note[0] -= (Math.ceil(diff/12.0) * 12); + } + }); + return notes; } /** @@ -592,8 +594,9 @@ class Scratch3MusicCreation { if (this.noteList.length > 0) { const low = 48; const hi = 83; - this.adjustFreqsToRange(hi,low,this.noteList); - magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); + //copy the noteList so that it doesn't change + const adjusted_notes = this.adjustFreqsToRange(hi,low,JSON.parse(JSON.stringify(this.noteList))); + magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(adjusted_notes, args, utils); } else valid = false; } else { @@ -685,8 +688,7 @@ class Scratch3MusicCreation { toAdd.push(volumes[m].value); } } - // console.log(toAdd); - this.vizHelper.requestViz(toAdd,util); // can move to music creation helper if that is preferred + this.vizHelper.requestViz(toAdd,util); this.wavenoteList.push(toAdd); } } From 27c8ae36699eb57c53cc612427900e8151118e7a Mon Sep 17 00:00:00 2001 From: DolevArtzi Date: Wed, 6 Jul 2022 11:16:51 -0400 Subject: [PATCH 092/149] set volume for blocks below --- .../scratch3_musiccreation/index.js | 41 ++++++++++++----- .../musiccreationhelpers.js | 45 ++++++++++++------- 2 files changed, 61 insertions(+), 25 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 0a74d2683..4a079a6bb 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -16,6 +16,7 @@ const regeneratorRuntime = require("regenerator-runtime"); //do not delete const { internalIDKey, getTopBlockID, addTopBlockModifier, getTopBlockModifier } = require('../../extension-support/block-relationships'); const instrumentModifierKey = 'instrument'; +const volumeModifierKey = 'volume'; class Scratch3MusicCreation { constructor(runtime) { @@ -225,6 +226,18 @@ class Scratch3MusicCreation { } } }, + { + opcode: 'setVolumeForBelow', + blockType: BlockType.COMMAND, + text: 'set volume for below blocks to [VOLUME]', + arguments: { + VOLUME: { + type: ArgumentType.NUMBER, + defaultValue: 60, + menu: "VOLUME" + } + } + }, { opcode: 'setVolume', blockType: BlockType.COMMAND, @@ -524,6 +537,12 @@ class Scratch3MusicCreation { addTopBlockModifier(util, args[internalIDKey], instrumentModifierKey, instrument); } + setVolumeForBelow(args, util) { + let vol_n = Cast.toNumber(args.VOLUME); + addTopBlockModifier(util, args[internalIDKey], volumeModifierKey, vol_n); + } + + /** * * @param {array} raw_note - magenta note [freq,duration,inst,?] @@ -562,7 +581,7 @@ class Scratch3MusicCreation { * @param {number} inst - instrument to play on, represented as a number * @private */ - async _getAndPlayMagentaNotes(RNN, args, utils, inst) { + async _getAndPlayMagentaNotes(RNN, args, utils, inst, vol) { let magenta_notes = null; if (RNN) { magenta_notes = await this.musicAccompanimentHelper.testMagentaRNN(this.noteList, args, utils); @@ -571,7 +590,7 @@ class Scratch3MusicCreation { } const prepared_notes = this._prepare(magenta_notes); this.magentaNoteList = prepared_notes['notes']; - this.musicCreationHelper.playNotes(prepared_notes['args'], utils, inst); + this.musicCreationHelper.playNotes(prepared_notes['args'], utils, inst, vol); } getInstrumentForBlock(id, util) { @@ -579,6 +598,11 @@ class Scratch3MusicCreation { return modifierInst ? modifierInst : this.musicCreationHelper._getMusicState(util.target).currentInstrument; } + getVolumeForBlock(id, util) { + const modifierVol = getTopBlockModifier(util, id, volumeModifierKey); + return modifierVol ? modifierVol : this.musicCreationHelper.findNumberForVolume(this.getVolume(util)); + } + /** * Used to get the generated sequence of notes from Magenta and * play it. @@ -588,11 +612,12 @@ class Scratch3MusicCreation { */ getAndPlayMagentaNotes(RNN, args, util) { const inst = this.getInstrumentForBlock(args[internalIDKey], util); + const vol = this.getVolumeForBlock(args[internalIDKey], util); if (util.stackTimerNeedsInit()) { // get timer running for a large amount of time (will be handled) util.startStackTimer(Number.MAX_SAFE_INTEGER); util.yield(); - this._getAndPlayMagentaNotes(RNN, args, util, inst); + this._getAndPlayMagentaNotes(RNN, args, util, inst, vol); } else if (!util.stackTimerFinished()) { util.yield(); @@ -650,15 +675,11 @@ class Scratch3MusicCreation { playNote(args, util) { const inst = this.getInstrumentForBlock(args[internalIDKey], util); - toAdd = this.musicCreationHelper.playNote(args, util, inst); + const vol = this.getVolumeForBlock(args[internalIDKey], util); + toAdd = this.musicCreationHelper.playNote(args, util, inst, vol); if (toAdd.length == 3) { this.noteList.push(toAdd); - vol = (this.getVolume(util)); - for (var m in volumes) { - if (volumes[m].text == vol) { - toAdd.push(volumes[m].value); - } - } + toAdd.push(vol); this.wavenoteList.push(toAdd); } } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index d41f9e3f1..01c76d7ea 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -335,6 +335,21 @@ class MusicCreationHelpers { return "mezzo-forte"; } + /** + * Convert volume name to number + * @param {string} volume_name + * @returns {number} the matching numerical volume [0,100] or + * 60 as default if no match is found + */ + findNumberForVolume(volume_name) { + for (var m in volumes) { + if (volumes[m].text === volume_name) { + return volumes[m].value; + } + } + return 60; + } + /** * Update the current tempo, clamping it to the min and max allowable range. * @param {number} tempo - the tempo to set, in beats per minute. @@ -442,7 +457,7 @@ class MusicCreationHelpers { * @augments @param util's stackFrame.duration to be 0 once the last note in @param seq * has stopped playing. */ - _playNoteFromSeq(noteInfo, seq, util, l, inst) { + _playNoteFromSeq(noteInfo, seq, util, l, inst, vol) { const i = noteInfo['index']; const last = i === l - 1; if (this._concurrencyCounter > this.CONCURRENCY_LIMIT) return; @@ -462,12 +477,12 @@ class MusicCreationHelpers { if (last || this._stopped) { util.stackFrame.duration = 0; } else { - this._playNoteFromSeq(seq[i + 1], seq, util, l, inst); + this._playNoteFromSeq(seq[i + 1], seq, util, l, inst, vol); } }); if (!this._stopped) { - this._activatePlayer(util, playerAndData); + this._activatePlayer(util, playerAndData, vol); } } @@ -480,11 +495,11 @@ class MusicCreationHelpers { * @requires - each elem in @param seq has 'note', 'duration' and * 'index' fields */ - playFirstNote(util, seq, inst) { + playFirstNote(util, seq, inst, vol) { const l = seq.length if (l === 0) return; util.sequencer.runtime.setMaxListeners(Infinity); - this._playNoteFromSeq(seq[0], seq, util, l, inst); + this._playNoteFromSeq(seq[0], seq, util, l, inst, vol); } /** @@ -492,7 +507,7 @@ class MusicCreationHelpers { * @param {array} args - args[i] has 'mutation', 'NOTE', and 'SECS' fields * @param {BlockUtility} util */ - playNotes(args, util, inst) { + playNotes(args, util, inst, vol) { const l = args.length; let seq = []; for (let i = 0; i < l; i++) { @@ -502,7 +517,7 @@ class MusicCreationHelpers { if (l === 0) return; this._stopped = false; //begins the chain of events that plays the seq of notes - this.playFirstNote(util, seq, inst); + this.playFirstNote(util, seq, inst, vol); //set the duration to MAX. duration is cut off when the last note ends util.stackFrame.duration = Number.MAX_SAFE_INTEGER; @@ -520,7 +535,7 @@ class MusicCreationHelpers { * @private */ _initNote(util, sampleArray, sampleIndex, note, player, instInfo, - durationSec) { + durationSec, vol) { // Set its pitch. const sampleNote = sampleArray[sampleIndex]; const notePitchInterval = this._ratioForPitchInterval(note - sampleNote); @@ -532,7 +547,7 @@ class MusicCreationHelpers { // to the output. const context = engine.audioContext; const volumeGain = context.createGain(); - volumeGain.gain.setValueAtTime(util.target.volume / 100, engine.currentTime); + volumeGain.gain.setValueAtTime(vol / 100, engine.currentTime); const releaseGain = context.createGain(); volumeGain.connect(releaseGain); releaseGain.connect(engine.getInputNode()); @@ -575,7 +590,7 @@ class MusicCreationHelpers { * @param {object} playerAndData - contains 'player' and 'data' fields * @private */ - _activatePlayer(util, playerAndData) { + _activatePlayer(util, playerAndData, vol) { // If we're playing too many sounds, do not play the note. if (this._concurrencyCounter > MusicCreationHelpers.CONCURRENCY_LIMIT) { console.log('concurrency limit reached'); @@ -597,10 +612,10 @@ class MusicCreationHelpers { let durationSec = data['duration']; this._initNote(util, sampleArray, sampleIndex, note, player, instInfo, - durationSec); + durationSec, vol); } - playNote(args, util, instrument) { + playNote(args, util, instrument, vol) { if (this._stackTimerNeedsInit(util)) { let note = Cast.toNumber(args.NOTE); note = MathUtil.clamp(note, @@ -612,7 +627,7 @@ class MusicCreationHelpers { if (beats === 0) return; const durationSec = beats; - this._playNote(util, note, durationSec, instrument); + this._playNote(util, note, durationSec, instrument, vol); this._startStackTimer(util, durationSec); const musicState = this._getMusicState(util.target); @@ -634,7 +649,7 @@ class MusicCreationHelpers { * @param {number} durationSec - the duration in seconds to play the note. * @private */ - _playNote(util, note, durationSec, instrument) { + _playNote(util, note, durationSec, instrument, vol) { if (util.runtime.audioEngine === null) return; if (util.target.sprite.soundBank === null) return; @@ -660,7 +675,7 @@ class MusicCreationHelpers { const player = this._getPlayer(inst, note); this._initNote(util, sampleArray, sampleIndex, note, player, instrumentInfo, - durationSec); + durationSec, vol); } /** From abf0a51f70efe3d714f646fcbd707c836ee7100c Mon Sep 17 00:00:00 2001 From: p-buddy Date: Wed, 6 Jul 2022 18:58:27 -0400 Subject: [PATCH 093/149] adjusting some timings --- .../scratch3_musiccreation/index.js | 91 +++++++++++-------- .../musiccreationhelpers.js | 28 +++--- 2 files changed, 68 insertions(+), 51 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index b593fcf9b..34a864dce 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -39,6 +39,8 @@ class Scratch3MusicCreation { { text: "fortissimo", value: '100' }]; this.beats = [0.0625, 0.125, 0.25, 0.5, 0.75, 1].map(this.secsToBeats); + this.beats = ["1/4", "1/2", "1", "2", "3", "4", "8", "16"].map(this.beatsToSecs); + this.files = [{ text: "mystery 1", value: '1' }, { text: "mystery 2", value: '2' }, @@ -52,8 +54,8 @@ class Scratch3MusicCreation { { text: "frequencies", value: '3' }, { text: "frequencies over time", value: '4' }]; - this._visStatus = [{text: "off", value: '0'}, - {text: "on", value: '1'}]; + this._visStatus = [{ text: "off", value: '0' }, + { text: "on", value: '1' }]; this.textRenderer = new textRender(runtime); @@ -189,31 +191,67 @@ class Scratch3MusicCreation { } /** - * Convert an amount of seconds into how many beats it is (assuming 4 beats per second) - * @param {number | string} secs - * @returns {{text: string, value: number | string }} text represents the calculated number of beats, while value is still in seconds + * Converts a numeric decimal representation to its fractional form stored in a string + * @param {number} value + * @returns {string} */ - secsToBeats(secs) { - const beatPerSec = 4; - + static convertDecimalToFraction(value) { const gcd = function (a, b) { if (b < 0.0000001) return a;// Since there is a limited precision we need to limit the value. return gcd(b, Math.floor(a % b)); }; - const beats = (typeof secs === 'number' ? secs : parseFloat(secs)) * beatPerSec; - const len = beats.toString().length - 2; + const len = value.toString().length - 2; let denominator = Math.pow(10, len); - let numerator = beats * denominator; + let numerator = value * denominator; const divisor = gcd(numerator, denominator); numerator = Math.round(numerator / divisor); denominator = Math.round(denominator / divisor); - const text = denominator === 1 ? `${numerator}` : `${numerator}/${denominator}`; - return { text, value: secs }; + + return denominator === 1 ? `${numerator}` : `${numerator}/${denominator}`; + } + + /** + * Convert a fraction stored in a string to it's numeric decimal form + * @param {string} value + * @returns {number} + */ + static convertFractionToDecimal(value) { + const parts = value.split("/"); + if (parts.length === 1) return parseInt(parts); + return parseInt(parts[0], 10) / parseInt(parts[1], 10); + } + + static beatPerSec() { + return 2; + }; + + /** + * Convert an amount of seconds into how many beats it is (assuming 4 beats per second) + * @param {number | string} beats + * @param {number} beatPerSec + * @returns {{text: string, value: number | string }} text represents the calculated number of beats, while value is still in seconds + */ + beatsToSecs(beats) { + const ratio = Scratch3MusicCreation.beatPerSec(); + const secs = (typeof beats === 'number' ? beats : Scratch3MusicCreation.convertFractionToDecimal(beats)) / ratio; + return { text: `${beats}`, value: secs }; + } + + /** + * Convert an amount of seconds into how many beats it is (assuming 4 beats per second) + * @param {number | string} secs + * @param {number} beatPerSec + * @returns {{text: string, value: number | string }} text represents the calculated number of beats, while value is still in seconds + */ + secsToBeats(secs) { + const ratio = Scratch3MusicCreation.beatPerSec(); + const beats = (typeof secs === 'number' ? secs : parseFloat(secs)) * ratio; + return { text: Scratch3MusicCreation.convertDecimalToFraction(beats), value: secs }; }; @@ -316,25 +354,6 @@ class Scratch3MusicCreation { }, }, }, - { - opcode: 'testMagentaRNN', - text: formatMessage({ - id: 'musiccreation.testMagentaRNN', - default: 'add music blocks with [STEPS] steps and [TEMP] temperature', - description: 'test Magenta RNN' - }), - blockType: BlockType.COMMAND, - arguments: { - STEPS: { - type: ArgumentType.NUMBER, - defaultValue: 20 - }, - TEMP: { - type: ArgumentType.NUMBER, - defaultValue: 1.5 - }, - }, - }, { opcode: 'testMagentaMVAE', text: formatMessage({ @@ -546,8 +565,8 @@ class Scratch3MusicCreation { this.vizHelper.testWaveformViz(this.totalNoteList, args, util); } - toggleVisMode (args, util) { - this.vizHelper.toggleVisMode(args,util); + toggleVisMode(args, util) { + this.vizHelper.toggleVisMode(args, util); } testSheetMusicViz(args, util) { @@ -652,7 +671,7 @@ class Scratch3MusicCreation { } const prepared_notes = this._prepare(magenta_notes); this.magentaNoteList = prepared_notes['notes']; - this.musicCreationHelper.playNotes(prepared_notes, utils, inst,this.vizHelper); + this.musicCreationHelper.playNotes(prepared_notes, utils, inst, this.vizHelper); if (processNotes) processNotes(prepared_notes.args); } @@ -765,7 +784,7 @@ class Scratch3MusicCreation { toAdd.push(volumes[m].value); } } - this.vizHelper.requestViz(toAdd,util); + this.vizHelper.requestViz(toAdd, util); this.wavenoteList.push(toAdd); } } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index d76c82689..f047633dd 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -444,9 +444,9 @@ class MusicCreationHelpers { * @augments @param util's stackFrame.duration to be 0 once the last note in @param seq * has stopped playing. */ - _playNoteFromSeq (noteInfo, seq, util,l, inst, vizHelper, raw_notes) { + _playNoteFromSeq(noteInfo, seq, util, l, inst, vizHelper, raw_notes) { const i = noteInfo['index']; - const last = i === l-1; + const last = i === l - 1; const raw_note = raw_notes[i]; if (this._concurrencyCounter > this.CONCURRENCY_LIMIT) return; const playerAndData = this.createPlayer(util, noteInfo['note'], noteInfo['duration'], inst); @@ -465,12 +465,12 @@ class MusicCreationHelpers { if (last || this._stopped) { util.stackFrame.duration = 0; } else { - this._playNoteFromSeq(seq[i+1],seq,util,l,inst,vizHelper,raw_notes); + this._playNoteFromSeq(seq[i + 1], seq, util, l, inst, vizHelper, raw_notes); } - }); + }); if (!this._stopped) { - vizHelper.requestViz(raw_note,util); //potentially incorrect... - this._activatePlayer(util,playerAndData); + vizHelper.requestViz(raw_note, util); //potentially incorrect... + this._activatePlayer(util, playerAndData); } } @@ -484,11 +484,11 @@ class MusicCreationHelpers { * @requires - each elem in @param seq has 'note', 'duration' and * 'index' fields */ - playFirstNote (util, seq, inst, vizHelper, raw_notes) { + playFirstNote(util, seq, inst, vizHelper, raw_notes) { const l = seq.length if (l === 0) return; util.sequencer.runtime.setMaxListeners(Infinity); - this._playNoteFromSeq(seq[0],seq,util,l, inst, vizHelper, raw_notes); + this._playNoteFromSeq(seq[0], seq, util, l, inst, vizHelper, raw_notes); } /** @@ -500,14 +500,14 @@ class MusicCreationHelpers { * @param {BlockUtility} util * @param {VizHelpers} vizHelper */ - playNotes (args, util, inst, vizHelper) { + playNotes(args, util, inst, vizHelper) { let clean_notes = args['args']; let raw_notes = args['notes']; const l = clean_notes.length; let seq = []; for (let i = 0; i < l; i++) { const noteArg = clean_notes[i]; - seq.push(this._clamp(noteArg,i)); + seq.push(this._clamp(noteArg, i)); } if (l === 0) return; this._stopped = false; @@ -549,11 +549,9 @@ class MusicCreationHelpers { // Schedule the release of the note, ramping its gain down to zero, // and then stopping the sound. - let releaseDuration = instInfo.releaseTime; - if (typeof releaseDuration === 'undefined') { - releaseDuration = 0.01; - } - const releaseStart = context.currentTime + durationSec; + const releaseRatio = instInfo.releaseTime ? instInfo.releaseTime : 0.1; + const releaseDuration = durationSec * releaseRatio; + const releaseStart = context.currentTime + durationSec * (1 - releaseRatio); const releaseEnd = releaseStart + releaseDuration; releaseGain.gain.setValueAtTime(1, releaseStart); releaseGain.gain.linearRampToValueAtTime(0.0001, releaseEnd); From 18bfd756636f75eec8a1d805f8875fe6b626b6b6 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Thu, 7 Jul 2022 16:37:39 -0400 Subject: [PATCH 094/149] Changes to hopefully make the add blocks more stable --- .../src/extensions/scratch3_musiccreation/index.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 34a864dce..96e32851b 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -16,6 +16,7 @@ const regeneratorRuntime = require("regenerator-runtime"); //do not delete const { generateXMLForBlockChunk } = require('../../extension-support/xml-builder'); const { internalIDKey, getTopBlockID, addTopBlockModifier, getTopBlockModifier } = require('../../extension-support/block-relationships'); +const givenBeatValues = ["1/4", "1/2", "1", "2", "3", "4", "8", "16"]; const instrumentModifierKey = 'instrument'; class Scratch3MusicCreation { @@ -38,9 +39,7 @@ class Scratch3MusicCreation { { text: "forte", value: '85' }, { text: "fortissimo", value: '100' }]; - this.beats = [0.0625, 0.125, 0.25, 0.5, 0.75, 1].map(this.secsToBeats); - this.beats = ["1/4", "1/2", "1", "2", "3", "4", "8", "16"].map(this.beatsToSecs); - + this.beats = givenBeatValues.map(this.beatsToSecs); this.files = [{ text: "mystery 1", value: '1' }, { text: "mystery 2", value: '2' }, @@ -239,7 +238,7 @@ class Scratch3MusicCreation { beatsToSecs(beats) { const ratio = Scratch3MusicCreation.beatPerSec(); const secs = (typeof beats === 'number' ? beats : Scratch3MusicCreation.convertFractionToDecimal(beats)) / ratio; - return { text: `${beats}`, value: secs }; + return { text: `${beats}`, value: `${secs}` }; } /** @@ -735,7 +734,7 @@ class Scratch3MusicCreation { // TODO: Dolev, is this correct? Could this be leading to play duration errors? const blockArgs = notes.map(note => { const { NOTE, SECS } = note; - return { NOTE, SECS }; + return { NOTE, SECS: `${SECS}` }; }); const opcodes = blockArgs.map(_ => 'playNote'); const xml = generateXMLForBlockChunk(this, runtime, opcodes, blockArgs); From 6564434250b121d0a6605641b731c48fc06ac5d8 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Fri, 8 Jul 2022 11:37:22 -0400 Subject: [PATCH 095/149] add alert and log dom to console on error --- packages/scratch-gui/src/containers/blocks.jsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/scratch-gui/src/containers/blocks.jsx b/packages/scratch-gui/src/containers/blocks.jsx index b659cc714..22cde7d73 100644 --- a/packages/scratch-gui/src/containers/blocks.jsx +++ b/packages/scratch-gui/src/containers/blocks.jsx @@ -377,6 +377,8 @@ class Blocks extends React.Component { if (error.message) { error.message = `Workspace Update Error: ${error.message}`; } + console.log('The erroneous dom:',dom); + alert('Error encountered. Please save your project and reload the page.'); log.error(error); } this.workspace.addChangeListener(this.props.vm.blockListener); From b58c21326de34912e1aba2022d75a4356f9ceaa9 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Fri, 8 Jul 2022 11:58:41 -0400 Subject: [PATCH 096/149] remove unnescessary func call that set instrument internally --- .../scratch-vm/src/extensions/scratch3_musiccreation/index.js | 3 +-- .../extensions/scratch3_musiccreation/musiccreationhelpers.js | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index c31261e17..372754e28 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -561,8 +561,7 @@ class Scratch3MusicCreation { * @property {int} INSTRUMENT - the number of the instrument to select. */ setInstrumentForBelow(args, util) { - const instrument = this.musicCreationHelper.getInstrumentValue(args.INSTRUMENT); - addTopBlockModifier(util, args[internalIDKey], instrumentModifierKey, instrument); + addTopBlockModifier(util, args[internalIDKey], instrumentModifierKey, Cast.toNumber(args.INSTRUMENT)); } setVolumeForBelow(args, util) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 94f657247..1911380de 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -289,7 +289,6 @@ class MusicCreationHelpers { if (!stage.instrument) { stage.instrument = "Piano"; } - log.log(stage.instrument); return stage.instrument; } return 0; From f340177be4ec30ff673f2b89ccccd24582e18799 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Fri, 8 Jul 2022 14:45:49 -0400 Subject: [PATCH 097/149] stop currently playing note --- .../scratch3_musiccreation/musiccreationhelpers.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index d76c82689..5bf24809d 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -563,6 +563,11 @@ class MusicCreationHelpers { this._concurrencyCounter--; }); + util.sequencer.runtime.once('PROJECT_STOP_ALL', () => { + player.stopImmediately(); + if (util.thread.peekStackFrame()) util.stackFrame.duration = 0; + }); + // Start playing the note player.play(); // Connect the player to the gain node. From 37f2c96137f9eae0d2ee97f005e04263ceeb1bd5 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Fri, 8 Jul 2022 14:57:19 -0400 Subject: [PATCH 098/149] set max listeners to inf --- .../extensions/scratch3_musiccreation/musiccreationhelpers.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 5bf24809d..b5c69e213 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -563,6 +563,7 @@ class MusicCreationHelpers { this._concurrencyCounter--; }); + util.sequencer.runtime.setMaxListeners(Infinity); util.sequencer.runtime.once('PROJECT_STOP_ALL', () => { player.stopImmediately(); if (util.thread.peekStackFrame()) util.stackFrame.duration = 0; From 4d2ff32fec8fc2fc14f0fdc4059f45ca416710e7 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Fri, 8 Jul 2022 15:21:13 -0400 Subject: [PATCH 099/149] set listeners to inf in ctor --- .../scratch-vm/src/extensions/scratch3_musiccreation/index.js | 1 + .../extensions/scratch3_musiccreation/musiccreationhelpers.js | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index db137bee0..5be8f3612 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -66,6 +66,7 @@ class Scratch3MusicCreation { this._onTargetCreated = this._onTargetCreated.bind(this); this.runtime.on('targetWasCreated', this._onTargetCreated); + this.runtime.setMaxListeners(Infinity); } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index b5c69e213..100e6d2a2 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -487,7 +487,6 @@ class MusicCreationHelpers { playFirstNote (util, seq, inst, vizHelper, raw_notes) { const l = seq.length if (l === 0) return; - util.sequencer.runtime.setMaxListeners(Infinity); this._playNoteFromSeq(seq[0],seq,util,l, inst, vizHelper, raw_notes); } @@ -563,7 +562,6 @@ class MusicCreationHelpers { this._concurrencyCounter--; }); - util.sequencer.runtime.setMaxListeners(Infinity); util.sequencer.runtime.once('PROJECT_STOP_ALL', () => { player.stopImmediately(); if (util.thread.peekStackFrame()) util.stackFrame.duration = 0; From 6d6002dd6197642842a663723501ad0bffd9309d Mon Sep 17 00:00:00 2001 From: p-buddy Date: Mon, 11 Jul 2022 09:20:47 -0400 Subject: [PATCH 100/149] adding comment for later --- .../scratch-vm/src/extension-support/block-relationships.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/scratch-vm/src/extension-support/block-relationships.js b/packages/scratch-vm/src/extension-support/block-relationships.js index d77ce41b4..10c70ac79 100644 --- a/packages/scratch-vm/src/extension-support/block-relationships.js +++ b/packages/scratch-vm/src/extension-support/block-relationships.js @@ -38,6 +38,8 @@ export const addTopBlockModifier = (util, selfID, modifierKey, value) => { : util[topBlockModifiers] = { [topBlockID]: { [modifierKey]: entry } } let block_ids = Object.keys(getBlockContainer(util)._blocks); for (const mod in util[topBlockModifiers]) { + // NOTE: The below check could likely use `getBlockContainer(util).isTopBlockID(mod)` instead. + // Check this later... if (!block_ids.includes(mod)) { delete util[topBlockModifiers][mod]; } From ea17d22ee600c702ef5f87d84a4f13302aae9e6c Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 11 Jul 2022 13:10:16 -0400 Subject: [PATCH 101/149] use global inst/vol settings for note picker --- .../scratch-vm/src/extensions/scratch3_musiccreation/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index dc5c21aec..a5b26bdae 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -715,7 +715,9 @@ class Scratch3MusicCreation { runtime: this.runtime, target: this.runtime.getEditingTarget() }; - this.musicCreationHelper._playNote(util, noteNum, 0.25,0,60); + const inst = this.musicCreationHelper._getMusicState(util.target).currentInstrument; + const vol = this.musicCreationHelper.findNumberForVolume(this.musicCreationHelper.getVolume(util)); + this.musicCreationHelper._playNote(util, noteNum, 0.25, inst, vol); } /** From b68348140d9dc4eb608344c3545dcd2fb67d1441 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 11 Jul 2022 13:34:03 -0400 Subject: [PATCH 102/149] generate blocks for complete music, including previously played notes --- .../scratch3_musiccreation/index.js | 37 ++++++++++++++++++- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 96e32851b..82dd840d8 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -353,6 +353,25 @@ class Scratch3MusicCreation { }, }, }, + { + opcode: 'createNotesRNN', + text: formatMessage({ + id: 'musiccreation.createNotesRNN', + default: '(complete) add new music blocks [STEPS] [TEMP]', + description: 'create notes Magenta MVAE' + }), + blockType: BlockType.COMMAND, + arguments: { + STEPS: { + type: ArgumentType.NUMBER, + defaultValue: 20 + }, + TEMP: { + type: ArgumentType.NUMBER, + defaultValue: 1.5 + }, + } + }, { opcode: 'testMagentaMVAE', text: formatMessage({ @@ -730,8 +749,6 @@ class Scratch3MusicCreation { createNotesMVAE(args, utils) { const { runtime } = utils this.getAndPlayMagentaNotes(false, args, utils, (notes) => { - // convert the notes into arguments for the play note blocks - // TODO: Dolev, is this correct? Could this be leading to play duration errors? const blockArgs = notes.map(note => { const { NOTE, SECS } = note; return { NOTE, SECS: `${SECS}` }; @@ -742,6 +759,22 @@ class Scratch3MusicCreation { }); } + createNotesRNN(args,utils) { + const { runtime } = utils; + this.getAndPlayMagentaNotes(true, args, utils, (notes) => { + const blockArgs = notes.map(note => { + const { NOTE, SECS } = note; + return { NOTE, SECS: `${SECS}` }; + }); + + const oldNotes = this.noteList.map(note => { return {NOTE: Cast.toString(note[0]), SECS: Cast.toString(note[1])} }); + const blockArgsWithOldNotes = oldNotes.concat(blockArgs); + const opcodes = blockArgsWithOldNotes.map(_ => 'playNote'); + const xml = generateXMLForBlockChunk(this, runtime, opcodes, blockArgsWithOldNotes); + runtime.addBlocksToWorkspace(xml); + }); + } + getInstrument(util) { return this.musicCreationHelper.getInstrument(util); } From fdc57c5433b9d0bd646861dc680b49c09e76e1ca Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 11 Jul 2022 15:06:56 -0400 Subject: [PATCH 103/149] limit notes completed off of to 20 in generated chunk and throw alert --- .../src/extensions/scratch3_musiccreation/index.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 82dd840d8..4493361f5 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -18,6 +18,8 @@ const { internalIDKey, getTopBlockID, addTopBlockModifier, getTopBlockModifier } const givenBeatValues = ["1/4", "1/2", "1", "2", "3", "4", "8", "16"]; const instrumentModifierKey = 'instrument'; +const maxNotesForCompleteGen = 20; + class Scratch3MusicCreation { constructor(runtime) { @@ -63,7 +65,6 @@ class Scratch3MusicCreation { this._onTargetCreated = this._onTargetCreated.bind(this); this.runtime.on('targetWasCreated', this._onTargetCreated); - } @@ -689,8 +690,8 @@ class Scratch3MusicCreation { } const prepared_notes = this._prepare(magenta_notes); this.magentaNoteList = prepared_notes['notes']; - this.musicCreationHelper.playNotes(prepared_notes, utils, inst, this.vizHelper); if (processNotes) processNotes(prepared_notes.args); + this.musicCreationHelper.playNotes(prepared_notes, utils, inst, this.vizHelper); } getInstrumentForBlock(id, util) { @@ -766,8 +767,13 @@ class Scratch3MusicCreation { const { NOTE, SECS } = note; return { NOTE, SECS: `${SECS}` }; }); - - const oldNotes = this.noteList.map(note => { return {NOTE: Cast.toString(note[0]), SECS: Cast.toString(note[1])} }); + + const oldNotes = this.noteList + .map(note => { return {NOTE: Cast.toString(note[0]), SECS: Cast.toString(note[1])} }) + .slice(-maxNotesForCompleteGen); //limit number of notes included in the generated chunk + if (this.noteList.length > maxNotesForCompleteGen) { + alert(`Only displaying the last ${maxNotesForCompleteGen} notes in the generated chunk of blocks. Press 'reset music' to clear note list.`); + } const blockArgsWithOldNotes = oldNotes.concat(blockArgs); const opcodes = blockArgsWithOldNotes.map(_ => 'playNote'); const xml = generateXMLForBlockChunk(this, runtime, opcodes, blockArgsWithOldNotes); From 4060657d43bd6efdc78aa4ce15e8d9de12bedfc1 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 11 Jul 2022 15:49:47 -0400 Subject: [PATCH 104/149] util.sequencer.runtime --> util.runtime --- .../extensions/scratch3_musiccreation/musiccreationhelpers.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 3cf6d10dc..99da0ad4a 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -576,8 +576,7 @@ class MusicCreationHelpers { player.once('stop', () => { this._concurrencyCounter--; }); - - util.sequencer.runtime.once('PROJECT_STOP_ALL', () => { + util.runtime.once('PROJECT_STOP_ALL', () => { player.stopImmediately(); if (util.thread.peekStackFrame()) util.stackFrame.duration = 0; }); From ea6250424ec0aed7d4f5b89b0f657a0e17b64d72 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Tue, 12 Jul 2022 16:14:18 -0400 Subject: [PATCH 105/149] check for undefined thread on stop sign --- .../extensions/scratch3_musiccreation/musiccreationhelpers.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 99da0ad4a..a6156fda1 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -473,7 +473,7 @@ class MusicCreationHelpers { util.sequencer.runtime.once('PROJECT_STOP_ALL', () => { this._stopped = true; player.stopImmediately(); - if (util.thread.peekStackFrame()) util.stackFrame.duration = 0; + if (util.thread !== undefined && util.thread.peekStackFrame()) util.stackFrame.duration = 0; return; }); player.once('stop', () => { @@ -578,7 +578,7 @@ class MusicCreationHelpers { }); util.runtime.once('PROJECT_STOP_ALL', () => { player.stopImmediately(); - if (util.thread.peekStackFrame()) util.stackFrame.duration = 0; + if (util.thread !== undefined && util.thread.peekStackFrame()) util.stackFrame.duration = 0; }); // Start playing the note From 2f4607727675ace660f1774fc14f1fe6a1deaaa1 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Tue, 12 Jul 2022 16:32:13 -0400 Subject: [PATCH 106/149] clear canvas on reset music --- .../extensions/scratch3_musiccreation/index.js | 1 + .../scratch3_musiccreation/vizhelpers.js | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index e701063a0..b8ac09ca4 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -501,6 +501,7 @@ class Scratch3MusicCreation { this.wavenoteList = []; this.magentaNoteList = []; this.vizHelper.clearNoteBuffers(); + this.vizHelper.requestViz(null,util); } testWaveformViz(args, util) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 6946e6683..bf20a58b1 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -12,6 +12,7 @@ const SpectrogramHelper = require('./spectrogram'); const FFTHelper = require('./fft'); const { updateVariableIdentifiers } = require('../../util/variable-util'); const { e } = require('./letters'); +const BlockUtility = require('../../engine/block-utility'); class VizHelpers { constructor (runtime) { @@ -191,7 +192,7 @@ class VizHelpers { toggleVisMode (args,util) { let status = Cast.toNumber(args.STATUS); let mode = Cast.toNumber(args.FORMAT); - const status_bool = !!status; // typeof(status) === string + const status_bool = !!status; this._visState = { mode:mode, status:status_bool }; } @@ -212,6 +213,12 @@ class VizHelpers { } + /** + * + * @param {[number,number,string,number] | null} note - if null, this represents the case where we are clearing the canvas + * otherwise, [note,duration,instrument name, volume] + * @param {BlockUtility} util + */ processViz (note,util) { const mode = this._visState['mode']; const name = this._visNames[mode]; @@ -226,8 +233,12 @@ class VizHelpers { if (buf.length + 1 >= lim) buf = []; } - note[4] = this._count++; - buf.push(note); + try { + note[4] = this._count++; + buf.push(note); + } catch (error) { + buf = []; + } this._noteBuf[name] = buf; switch (name) { case 'wave': From 364b70a28db3058aa9f1dfc37dc08d0bda753d9f Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Wed, 13 Jul 2022 11:49:48 -0400 Subject: [PATCH 107/149] inst check for undef/null explicitly --- .../scratch-vm/src/extensions/scratch3_musiccreation/index.js | 2 +- .../extensions/scratch3_musiccreation/musiccreationhelpers.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index e701063a0..523418f0e 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -656,7 +656,7 @@ class Scratch3MusicCreation { getInstrumentForBlock(id, util) { const modifierInst = getTopBlockModifier(util, id, instrumentModifierKey); - return modifierInst ? modifierInst : this.musicCreationHelper._getMusicState(util.target).currentInstrument; + return (modifierInst !== undefined && modifierInst !== null) ? modifierInst : this.musicCreationHelper._getMusicState(util.target).currentInstrument; } getVolumeForBlock(id, util) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 99da0ad4a..966260498 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -672,7 +672,7 @@ class MusicCreationHelpers { // Determine which of the audio samples for this instrument to play const musicState = this._getMusicState(util.target); - const inst = instrument ? instrument : musicState.currentInstrument; + const inst = (instrument !== undefined && instrument !== null) ? instrument : musicState.currentInstrument; const instrumentInfo = this.INSTRUMENT_INFO[inst]; const sampleArray = instrumentInfo.samples; const sampleIndex = this._selectSampleIndexForNote(note, sampleArray); From 587c85842e0545fa75d889b19da6745c30e1307c Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Wed, 13 Jul 2022 17:36:00 -0400 Subject: [PATCH 108/149] auto reset sheet music viz to top --- .../scratch3_musiccreation/sheetmusic.js | 25 ++++++++++++++++--- .../scratch3_musiccreation/vizhelpers.js | 10 +++++--- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index b10f98bcb..97cdce602 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -343,14 +343,14 @@ class SheetMusic { return penState; } - testSheetMusicViz (noteList, args, util) { + testSheetMusicViz (noteList, args, util,vizhelper) { this.setPenColorToColor(this.black, util); this.noteList = noteList; log.log("SHEET MUSIC", this.noteList); this.clear(); this.drawStaff(args, util); this.labelStaff(args, util); - this.drawMusic(args, util); + this.drawMusic(args, util,undefined,vizhelper); } labelStaff (args, util) { @@ -548,14 +548,20 @@ class SheetMusic { this.penUp(args, util); } - drawMusic(args, util) { + drawMusic(args, util, sig, vizHelper) { var xinit = this.staffStartX+40; var x = xinit; var y = this.staffStartY; var xStep = 45; - var signal = this.convertSignalToMusicList(args, util); var pastVol = 0; var beats = 0; + var signal = null; + if (sig) { + signal = sig; + } else { + signal = this.convertSignalToMusicList(args, util); + } + let seen = 0; for (i in signal) { log.log(signal[i]); note = signal[i][0]; @@ -573,6 +579,17 @@ class SheetMusic { x = xinit+xStep; y = y - this.spaceBetween-11*this.staffWidth; } + if (!(x > 180 && y < 0)) { + seen++; + } else { + signal = signal.slice(seen); + vizHelper.trimSheetMusicList(seen); + this.clear(); + this.drawStaff(args, util); + this.labelStaff(args, util); + this.drawMusic(args,util,signal); + return; + } if (beats%4 == 0 && beats != 0) { this.drawMeasure(x, y, args, util); } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 6946e6683..24109b1f6 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -21,8 +21,8 @@ class VizHelpers { this._visState = {status: false, mode: undefined}; this._noteBuf = {sheet: [], wave: [], freq: [], freqs: []}; this._visNames = {1: 'sheet', 2: 'wave', 3: 'freq', 4: 'freqs'}; - this._visLims = {'sheet': 11, 'wave': 5, 'freq': 15, 'freqs': 15}; - this._continuousScroll = {'sheet': true, 'wave': true, 'freq': false, 'freqs': true}; + this._visLims = {'sheet': 50, 'wave': 5, 'freq': 15, 'freqs': 15}; + this._continuousScroll = {'sheet': false, 'wave': true, 'freq': false, 'freqs': true}; /** * The ID of the renderer Skin corresponding to the pen layer. @@ -201,6 +201,10 @@ class VizHelpers { } } + trimSheetMusicList(i) { + this._noteBuf['sheet'] = this._noteBuf['sheet'].slice(i); + } + /** * * @param {array} note - [freq, duration, instrument, volume] @@ -259,7 +263,7 @@ class VizHelpers { this.spectrogramViz.clear(); this.waveformViz.clear(); log.log("VIZ", noteList); - this.sheetMusicViz.testSheetMusicViz(noteList, args, util); + this.sheetMusicViz.testSheetMusicViz(noteList, args, util,this); } testFreqViz (noteList, args, util) { From 0649b00d1251cbc29ad88e552dc5a03cd2498a59 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Wed, 13 Jul 2022 18:30:36 -0400 Subject: [PATCH 109/149] constraining notes -- confirm with nada about steps issue --- .../scratch3_musiccreation/index.js | 9 +++++--- .../musicaccompanimenthelpers.js | 23 +++++++++++++++---- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index e6ad9d2ad..000b61da1 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -23,10 +23,15 @@ const volumeModifierKey = 'volume'; class Scratch3MusicCreation { constructor(runtime) { this.runtime = runtime; + this.beats = givenBeatValues.map(this.beatsToSecs); + + this.musicPlayer = new MusicPlayers(runtime); this.vizHelper = new VizHelpers(runtime); this.musicCreationHelper = new MusicCreationHelpers(runtime); - this.musicAccompanimentHelper = new MusicAccompanimentHelpers(runtime); + const validNoteDurations = this.beats.map(item => parseFloat(item.value)); + const beatsPerSec = Scratch3MusicCreation.beatPerSec(); + this.musicAccompanimentHelper = new MusicAccompanimentHelpers(runtime, validNoteDurations, beatsPerSec); this.analysisHelper = new AnalysisHelpers(runtime); this.noteList = []; @@ -40,8 +45,6 @@ class Scratch3MusicCreation { { text: "forte", value: '85' }, { text: "fortissimo", value: '100' }]; - this.beats = givenBeatValues.map(this.beatsToSecs); - this.files = [{ text: "mystery 1", value: '1' }, { text: "mystery 2", value: '2' }, { text: "mystery 3", value: '3' }, diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js index 70bcfa4b5..9c2fff8e9 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js @@ -23,8 +23,10 @@ try { } class MusicAccompanimentHelpers { - constructor (runtime) { + constructor (runtime, validNoteDurations, beatsPerSec) { this.runtime = runtime; + this.validNoteDurations = validNoteDurations; + this.beatsPerSec = beatsPerSec; TWINKLE_TWINKLE = { notes: [ {pitch: 60, startTime: 0.0, endTime: 0.5}, @@ -72,11 +74,25 @@ class MusicAccompanimentHelpers { return newNotes; } + constrainDuration(duration) { + const {length} = this.validNoteDurations; + console.log(duration); + let previous; + for (let index = 0; index < length; index++) { + const element = this.validNoteDurations[index]; + if (duration <= element) return previous && (duration - previous < element - duration) ? `${previous}` : `${element}`; + previous = element; + } + const last = this.validNoteDurations[length - 1] + return `${last}`; + } + processed(notes) { newNoteList = []; for (var i in notes) { note = notes[i]; - newNoteList.push([note.pitch, (note.quantizedEndStep-note.quantizedStartStep)/4, "Piano", 60]); + const duration = (note.quantizedEndStep - note.quantizedStartStep) / this.beatsPerSec; + newNoteList.push([note.pitch, this.constrainDuration(duration), "Piano", 60]); } return newNoteList; } @@ -88,7 +104,7 @@ class MusicAccompanimentHelpers { rnn_temperature = Cast.toNumber(args.TEMP); // The model expects a quantized sequence, and ours was unquantized: - const qns = core.sequences.quantizeNoteSequence(notes, 4); + const qns = core.sequences.quantizeNoteSequence(notes, this.beatsPerSec); var newNotes = []; await music_rnn .continueSequence(qns, rnn_steps, rnn_temperature) @@ -119,7 +135,6 @@ class MusicAccompanimentHelpers { magentaNotes = await magentaN(); return magentaNotes; } - } module.exports = MusicAccompanimentHelpers; \ No newline at end of file From c72b2bebe7149739dccf31f74f12a5ea14807315 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Thu, 14 Jul 2022 13:10:49 -0400 Subject: [PATCH 110/149] Simplified sheet scrolling method --- .../scratch3_musiccreation/sheetmusic.js | 18 +++++------------- .../scratch3_musiccreation/vizhelpers.js | 4 ++++ 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 97cdce602..77aa252a6 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -561,7 +561,6 @@ class SheetMusic { } else { signal = this.convertSignalToMusicList(args, util); } - let seen = 0; for (i in signal) { log.log(signal[i]); note = signal[i][0]; @@ -579,17 +578,7 @@ class SheetMusic { x = xinit+xStep; y = y - this.spaceBetween-11*this.staffWidth; } - if (!(x > 180 && y < 0)) { - seen++; - } else { - signal = signal.slice(seen); - vizHelper.trimSheetMusicList(seen); - this.clear(); - this.drawStaff(args, util); - this.labelStaff(args, util); - this.drawMusic(args,util,signal); - return; - } + if (beats%4 == 0 && beats != 0) { this.drawMeasure(x, y, args, util); } @@ -637,7 +626,10 @@ class SheetMusic { pastVol = volume; } this.penUp(args, util); - + + if (x > 120 && y < 0) { + vizHelper.clearSheetMusicList(); + } } addMultiLineTie(xmid, ymid, up, xstep, args, util) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 24109b1f6..f56d5c076 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -205,6 +205,10 @@ class VizHelpers { this._noteBuf['sheet'] = this._noteBuf['sheet'].slice(i); } + clearSheetMusicList() { + this._noteBuf['sheet'].length = 0; + } + /** * * @param {array} note - [freq, duration, instrument, volume] From 8575e0920da11f6461cdffcf8c7d90dfdcea71de Mon Sep 17 00:00:00 2001 From: p-buddy Date: Thu, 14 Jul 2022 15:44:54 -0400 Subject: [PATCH 111/149] updating musicaccompanimenthelpers.js, remove debug logs --- .../src/extension-support/xml-builder.js | 2 - .../scratch3_musiccreation/index.js | 2 +- .../musicaccompanimenthelpers.js | 79 ++++++------------- packages/scratch-vm/src/virtual-machine.js | 1 - 4 files changed, 24 insertions(+), 60 deletions(-) diff --git a/packages/scratch-vm/src/extension-support/xml-builder.js b/packages/scratch-vm/src/extension-support/xml-builder.js index 9ea5e6029..ab8ff867d 100644 --- a/packages/scratch-vm/src/extension-support/xml-builder.js +++ b/packages/scratch-vm/src/extension-support/xml-builder.js @@ -42,7 +42,6 @@ export const generateXMLForBlockChunk = (extension, runtime, opcodes, args) => { const builder = new XMLBuilder({ ...options, format: true }); const xmlContent = builder.build(root); - console.log(xmlContent); return xmlContent; } @@ -117,7 +116,6 @@ const validateBlockMap = (blockMap) => { * @param {*} args */ const applyArgs = (obj, args) => { - console.log(obj); for (const key in args) { const value = obj.block.value.find(o => o['@_name'] === key); if (value) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 000b61da1..01b335271 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -16,7 +16,7 @@ const regeneratorRuntime = require("regenerator-runtime"); //do not delete const { generateXMLForBlockChunk } = require('../../extension-support/xml-builder'); const { internalIDKey, getTopBlockID, addTopBlockModifier, getTopBlockModifier } = require('../../extension-support/block-relationships'); -const givenBeatValues = ["1/4", "1/2", "1", "2", "3", "4", "8", "16"]; +const givenBeatValues = ["1/4", "1/2", "1", "2", "3", "4", "8"]; const instrumentModifierKey = 'instrument'; const volumeModifierKey = 'volume'; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js index 9c2fff8e9..d99ace65b 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js @@ -58,81 +58,48 @@ class MusicAccompanimentHelpers { } configure(noteList) { - newNotes = { - notes: [ - - ], - totalTime: 0 - }; - t = 0; - for (var i in noteList) { - note = noteList[i]; - newNotes.notes.push({pitch: note[0], startTime: t, endTime: t + note[1]}); - t = t + note[1]; - newNotes.totalTime += note[1]; - } - return newNotes; + let elapsedTime = 0; + const notes = noteList.map(([pitch, duration]) => { + const startTime = elapsedTime; + elapsedTime = startTime + duration; + return {pitch, startTime, endTime: elapsedTime}; + }); + + return {notes, totalTime: elapsedTime};; } constrainDuration(duration) { - const {length} = this.validNoteDurations; - console.log(duration); - let previous; - for (let index = 0; index < length; index++) { - const element = this.validNoteDurations[index]; - if (duration <= element) return previous && (duration - previous < element - duration) ? `${previous}` : `${element}`; - previous = element; - } - const last = this.validNoteDurations[length - 1] - return `${last}`; + const initial = {delta: Number.MAX_VALUE, index: -1}; + const {index} = this.validNoteDurations + .map((valid, index) => ({delta: Math.abs(valid - duration), index})) + .reduce((minimum, query) => (query.delta < minimum.delta) ? query : minimum, initial); + return `${this.validNoteDurations[index]}`; } processed(notes) { - newNoteList = []; - for (var i in notes) { - note = notes[i]; - const duration = (note.quantizedEndStep - note.quantizedStartStep) / this.beatsPerSec; - newNoteList.push([note.pitch, this.constrainDuration(duration), "Piano", 60]); - } - return newNoteList; + return notes.map(note => { + const {quantizedStartStep, quantizedEndStep, pitch} = note; + const duration = (quantizedEndStep - quantizedStartStep) / this.beatsPerSec; + return [pitch, this.constrainDuration(duration), "Piano", 60]; + }); } async testMagentaRNN (noteList, args, utils) { notes = this.configure(noteList); - rnn_steps = Cast.toNumber(args.STEPS); rnn_temperature = Cast.toNumber(args.TEMP); // The model expects a quantized sequence, and ours was unquantized: const qns = core.sequences.quantizeNoteSequence(notes, this.beatsPerSec); - var newNotes = []; - await music_rnn - .continueSequence(qns, rnn_steps, rnn_temperature) - .then((sample) => { - newNotes.push(sample); - }); - const magentaN = async () => { - const a = await newNotes; - magentaNotes = this.processed(a[0].notes); - return magentaNotes; - }; - magentaNotes = await magentaN(); + const generated = await music_rnn.continueSequence(qns, rnn_steps, rnn_temperature); + magentaNotes = this.processed(generated.notes); return magentaNotes; } async testMagentaMVAE (utils) { - var vae_temperature = 3; - var samples = []; - await music_vae.sample(1, vae_temperature) - .then((sample) => { - samples.push(sample); - }); - const magentaN = async () => { - const a = await samples; - magentaNotes = this.processed(a[0][0].notes); - return magentaNotes; - }; - magentaNotes = await magentaN(); + const vae_temperature = 3; + const generated = await music_vae.sample(1, vae_temperature) + magentaNotes = this.processed(generated[0].notes); return magentaNotes; } } diff --git a/packages/scratch-vm/src/virtual-machine.js b/packages/scratch-vm/src/virtual-machine.js index 3994e9506..92fa59978 100644 --- a/packages/scratch-vm/src/virtual-machine.js +++ b/packages/scratch-vm/src/virtual-machine.js @@ -1632,7 +1632,6 @@ class VirtualMachine extends EventEmitter { const workspaceXml = this.getWorkspaceXML().split(/\n/); workspaceXml.splice(workspaceXml.length - 1, 0, newBlocksXML.split(/\n/)); const updated = workspaceXml.join('\r\n'); - console.log(updated); this.emit('workspaceUpdate', { xml: updated }); } From 40511497130830b33581786fab251c89c464fe80 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Thu, 14 Jul 2022 16:16:33 -0400 Subject: [PATCH 112/149] remove old viz blocks and reorder side bar --- .../scratch3_musiccreation/index.js | 126 +++--------------- 1 file changed, 20 insertions(+), 106 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index b035c8495..3bd1ae142 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -230,9 +230,9 @@ class Scratch3MusicCreation { } }, { - opcode: 'setVolumeForBelow', + opcode: 'setVolume', blockType: BlockType.COMMAND, - text: 'set volume for below blocks to [VOLUME]', + text: 'set volume to [VOLUME]', arguments: { VOLUME: { type: ArgumentType.NUMBER, @@ -242,9 +242,9 @@ class Scratch3MusicCreation { } }, { - opcode: 'setVolume', + opcode: 'setVolumeForBelow', blockType: BlockType.COMMAND, - text: 'set volume to [VOLUME]', + text: 'set volume for below blocks to [VOLUME]', arguments: { VOLUME: { type: ArgumentType.NUMBER, @@ -253,22 +253,6 @@ class Scratch3MusicCreation { } } }, - { - opcode: 'playNote', - blockType: BlockType.COMMAND, - text: 'play note [NOTE] for [SECS] beats', - arguments: { - NOTE: { - type: ArgumentType.NOTE, - defaultValue: 60 - }, - SECS: { - type: ArgumentType.NUMBER, - defaultValue: 0.25, - menu: "BEATS" - } - } - }, { opcode: 'getVolume', text: formatMessage({ @@ -287,6 +271,22 @@ class Scratch3MusicCreation { }), blockType: BlockType.REPORTER }, + { + opcode: 'playNote', + blockType: BlockType.COMMAND, + text: 'play note [NOTE] for [SECS] beats', + arguments: { + NOTE: { + type: ArgumentType.NOTE, + defaultValue: 60 + }, + SECS: { + type: ArgumentType.NUMBER, + defaultValue: 0.25, + menu: "BEATS" + } + } + }, { opcode: 'testMagentaRNN', text: formatMessage({ @@ -315,54 +315,6 @@ class Scratch3MusicCreation { }), blockType: BlockType.COMMAND }, - { - opcode: 'testSheetMusicViz', - text: formatMessage({ - id: 'musiccreation.testSheetMusicViz', - default: 'display sheet music', - description: 'test sheet music viz' - }), - blockType: BlockType.COMMAND - }, - { - opcode: 'testWaveformViz', - text: formatMessage({ - id: 'musiccreation.testWaveformViz', - default: 'display waveform', - description: 'test waveform viz' - }), - blockType: BlockType.COMMAND - }, - { - opcode: 'testFreqViz', - text: formatMessage({ - id: 'musiccreation.testFreqViz', - default: 'display frequencies', - description: 'test frequency viz' - }), - blockType: BlockType.COMMAND - }, - { - opcode: 'testSpectViz', - text: formatMessage({ - id: 'musiccreation.testSpectViz', - default: 'display frequencies over time', - description: 'test frequency over time viz' - }), - blockType: BlockType.COMMAND - }, - { - opcode: 'visualize', - blockType: BlockType.COMMAND, - text: 'display [FORMAT]', - arguments: { - FORMAT: { - type: ArgumentType.NUMBER, - defaultValue: 1, - menu: "FORMAT" - } - } - }, { opcode: 'toggleVisMode', blockType: BlockType.COMMAND, @@ -504,48 +456,10 @@ class Scratch3MusicCreation { this.vizHelper.requestViz(null,util); } - testWaveformViz(args, util) { - this.totalNoteList = this.noteList.concat(this.magentaNoteList); - this.vizHelper.testWaveformViz(this.totalNoteList, args, util); - } - toggleVisMode(args, util) { this.vizHelper.toggleVisMode(args, util); } - testSheetMusicViz(args, util) { - this.totalNoteList = this.noteList.concat(this.magentaNoteList); - this.vizHelper.testSheetMusicViz(this.totalNoteList, args, util); - } - - testFreqViz(args, util) { - this.totalNoteList = this.noteList.concat(this.magentaNoteList); - this.vizHelper.testFreqViz(this.totalNoteList, args, util); - } - - testSpectViz(args, util) { - this.totalNoteList = this.noteList.concat(this.magentaNoteList); - this.vizHelper.testSpectViz(this.totalNoteList, args, util); - } - - visualize(args, util) { - var disp_type = Cast.toNumber(args.FORMAT); - switch (disp_type) { - case 2: - this.testWaveformViz(args, util) - break; - case 3: - this.testFreqViz(args, util) - break; - case 4: - this.testSpectViz(args, util) - break; - default: - this.testSheetMusicViz(args, util) - break; - } - } - /** * Select an instrument for playing notes. * @param {object} args - the block arguments. From 0375156f2a6ac763feada44ce456ce59a0090033 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Thu, 14 Jul 2022 16:24:17 -0400 Subject: [PATCH 113/149] fixing viz error --- .../scratch3_musiccreation/musicaccompanimenthelpers.js | 2 +- .../src/extensions/scratch3_musiccreation/vizhelpers.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js index d99ace65b..077223360 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js @@ -61,7 +61,7 @@ class MusicAccompanimentHelpers { let elapsedTime = 0; const notes = noteList.map(([pitch, duration]) => { const startTime = elapsedTime; - elapsedTime = startTime + duration; + elapsedTime = startTime + parseFloat(duration); return {pitch, startTime, endTime: elapsedTime}; }); diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index bf20a58b1..12607cfd5 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -208,7 +208,8 @@ class VizHelpers { */ requestViz (note, util) { if (this._visState['status']) { - this.processViz(note,util); + const [freq, duration, instrument, volume] = note; + this.processViz([freq, parseFloat(duration), instrument, volume],util); } } @@ -219,7 +220,7 @@ class VizHelpers { * otherwise, [note,duration,instrument name, volume] * @param {BlockUtility} util */ - processViz (note,util) { + processViz (note,util) { const mode = this._visState['mode']; const name = this._visNames[mode]; const lim = this._visLims[name]; From 8e02c0bc77c313d69e22a009eb119eb51ccacd87 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Thu, 14 Jul 2022 16:31:29 -0400 Subject: [PATCH 114/149] Removing need for vizhelpers.js to change --- .../scratch3_musiccreation/musicaccompanimenthelpers.js | 2 +- .../src/extensions/scratch3_musiccreation/vizhelpers.js | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js index 077223360..ae10b5798 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicaccompanimenthelpers.js @@ -73,7 +73,7 @@ class MusicAccompanimentHelpers { const {index} = this.validNoteDurations .map((valid, index) => ({delta: Math.abs(valid - duration), index})) .reduce((minimum, query) => (query.delta < minimum.delta) ? query : minimum, initial); - return `${this.validNoteDurations[index]}`; + return parseFloat(this.validNoteDurations[index]); } processed(notes) { diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 12607cfd5..4909eb7ca 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -208,8 +208,7 @@ class VizHelpers { */ requestViz (note, util) { if (this._visState['status']) { - const [freq, duration, instrument, volume] = note; - this.processViz([freq, parseFloat(duration), instrument, volume],util); + this.processViz(note, util); } } From bc7a7c76906e7d04804f3161859becd4e7aa91be Mon Sep 17 00:00:00 2001 From: p-buddy Date: Thu, 14 Jul 2022 16:31:59 -0400 Subject: [PATCH 115/149] removing uneeded file --- packages/scratch-vm/SamplePlayNoteXml.xml | 40 ----------------------- 1 file changed, 40 deletions(-) delete mode 100644 packages/scratch-vm/SamplePlayNoteXml.xml diff --git a/packages/scratch-vm/SamplePlayNoteXml.xml b/packages/scratch-vm/SamplePlayNoteXml.xml deleted file mode 100644 index 491c95229..000000000 --- a/packages/scratch-vm/SamplePlayNoteXml.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - 60 - - - - - 0.25 - - - - - - - 60 - - - - - 0.25 - - - - - - - 60 - - - - - 0.25 - - - - - - - \ No newline at end of file From 6dbcc34953ebc4b150b6a963da119b9dee4c1461 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Thu, 14 Jul 2022 19:53:30 -0400 Subject: [PATCH 116/149] small change to trigger redeploy --- packages/scratch-vm/src/extension-support/xml-builder.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/extension-support/xml-builder.js b/packages/scratch-vm/src/extension-support/xml-builder.js index ab8ff867d..d52fb0732 100644 --- a/packages/scratch-vm/src/extension-support/xml-builder.js +++ b/packages/scratch-vm/src/extension-support/xml-builder.js @@ -116,10 +116,12 @@ const validateBlockMap = (blockMap) => { * @param {*} args */ const applyArgs = (obj, args) => { + const nameKey = '@_name'; + const textKey = '#text'; for (const key in args) { - const value = obj.block.value.find(o => o['@_name'] === key); + const value = obj.block.value.find(o => o[nameKey] === key); if (value) { - value.shadow.field['#text'] = args[key]; + value.shadow.field[textKey] = args[key]; } } } \ No newline at end of file From 053587a248409ee455d21eb86dbebd3dde318c34 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Fri, 15 Jul 2022 14:37:19 -0400 Subject: [PATCH 117/149] remove references to 'sig' in drawMusic --- .../extensions/scratch3_musiccreation/sheetmusic.js | 12 ++++-------- .../extensions/scratch3_musiccreation/vizhelpers.js | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 77aa252a6..bb04f42dd 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -350,7 +350,7 @@ class SheetMusic { this.clear(); this.drawStaff(args, util); this.labelStaff(args, util); - this.drawMusic(args, util,undefined,vizhelper); + this.drawMusic(args, util, vizhelper); } labelStaff (args, util) { @@ -548,19 +548,15 @@ class SheetMusic { this.penUp(args, util); } - drawMusic(args, util, sig, vizHelper) { + drawMusic(args, util, vizHelper) { var xinit = this.staffStartX+40; var x = xinit; var y = this.staffStartY; var xStep = 45; var pastVol = 0; var beats = 0; - var signal = null; - if (sig) { - signal = sig; - } else { - signal = this.convertSignalToMusicList(args, util); - } + var signal = this.convertSignalToMusicList(args, util); + for (i in signal) { log.log(signal[i]); note = signal[i][0]; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index f56d5c076..212ef7d72 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -267,7 +267,7 @@ class VizHelpers { this.spectrogramViz.clear(); this.waveformViz.clear(); log.log("VIZ", noteList); - this.sheetMusicViz.testSheetMusicViz(noteList, args, util,this); + this.sheetMusicViz.testSheetMusicViz(noteList, args, util, this); } testFreqViz (noteList, args, util) { From 453b80274cef98984653095cb82e1a03ec11bed8 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Fri, 15 Jul 2022 14:38:32 -0400 Subject: [PATCH 118/149] remove unused trim function --- .../src/extensions/scratch3_musiccreation/vizhelpers.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 212ef7d72..8ba922efd 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -201,9 +201,6 @@ class VizHelpers { } } - trimSheetMusicList(i) { - this._noteBuf['sheet'] = this._noteBuf['sheet'].slice(i); - } clearSheetMusicList() { this._noteBuf['sheet'].length = 0; From 8f62cfb7d01dfc0cadb48edaee54637fa6be361d Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Fri, 15 Jul 2022 14:49:29 -0400 Subject: [PATCH 119/149] display empty viz on toggle viz mode --- .../scratch-vm/src/extensions/scratch3_musiccreation/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 5b4af2537..9c4b8ba85 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -584,6 +584,7 @@ class Scratch3MusicCreation { toggleVisMode(args, util) { this.vizHelper.toggleVisMode(args, util); + this.vizHelper.requestViz(null,util); } testSheetMusicViz(args, util) { From 6c3368da07d6dcbc176e118c7dc94a28bd5b81d1 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Fri, 15 Jul 2022 15:40:37 -0400 Subject: [PATCH 120/149] color adjusted notes differently --- .../scratch3_musiccreation/sheetmusic.js | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index bb04f42dd..7b0d79fd9 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -27,7 +27,15 @@ class SheetMusic { */ this._penDrawableId = -1; this.black = '0x000000'; + this.purple = '0x800080'; + this.lightpurple = '0xCBC3E3'; + this.lightblue = '0x99ccff'; + /** + * @type {Array<[number,number,string,number,number]} + * + * noteList[i] is [note frequency, duration, instrument name, volume, id] + */ this.noteList = []; this.axisStartX = -200; @@ -351,6 +359,7 @@ class SheetMusic { this.drawStaff(args, util); this.labelStaff(args, util); this.drawMusic(args, util, vizhelper); + this.setPenColorToColor(this.black, util); } labelStaff (args, util) { @@ -563,6 +572,7 @@ class SheetMusic { duration = signal[i][1]; volume = signal[i][2]; acc = signal[i][4]; + adjusted = signal[i][6]; beats += duration; if (note <= 3) { up = true; @@ -580,6 +590,13 @@ class SheetMusic { } ymidTreble = y+note*this.staffWidth/2; ymidBass = y+note*this.staffWidth/2 - this.spaceBetween; + + if (adjusted) { + this.setPenColorToColor(this.purple,util); + } else { + this.setPenColorToColor(this.black,util); + } + if (signal[i][3] == 'treble') { ymid = ymidTreble; xmid = x - 8; @@ -626,6 +643,7 @@ class SheetMusic { if (x > 120 && y < 0) { vizHelper.clearSheetMusicList(); } + this.setPenColorToColor(this.black,util); } addMultiLineTie(xmid, ymid, up, xstep, args, util) { @@ -912,8 +930,11 @@ class SheetMusic { acc = "flat"; } + let adjusted = false; + if (freq >= 60) { if (freq > this._staffLims['hi_note']) { + adjusted = true; console.log(`adjusting (treble) ${freq} to ${this._staffLims['hi_note']}`); freq = this._staffLims['hi_note']; } @@ -923,6 +944,7 @@ class SheetMusic { var clef = "treble"; } else { if (freq === undefined || freq < this._staffBaseLims['lo_note']) { + adjusted = true; console.log(`adjusting (bass) ${freq} to ${this._staffBaseLims['lo_note']}`); freq = this._staffBaseLims['lo_note']; } @@ -934,14 +956,14 @@ class SheetMusic { var newBeats = 0; if (beats + dur == 4) { newBeats = 0; - signal.push([staff, dur, amp, clef, acc, ""]); + signal.push([staff, dur, amp, clef, acc, "",adjusted]); } else if (beats + dur > 4) { - signal.push([staff, 4-beats, amp, clef, acc, "tie"]); - signal.push([staff, dur-(4-beats), amp, clef, acc, ""]); + signal.push([staff, 4-beats, amp, clef, acc, "tie",adjusted]); + signal.push([staff, dur-(4-beats), amp, clef, acc, "",adjusted]); newBeats = dur-(4-beats); } else { newBeats = beats + dur; - signal.push([staff, dur, amp, clef, acc, ""]); + signal.push([staff, dur, amp, clef, acc, "",adjusted]); } beats = newBeats; From 60649df4042aa2a7950ff8da9aa64eed737707f3 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Fri, 15 Jul 2022 15:41:42 -0400 Subject: [PATCH 121/149] reorged lines --- .../scratch-vm/src/extensions/scratch3_musiccreation/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 330cdaa6a..78acd9a28 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -742,8 +742,8 @@ class Scratch3MusicCreation { if (valid) { const prepared_notes = this._prepare(magenta_notes); this.magentaNoteList = prepared_notes['notes']; - this.musicCreationHelper.playNotes(prepared_notes, utils, inst, vol, this.vizHelper); if (processNotes) processNotes(prepared_notes.args); + this.musicCreationHelper.playNotes(prepared_notes, utils, inst, vol, this.vizHelper); } else utils.stackFrame.duration = 0; } From a0baa745056790c6faca1c8656a4599377ea2a69 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Fri, 15 Jul 2022 15:56:08 -0400 Subject: [PATCH 122/149] subtract one from inst num --- .../scratch-vm/src/extensions/scratch3_musiccreation/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 5b4af2537..484ae321d 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -636,7 +636,7 @@ class Scratch3MusicCreation { * @property {int} INSTRUMENT - the number of the instrument to select. */ setInstrumentForBelow(args, util) { - addTopBlockModifier(util, args[internalIDKey], instrumentModifierKey, Cast.toNumber(args.INSTRUMENT)); + addTopBlockModifier(util, args[internalIDKey], instrumentModifierKey, Cast.toNumber(args.INSTRUMENT) - 1); // instruments are one-indexed } setVolumeForBelow(args, util) { From fbac896ddff3aa7761ca68b69c5966a1db554eb9 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 18 Jul 2022 13:20:02 -0400 Subject: [PATCH 123/149] clear viz on toggle off --- .../src/extensions/scratch3_musiccreation/vizhelpers.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 5466386bc..a5b6e75be 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -193,9 +193,18 @@ class VizHelpers { let status = Cast.toNumber(args.STATUS); let mode = Cast.toNumber(args.FORMAT); const status_bool = !!status; + if (!status_bool) this.clearAllViz(); this._visState = { mode:mode, status:status_bool }; } + clearAllViz() { + this.fftViz.clear(); + this.sheetMusicViz.clear(); + this.spectrogramViz.clear(); + this.waveformViz.clear(); + this.clear(); + } + clearNoteBuffers () { for (let b in this._noteBuf) { this._noteBuf[b] = []; From 14091b6d172558fd3fd678383d5d7e8a2cb9fbfe Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 18 Jul 2022 13:41:10 -0400 Subject: [PATCH 124/149] purge more opcodes and unused analysisHelper --- .../scratch3_musiccreation/index.js | 113 ------------------ 1 file changed, 113 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 3bd1ae142..18dc15b3a 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -9,7 +9,6 @@ const log = require('../../util/log'); const VizHelpers = require('./vizhelpers'); const MusicCreationHelpers = require('./musiccreationhelpers'); const MusicAccompanimentHelpers = require('./musicaccompanimenthelpers'); -const AnalysisHelpers = require('./analysishelpers'); const MusicPlayers = require('./musicplayer') const textRender = require('./textrender'); const regeneratorRuntime = require("regenerator-runtime"); //do not delete @@ -25,7 +24,6 @@ class Scratch3MusicCreation { this.vizHelper = new VizHelpers(runtime); this.musicCreationHelper = new MusicCreationHelpers(runtime); this.musicAccompanimentHelper = new MusicAccompanimentHelpers(runtime); - this.analysisHelper = new AnalysisHelpers(runtime); this.noteList = []; this.wavenoteList = []; @@ -331,88 +329,7 @@ class Scratch3MusicCreation { menu: "FORMAT" } } - }, - { - opcode: 'playMystery', - blockType: BlockType.COMMAND, - text: 'play [FILE]', - arguments: { - FILE: { - type: ArgumentType.NUMBER, - defaultValue: 1, - menu: "FILES" - } - }, - }, - { - opcode: 'compareFiles', - blockType: BlockType.COMMAND, - text: 'compare [FILE1] and [FILE2]', - arguments: { - FILE1: { - type: ArgumentType.NUMBER, - defaultValue: 1, - menu: "FILES" - }, - FILE2: { - type: ArgumentType.NUMBER, - defaultValue: 2, - menu: "FILES" - }, - }, - }, - { - opcode: 'getLouder', - text: formatMessage({ - id: 'musiccreation.getLouder', - default: 'louder', - description: 'get the current louder note' - }), - blockType: BlockType.REPORTER - }, - { - opcode: 'getHigher', - text: formatMessage({ - id: 'musiccreation.getHigher', - default: 'higher', - description: 'get the current higher note' - }), - blockType: BlockType.REPORTER - }, - { - opcode: 'getInst1', - text: formatMessage({ - id: 'musiccreation.getInst1', - default: 'instrument 1', - description: 'get the current instrument 1' - }), - blockType: BlockType.REPORTER - }, - { - opcode: 'getInst2', - text: formatMessage({ - id: 'musiccreation.getInst2', - default: 'instrument 2', - description: 'get the current instrument 2' - }), - blockType: BlockType.REPORTER - }, - { - opcode: 'setText', - text: formatMessage({ - id: 'musiccreation.setText', - default: 'show text [TEXT]', - description: '' - }), - blockType: BlockType.COMMAND, - arguments: { - TEXT: { - type: ArgumentType.STRING, - defaultValue: "DEFAULT" - } - } } - ], menus: { VOLUME: { @@ -444,10 +361,6 @@ class Scratch3MusicCreation { }; } - setText(args, util) { - this.textRenderer.say(args.TEXT, args, util); - } - resetMusic(args, util) { this.noteList = []; this.wavenoteList = []; @@ -661,32 +574,6 @@ class Scratch3MusicCreation { this.wavenoteList.push(toAdd); } } - - playMystery(args, util) { - this.analysisHelper.playFile(args, util); - } - - compareFiles(args, util) { - this.analysisHelper.compareFiles(args, util); - } - - getLouder(util) { - return this.analysisHelper.getLouder(util); - } - - getHigher(util) { - return this.analysisHelper.getHigher(util); - } - - getInst1(util) { - return this.analysisHelper.getInst1(util); - } - - getInst2(util) { - return this.analysisHelper.getInst2(util); - } - - } module.exports = Scratch3MusicCreation; From 22520f71c5918a0ec0ae41ec9472f1073f4bc329 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 18 Jul 2022 14:57:26 -0400 Subject: [PATCH 125/149] black pen for vertical lines, remove unneeded line too --- .../src/extensions/scratch3_musiccreation/sheetmusic.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js index 7b0d79fd9..d12102f13 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/sheetmusic.js @@ -586,6 +586,7 @@ class SheetMusic { } if (beats%4 == 0 && beats != 0) { + this.setPenColorToColor(this.black,util); this.drawMeasure(x, y, args, util); } ymidTreble = y+note*this.staffWidth/2; @@ -643,7 +644,6 @@ class SheetMusic { if (x > 120 && y < 0) { vizHelper.clearSheetMusicList(); } - this.setPenColorToColor(this.black,util); } addMultiLineTie(xmid, ymid, up, xstep, args, util) { From 789037c6ec1cc129e22d5ab6a179078b73b037b3 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 18 Jul 2022 15:35:38 -0400 Subject: [PATCH 126/149] add setting option to createNotesRNN --- .../scratch3_musiccreation/index.js | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 24b263406..03445c00b 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -56,6 +56,9 @@ class Scratch3MusicCreation { { text: "frequencies", value: '3' }, { text: "frequencies over time", value: '4' }]; + this.createNotesRNNSettings = [{text: "include blocks for input notes", value: '1'}, + {text: "exclude blocks for input notes", value: '0'}]; + this._visStatus = [{ text: "off", value: '0' }, { text: "on", value: '1' }]; @@ -372,7 +375,7 @@ class Scratch3MusicCreation { opcode: 'createNotesRNN', text: formatMessage({ id: 'musiccreation.createNotesRNN', - default: '(complete) add new music blocks [STEPS] [TEMP]', + default: 'complete & add new music blocks for [STEPS] [TEMP] [SETTING]', description: 'create notes Magenta MVAE' }), blockType: BlockType.COMMAND, @@ -385,6 +388,11 @@ class Scratch3MusicCreation { type: ArgumentType.NUMBER, defaultValue: 1.5 }, + SETTING: { + type: ArgumentType.NUMBER, + defaultValue: 0, + menu: 'SETTING' + } } }, { @@ -447,6 +455,10 @@ class Scratch3MusicCreation { STATUS: { acceptReporters: true, items: this._visStatus + }, + SETTING: { + acceptReporters: true, + items: this.createNotesRNNSettings } } @@ -650,20 +662,25 @@ class Scratch3MusicCreation { createNotesRNN(args,utils) { const { runtime } = utils; this.getAndPlayMagentaNotes(true, args, utils, (notes) => { - const blockArgs = notes.map(note => { + let blockArgs = notes.map(note => { const { NOTE, SECS } = note; return { NOTE, SECS: `${SECS}` }; }); - const oldNotes = this.noteList + const includeOldNotes = Cast.toBoolean(args.SETTING); + if (includeOldNotes) { + const oldNotes = this.noteList .map(note => { return {NOTE: Cast.toString(note[0]), SECS: Cast.toString(note[1])} }) .slice(-maxNotesForCompleteGen); //limit number of notes included in the generated chunk - if (this.noteList.length > maxNotesForCompleteGen) { - alert(`Only displaying the last ${maxNotesForCompleteGen} notes in the generated chunk of blocks. Press 'reset music' to clear note list.`); + if (this.noteList.length > maxNotesForCompleteGen) { + alert(`Only displaying the last ${maxNotesForCompleteGen} notes in the generated chunk of blocks. Press 'reset music' to clear note list.`); + } + blockArgs = oldNotes.concat(blockArgs); + } - const blockArgsWithOldNotes = oldNotes.concat(blockArgs); - const opcodes = blockArgsWithOldNotes.map(_ => 'playNote'); - const xml = generateXMLForBlockChunk(this, runtime, opcodes, blockArgsWithOldNotes); + + const opcodes = blockArgs.map(_ => 'playNote'); + const xml = generateXMLForBlockChunk(this, runtime, opcodes, blockArgs); runtime.addBlocksToWorkspace(xml); }); } From 5839010de5ae5d6c0ef1ea2fcdc2e5cf24cdde71 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 18 Jul 2022 15:37:25 -0400 Subject: [PATCH 127/149] change appearance slightly --- .../src/extensions/scratch3_musiccreation/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 03445c00b..f8f906d1d 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -56,8 +56,8 @@ class Scratch3MusicCreation { { text: "frequencies", value: '3' }, { text: "frequencies over time", value: '4' }]; - this.createNotesRNNSettings = [{text: "include blocks for input notes", value: '1'}, - {text: "exclude blocks for input notes", value: '0'}]; + this.createNotesRNNSettings = [{text: "include", value: '1'}, + {text: "exclude", value: '0'}]; this._visStatus = [{ text: "off", value: '0' }, { text: "on", value: '1' }]; @@ -375,7 +375,7 @@ class Scratch3MusicCreation { opcode: 'createNotesRNN', text: formatMessage({ id: 'musiccreation.createNotesRNN', - default: 'complete & add new music blocks for [STEPS] [TEMP] [SETTING]', + default: 'complete & add new music blocks for [STEPS] [TEMP] [SETTING] blocks for input notes', description: 'create notes Magenta MVAE' }), blockType: BlockType.COMMAND, From afa25c2b672d66e2f787a2ce76af37809303bcdc Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 18 Jul 2022 15:49:55 -0400 Subject: [PATCH 128/149] set acceptReporters to false --- .../scratch-vm/src/extensions/scratch3_musiccreation/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index f8f906d1d..12fe12b66 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -457,7 +457,7 @@ class Scratch3MusicCreation { items: this._visStatus }, SETTING: { - acceptReporters: true, + acceptReporters: false, items: this.createNotesRNNSettings } From 1da3feae1bfca120ea2acc73f7146a7054e6986e Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 18 Jul 2022 15:56:44 -0400 Subject: [PATCH 129/149] clear/show canvas on off/on; keep canvas on same viz form --- .../src/extensions/scratch3_musiccreation/index.js | 1 - .../extensions/scratch3_musiccreation/vizhelpers.js | 10 +++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 24b263406..69454a132 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -463,7 +463,6 @@ class Scratch3MusicCreation { toggleVisMode(args, util) { this.vizHelper.toggleVisMode(args, util); - this.vizHelper.requestViz(null,util); } /** diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index a5b6e75be..18aafa6f4 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -190,11 +190,15 @@ class VizHelpers { } toggleVisMode (args,util) { - let status = Cast.toNumber(args.STATUS); - let mode = Cast.toNumber(args.FORMAT); + const status = Cast.toNumber(args.STATUS); + const mode = Cast.toNumber(args.FORMAT); + const prev_mode = this._visState.mode; + const prev_status = this._visState.status; const status_bool = !!status; - if (!status_bool) this.clearAllViz(); this._visState = { mode:mode, status:status_bool }; + if (!status_bool) { + this.clearAllViz(); + } else if (mode !== prev_mode || !prev_status) this.requestViz(null,util); } clearAllViz() { From 6e7b29d952eb0aaa7fbbec9b0c16d94230a6790d Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 18 Jul 2022 17:32:18 -0400 Subject: [PATCH 130/149] add null checks --- .../scratch3_musiccreation/musiccreationhelpers.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 2b0ca15ea..4a8605f5f 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -472,11 +472,13 @@ class MusicCreationHelpers { util.sequencer.runtime.once('PROJECT_STOP_ALL', () => { this._stopped = true; player.stopImmediately(); - if (util.thread !== undefined && util.thread.peekStackFrame()) util.stackFrame.duration = 0; + if ((last || this._stopped) && util.thread !== null + && util.thread.peekStackFrame()) util.stackFrame.duration = 0; return; }); player.once('stop', () => { - if (last || this._stopped) { + if (last || this._stopped && util.thread !== null + && util.thread.peekStackFrame()) { util.stackFrame.duration = 0; } else { this._playNoteFromSeq(seq[i + 1], seq, util, l, inst, vol, vizHelper, raw_notes); From 9d8c10c21c5fb77131488267ed3266f23ed0c8d5 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 18 Jul 2022 18:08:18 -0400 Subject: [PATCH 131/149] remove erroneous (last || this._stopped) from STOP_ALL handler --- .../extensions/scratch3_musiccreation/musiccreationhelpers.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 4a8605f5f..456c75b7a 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -472,8 +472,7 @@ class MusicCreationHelpers { util.sequencer.runtime.once('PROJECT_STOP_ALL', () => { this._stopped = true; player.stopImmediately(); - if ((last || this._stopped) && util.thread !== null - && util.thread.peekStackFrame()) util.stackFrame.duration = 0; + if (util.thread !== null && util.thread.peekStackFrame()) util.stackFrame.duration = 0; return; }); player.once('stop', () => { From 389c1f64adc6e1f0009e44e95f70f449637cd587 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 18 Jul 2022 18:16:19 -0400 Subject: [PATCH 132/149] truthiness rather than null check --- .../extensions/scratch3_musiccreation/musiccreationhelpers.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 456c75b7a..a125f6e97 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -472,7 +472,7 @@ class MusicCreationHelpers { util.sequencer.runtime.once('PROJECT_STOP_ALL', () => { this._stopped = true; player.stopImmediately(); - if (util.thread !== null && util.thread.peekStackFrame()) util.stackFrame.duration = 0; + if (util.thread && util.thread.peekStackFrame()) util.stackFrame.duration = 0; return; }); player.once('stop', () => { @@ -576,7 +576,7 @@ class MusicCreationHelpers { }); util.runtime.once('PROJECT_STOP_ALL', () => { player.stopImmediately(); - if (util.thread !== undefined && util.thread.peekStackFrame()) util.stackFrame.duration = 0; + if (util.thread && util.thread.peekStackFrame()) util.stackFrame.duration = 0; }); // Start playing the note From d251ab8e76ca1d5243a6cfb295501251e780b506 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Mon, 18 Jul 2022 18:51:53 -0400 Subject: [PATCH 133/149] changed display text --- .../scratch-vm/src/extensions/scratch3_musiccreation/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 12fe12b66..e911ac3d3 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -375,7 +375,7 @@ class Scratch3MusicCreation { opcode: 'createNotesRNN', text: formatMessage({ id: 'musiccreation.createNotesRNN', - default: 'complete & add new music blocks for [STEPS] [TEMP] [SETTING] blocks for input notes', + default: 'complete & add blocks for [STEPS] steps, [TEMP] temp., and [SETTING] blocks for input notes', description: 'create notes Magenta MVAE' }), blockType: BlockType.COMMAND, From 0bca7490bd73f5e783c0e7b644cdf7eb6ffe6ed5 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Mon, 18 Jul 2022 19:08:53 -0400 Subject: [PATCH 134/149] updating one check to use truthiness --- .../extensions/scratch3_musiccreation/musiccreationhelpers.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index a125f6e97..7b758d348 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -476,8 +476,7 @@ class MusicCreationHelpers { return; }); player.once('stop', () => { - if (last || this._stopped && util.thread !== null - && util.thread.peekStackFrame()) { + if ((last || this._stopped) && util.thread && util.thread.peekStackFrame()) { util.stackFrame.duration = 0; } else { this._playNoteFromSeq(seq[i + 1], seq, util, l, inst, vol, vizHelper, raw_notes); From 7a0c1eb9cfcc5a4f7e0447bafff6a806bfcb4b2a Mon Sep 17 00:00:00 2001 From: p-buddy Date: Mon, 25 Jul 2022 17:45:38 -0400 Subject: [PATCH 135/149] Made change so the sprite's position is replcaed --- .../scratch3_musiccreation/vizhelpers.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js index 18aafa6f4..6b1f1ff04 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/vizhelpers.js @@ -258,6 +258,7 @@ class VizHelpers { buf = []; } this._noteBuf[name] = buf; + const [x, y] = this.getXY(util); switch (name) { case 'wave': this.testWaveformViz(buf,null,util); @@ -271,6 +272,9 @@ class VizHelpers { default: this.testSheetMusicViz(buf,null,util); } + if (util && util.target) { + util.target.setXY(x, y); + } } testWaveformViz (noteList, args, util) { @@ -465,6 +469,16 @@ class VizHelpers { } } + /** + * + * @param {BlockUtility} util + */ + getXY (util) { + if (!util) return [0, 0]; + if (!util.target) return [0, 0]; + const {x, y} = util.target; + return [x ? x : 0, y ? y: 0]; + } } module.exports = VizHelpers; \ No newline at end of file From 96863c021ee954f2f0c4dd9362c180e438df3014 Mon Sep 17 00:00:00 2001 From: Dorin Artzi Date: Tue, 26 Jul 2022 13:02:01 +0300 Subject: [PATCH 136/149] plays the notes, no stack timer/chaining --- .../scratch3_musiccreation/index.js | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 9b94cc028..4c6bf7339 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -352,6 +352,31 @@ class Scratch3MusicCreation { } } }, + { + opcode: 'playNoteList', + blockType: BlockType.COMMAND, + text: 'play notes [A][B][C] for [SECS] beats', + arguments: { + A: { + type: ArgumentType.NOTE, + defaultValue: 0 + }, + B: { + type: ArgumentType.NOTE, + + defaultValue: 0 + }, + C: { + type: ArgumentType.NOTE, + defaultValue: 0 + }, + SECS: { + type: ArgumentType.NUMBER, + defaultValue: 0.25, + menu: "BEATS" + } + } + }, { opcode: 'testMagentaRNN', text: formatMessage({ @@ -727,6 +752,25 @@ class Scratch3MusicCreation { this.wavenoteList.push(toAdd); } } + + playNoteList(args,util) { + const notes = [Cast.toNumber(args.A),Cast.toNumber(args.B),Cast.toNumber(args.C)]; + const inst = this.getInstrumentForBlock(args[internalIDKey], util); + const vol = this.getVolumeForBlock(args[internalIDKey], util); + let beats = Cast.toNumber(args.SECS); + beats = this.musicCreationHelper._clampBeats(beats); + const play = ((note,index) => { + if (note === 0) return; + this.musicCreationHelper._playNote(util, notes[index], beats, inst, vol); + toAdd = [note,beats,this.INSTRUMENT_INFO[inst][name]]; + this.noteList.push(toAdd); + toAdd.push(vol); + this.vizHelper.requestViz(toAdd, util); + this.wavenoteList.push(toAdd); + }) + + notes.forEach((note,index) => {play(note,index)}); + } } module.exports = Scratch3MusicCreation; From e10cc6b1ca69b8a18ee315ffecc6a0dde97297fa Mon Sep 17 00:00:00 2001 From: Dorin Artzi Date: Tue, 26 Jul 2022 17:17:36 +0300 Subject: [PATCH 137/149] adding uncleaned code just incase I need to revert to it --- .../scratch3_musiccreation/index.js | 47 ++++++++++++++----- .../musiccreationhelpers.js | 20 ++++++++ 2 files changed, 55 insertions(+), 12 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 4c6bf7339..e3f36f959 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -754,22 +754,45 @@ class Scratch3MusicCreation { } playNoteList(args,util) { - const notes = [Cast.toNumber(args.A),Cast.toNumber(args.B),Cast.toNumber(args.C)]; + const notes = [Cast.toNumber(args.A),Cast.toNumber(args.B),Cast.toNumber(args.C)] + const _args = [JSON.parse(JSON.stringify(args)),JSON.parse(JSON.stringify(args)),JSON.parse(JSON.stringify(args))]; const inst = this.getInstrumentForBlock(args[internalIDKey], util); const vol = this.getVolumeForBlock(args[internalIDKey], util); let beats = Cast.toNumber(args.SECS); beats = this.musicCreationHelper._clampBeats(beats); - const play = ((note,index) => { - if (note === 0) return; - this.musicCreationHelper._playNote(util, notes[index], beats, inst, vol); - toAdd = [note,beats,this.INSTRUMENT_INFO[inst][name]]; - this.noteList.push(toAdd); - toAdd.push(vol); - this.vizHelper.requestViz(toAdd, util); - this.wavenoteList.push(toAdd); - }) - - notes.forEach((note,index) => {play(note,index)}); + let played_one = false; + + _args[0].NOTE = notes[0]; + _args[1].NOTE = notes[1]; + _args[2].NOTE = notes[2]; + + if (this.musicCreationHelper._stackTimerNeedsInit(util)) { + this.musicCreationHelper.internalPlayNote(_args[0],util,inst,vol); + this.musicCreationHelper.internalPlayNote(_args[1],util,inst,vol); + } + this/*.musicCreationHelper*/.playNote(_args[2],util,inst,vol); + + + // const play = ((note,index) => { + // if (note === 0) return; + // let curr_args = _args[index]; + // curr_args.NOTE = notes[index]; + // if (!played_one) { + // console.log('first',note); + // this/*.musicCreationHelper*/.playNote(curr_args,util,inst,vol); + // } else { + // console.log(index,note); + // this.musicCreationHelper.internalPlayNote(curr_args,util,inst,vol); + // } + // toAdd = [note,beats,this.INSTRUMENT_INFO[inst][name]]; + // this.noteList.push(toAdd); + // toAdd.push(vol); + // this.vizHelper.requestViz(toAdd, util); + // this.wavenoteList.push(toAdd); + // played_one = true; + // }) + + // notes.forEach((note,index) => {play(note,index)}); } } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 7b758d348..bc2366e64 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -624,6 +624,26 @@ class MusicCreationHelpers { this._initNote(util, sampleArray, sampleIndex, note, player, instInfo, durationSec, vol); } + internalPlayNote(args,util,instrument, vol) { + let note = Cast.toNumber(args.NOTE); + note = MathUtil.clamp(note, + MusicCreationHelpers.MIDI_NOTE_RANGE.min, MusicCreationHelpers.MIDI_NOTE_RANGE.max); + let beats = Cast.toNumber(args.SECS); + beats = this._clampBeats(beats); + // If the duration is 0, do not play the note. In Scratch 2.0, "play drum for 0 beats" plays the drum, + // but "play note for 0 beats" is silent. + if (beats === 0) return; + + const durationSec = beats; + this._playNote(util, note, durationSec, instrument, vol); + + // this._startStackTimer(util, durationSec); + const musicState = this._getMusicState(util.target); + const inst = musicState.currentInstrument; + const instrumentInfo = this.INSTRUMENT_INFO[inst] + return [note, beats, instrumentInfo.name]; + } + playNote(args, util, instrument, vol) { if (this._stackTimerNeedsInit(util)) { let note = Cast.toNumber(args.NOTE); From 39066e45513d042f50cf84d1eb642c699bd305a6 Mon Sep 17 00:00:00 2001 From: Parker Malachowsky Date: Tue, 26 Jul 2022 10:48:42 -0400 Subject: [PATCH 138/149] got default extension working --- .../musiccreationhelpers.js | 15 ++++++--------- .../scratch3_musiccreation/musicplayer.js | 11 +++-------- packages/scratch-vm/src/virtual-machine.js | 1 + 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 7b758d348..153ff3485 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -8,6 +8,7 @@ const { clamp } = require('../../util/math-util'); const { p } = require('./letters'); const BlockUtility = require('../../engine/block-utility'); const VizHelpers = require('./vizhelpers'); +const regeneratorRuntime = require("regenerator-runtime"); /** * The instrument and drum sounds, loaded as static assets. @@ -237,20 +238,16 @@ class MusicCreationHelpers { }); } + /** * Decode a sound and return a promise with the audio buffer. * @param {ArrayBuffer} soundBuffer - a buffer containing the encoded audio. * @return {Promise} - a promise which will resolve once the sound has decoded. */ - _decodeSound(soundBuffer) { - const engine = this.runtime.audioEngine; - - if (!engine) { - return Promise.reject(new Error('No Audio Context Detected')); - } - - // Check for newer promise-based API - return engine.decodeSoundPlayer({ data: { buffer: soundBuffer } }); + async _decodeSound(soundBuffer) { + return Promise.resolve(this.runtime.audioEngine). + then(e => e ? e : this.runtime.audioEngine). + then(e => e.decodeSoundPlayer({ data: { buffer: soundBuffer } })); } /** diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js index 386d4f55f..74ba2c155 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js @@ -246,14 +246,9 @@ class MusicPlayer { * @return {Promise} - a promise which will resolve once the sound has decoded. */ _decodeSound (soundBuffer) { - const engine = this.runtime.audioEngine; - - if (!engine) { - return Promise.reject(new Error('No Audio Context Detected')); - } - - // Check for newer promise-based API - return engine.decodeSoundPlayer({data: {buffer: soundBuffer}}); + return Promise.resolve(this.runtime.audioEngine). + then(e => e ? e : this.runtime.audioEngine). + then(e => e.decodeSoundPlayer({ data: { buffer: soundBuffer } })); } /** diff --git a/packages/scratch-vm/src/virtual-machine.js b/packages/scratch-vm/src/virtual-machine.js index 92fa59978..ad8acff3a 100644 --- a/packages/scratch-vm/src/virtual-machine.js +++ b/packages/scratch-vm/src/virtual-machine.js @@ -40,6 +40,7 @@ const CORE_EXTENSIONS = [ // 'operators', // 'variables', // 'myBlocks' + 'musiccreation' ]; class ScratchCanvasRecorder { From 56bf216c18f07fe8e2828051ef1dfd02ac6abb16 Mon Sep 17 00:00:00 2001 From: Parker Malachowsky Date: Tue, 26 Jul 2022 10:52:01 -0400 Subject: [PATCH 139/149] removing unnecessary line --- .../extensions/scratch3_musiccreation/musiccreationhelpers.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 153ff3485..a68ca9304 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -8,7 +8,6 @@ const { clamp } = require('../../util/math-util'); const { p } = require('./letters'); const BlockUtility = require('../../engine/block-utility'); const VizHelpers = require('./vizhelpers'); -const regeneratorRuntime = require("regenerator-runtime"); /** * The instrument and drum sounds, loaded as static assets. From ebf09063a33816793af89e8f37eda0fe13f693fb Mon Sep 17 00:00:00 2001 From: Dorin Artzi Date: Tue, 26 Jul 2022 17:52:28 +0300 Subject: [PATCH 140/149] works --- .../scratch3_musiccreation/index.js | 53 ++++++++----------- .../musiccreationhelpers.js | 6 +-- 2 files changed, 24 insertions(+), 35 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index e3f36f959..3291a7aec 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -754,45 +754,34 @@ class Scratch3MusicCreation { } playNoteList(args,util) { - const notes = [Cast.toNumber(args.A),Cast.toNumber(args.B),Cast.toNumber(args.C)] - const _args = [JSON.parse(JSON.stringify(args)),JSON.parse(JSON.stringify(args)),JSON.parse(JSON.stringify(args))]; + const notes = [Cast.toNumber(args.A),Cast.toNumber(args.B),Cast.toNumber(args.C)].filter(note => note > 0); + if (notes.length === 0) return; + const _args = notes.map(_ => JSON.parse(JSON.stringify(args))); const inst = this.getInstrumentForBlock(args[internalIDKey], util); const vol = this.getVolumeForBlock(args[internalIDKey], util); let beats = Cast.toNumber(args.SECS); beats = this.musicCreationHelper._clampBeats(beats); - let played_one = false; - - _args[0].NOTE = notes[0]; - _args[1].NOTE = notes[1]; - _args[2].NOTE = notes[2]; + let instName = this.INSTRUMENT_INFO[inst].name; - if (this.musicCreationHelper._stackTimerNeedsInit(util)) { - this.musicCreationHelper.internalPlayNote(_args[0],util,inst,vol); - this.musicCreationHelper.internalPlayNote(_args[1],util,inst,vol); + const visualizeByIndex = (index) => { + let toAdd = [_args[index].NOTE,beats,instName]; + this.noteList.push(toAdd); + toAdd.push(vol); + this.vizHelper.requestViz(toAdd, util); + this.wavenoteList.push(toAdd); + } + + _args.forEach((arg,index) => arg.NOTE = notes[index]); + + for (let i = 1; i < notes.length; i++) { + if (this.musicCreationHelper.stackTimerNeedsInit(util)) { + this.musicCreationHelper.internalPlayNote(_args[i],util,inst,vol); + visualizeByIndex(i); + } + } - this/*.musicCreationHelper*/.playNote(_args[2],util,inst,vol); - - // const play = ((note,index) => { - // if (note === 0) return; - // let curr_args = _args[index]; - // curr_args.NOTE = notes[index]; - // if (!played_one) { - // console.log('first',note); - // this/*.musicCreationHelper*/.playNote(curr_args,util,inst,vol); - // } else { - // console.log(index,note); - // this.musicCreationHelper.internalPlayNote(curr_args,util,inst,vol); - // } - // toAdd = [note,beats,this.INSTRUMENT_INFO[inst][name]]; - // this.noteList.push(toAdd); - // toAdd.push(vol); - // this.vizHelper.requestViz(toAdd, util); - // this.wavenoteList.push(toAdd); - // played_one = true; - // }) - - // notes.forEach((note,index) => {play(note,index)}); + this.playNote(_args[0],util,inst,vol); } } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index bc2366e64..78e115a58 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -645,7 +645,7 @@ class MusicCreationHelpers { } playNote(args, util, instrument, vol) { - if (this._stackTimerNeedsInit(util)) { + if (this.stackTimerNeedsInit(util)) { let note = Cast.toNumber(args.NOTE); note = MathUtil.clamp(note, MusicCreationHelpers.MIDI_NOTE_RANGE.min, MusicCreationHelpers.MIDI_NOTE_RANGE.max); @@ -754,9 +754,9 @@ class MusicCreationHelpers { * Check if the stack timer needs initialization. * @param {object} util - utility object provided by the runtime. * @return {boolean} - true if the stack timer needs to be initialized. - * @private + * private */ - _stackTimerNeedsInit(util) { + stackTimerNeedsInit(util) { return !util.stackFrame.timer; } From 40c43b30c233b7c7acf02ea7f394a08d0647a9f4 Mon Sep 17 00:00:00 2001 From: Parker Malachowsky Date: Tue, 26 Jul 2022 13:48:41 -0400 Subject: [PATCH 141/149] implemented a better way --- packages/scratch-vm/src/engine/runtime.js | 23 +++++++++++++++++++ .../musiccreationhelpers.js | 6 ++--- .../scratch3_musiccreation/musicplayer.js | 5 ++-- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/packages/scratch-vm/src/engine/runtime.js b/packages/scratch-vm/src/engine/runtime.js index 18772ce29..36e913ff3 100644 --- a/packages/scratch-vm/src/engine/runtime.js +++ b/packages/scratch-vm/src/engine/runtime.js @@ -29,6 +29,7 @@ const Video = require('../io/video'); const StringUtil = require('../util/string-util'); const uid = require('../util/uid'); +const AudioEngine = require('scratch-audio/src/AudioEngine'); const defaultBlockPackages = { scratch3_control: require('../blocks/scratch3_control'), @@ -1547,6 +1548,28 @@ class Runtime extends EventEmitter { this._hats[opcode].edgeActivated; } + /** + * Try to retrieve the audio engine attached to this runtime + * @returns {Promise} + */ + awaitAudioEngine() { + const maxAttempts = 5; + const attemptIntervalMs = 500; + const self = this; + return new Promise(function(resolve, reject) { + let attempts = 0; + const intervals = setInterval(() => { + if (self.audioEngine) { + clearInterval(intervals); + resolve(self.audioEngine); + } + else if (++attempts > maxAttempts) { + reject(); + } + }, attemptIntervalMs); // (*) + }) + .catch(new Error('No Audio Context Detected')); + } /** * Attach the audio engine diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index a68ca9304..8f7f80700 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -243,10 +243,8 @@ class MusicCreationHelpers { * @param {ArrayBuffer} soundBuffer - a buffer containing the encoded audio. * @return {Promise} - a promise which will resolve once the sound has decoded. */ - async _decodeSound(soundBuffer) { - return Promise.resolve(this.runtime.audioEngine). - then(e => e ? e : this.runtime.audioEngine). - then(e => e.decodeSoundPlayer({ data: { buffer: soundBuffer } })); + _decodeSound(soundBuffer) { + return this.runtime.awaitAudioEngine().then(e => e.decodeSoundPlayer({ data: { buffer: soundBuffer } })); } /** diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js index 74ba2c155..53c9f5722 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js @@ -4,6 +4,7 @@ const formatMessage = require('format-message'); const MathUtil = require('../../util/math-util'); const Timer = require('../../util/timer'); const log = require('../../util/log'); +const regeneratorRuntime = require("regenerator-runtime"); /** * The instrument and drum sounds, loaded as static assets. @@ -246,9 +247,7 @@ class MusicPlayer { * @return {Promise} - a promise which will resolve once the sound has decoded. */ _decodeSound (soundBuffer) { - return Promise.resolve(this.runtime.audioEngine). - then(e => e ? e : this.runtime.audioEngine). - then(e => e.decodeSoundPlayer({ data: { buffer: soundBuffer } })); + return this.runtime.awaitAudioEngine().then(e => e.decodeSoundPlayer({ data: { buffer: soundBuffer } })); } /** From 8152376c345a791fe1681342eaf1b2777f5c877d Mon Sep 17 00:00:00 2001 From: Parker Malachowsky Date: Tue, 26 Jul 2022 13:50:06 -0400 Subject: [PATCH 142/149] renamed variable --- packages/scratch-vm/src/engine/runtime.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/engine/runtime.js b/packages/scratch-vm/src/engine/runtime.js index 36e913ff3..830698cce 100644 --- a/packages/scratch-vm/src/engine/runtime.js +++ b/packages/scratch-vm/src/engine/runtime.js @@ -1558,9 +1558,9 @@ class Runtime extends EventEmitter { const self = this; return new Promise(function(resolve, reject) { let attempts = 0; - const intervals = setInterval(() => { + const interval = setInterval(() => { if (self.audioEngine) { - clearInterval(intervals); + clearInterval(interval); resolve(self.audioEngine); } else if (++attempts > maxAttempts) { From fa546824ab681946c9c742115ca65ecdbec9d62c Mon Sep 17 00:00:00 2001 From: Parker Malachowsky Date: Tue, 26 Jul 2022 13:52:41 -0400 Subject: [PATCH 143/149] cleaning up --- packages/scratch-vm/src/engine/runtime.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/scratch-vm/src/engine/runtime.js b/packages/scratch-vm/src/engine/runtime.js index 830698cce..e879f0f97 100644 --- a/packages/scratch-vm/src/engine/runtime.js +++ b/packages/scratch-vm/src/engine/runtime.js @@ -1556,12 +1556,13 @@ class Runtime extends EventEmitter { const maxAttempts = 5; const attemptIntervalMs = 500; const self = this; - return new Promise(function(resolve, reject) { + return new Promise((resolve, reject) => { let attempts = 0; const interval = setInterval(() => { - if (self.audioEngine) { + const {audioEngine} = self; + if (audioEngine) { clearInterval(interval); - resolve(self.audioEngine); + resolve(audioEngine); } else if (++attempts > maxAttempts) { reject(); From 4055ef784943d181c9250f7ebcb9d0ec492fa2b0 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Tue, 26 Jul 2022 20:50:59 -0400 Subject: [PATCH 144/149] Introducing sine wave sound for a more pure tone --- .../assets/instruments/20-synth-lead/108.mp3 | Bin 0 -> 167100 bytes .../assets/instruments/20-synth-lead/120.mp3 | Bin 0 -> 167100 bytes .../assets/instruments/20-synth-lead/24.mp3 | Bin 0 -> 167100 bytes .../assets/instruments/20-synth-lead/36.mp3 | Bin 0 -> 167100 bytes .../assets/instruments/20-synth-lead/48.mp3 | Bin 0 -> 167100 bytes .../assets/instruments/20-synth-lead/60.mp3 | Bin 60288 -> 167100 bytes .../assets/instruments/20-synth-lead/72.mp3 | Bin 0 -> 167100 bytes .../assets/instruments/20-synth-lead/84.mp3 | Bin 0 -> 167100 bytes .../assets/instruments/20-synth-lead/96.mp3 | Bin 0 -> 167100 bytes .../scratch3_musiccreation/manifest.js | 8 ++++++++ .../musiccreationhelpers.js | 2 +- .../scratch3_musiccreation/musicplayer.js | 2 +- 12 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/108.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/120.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/24.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/36.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/48.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/72.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/84.mp3 create mode 100644 packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/96.mp3 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/108.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/108.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..0f057f63e02fa9611c0fb3abeec7650c020f297f GIT binary patch literal 167100 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%0AXKZ{ZfH2#0N2#<0LIL5w;TugA|- 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/24.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/24.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b76b3f1c51807dde1f1804ef8e2d7700ea9f7bd5 GIT binary patch literal 167100 zcmeFa30M=`vM;{6I|)e$kU)Si8b$#Dn?XgK5@sYQARr(}KtNPfL{xO6biyE$$|NG9 zhCu{GMVxTh+DrCwzz_+V>H>A?ONz#J69 zI!PE5>BV=o^#jf^rLLP#6yX&g#(->g!F`QpLx;!cul;v^u&6u5~zuxFhY0_+! z_JK#uXP!M?)^c~sh8w$g@4j^W(&TrS2HKV9pMybq2T0Gr(rfO9@BWfDkZAW!pRjn{ zKO8|2Z`X^8x|R%-p3(PIUDW*8{N0j`3FYOr(Z(K8xC3o$D=sclq5-Tlipeook(Z0Z z;JO+y8$N^JZelk?iCG(8x8#lX0Dv;sJPJ4Foybn0!HFK%eQuz=;L)U_i_`D7tkW+I zxjT8^1ijq{j=z8Z{>!J(r#n^;^P&>I2n6gDjGb7(PTsbsgcv)lN}HCx^RdCusPm_Z zVLz1@Z6C2Vby~8Tjd(3+=OdF%cqiSJ2pCXG>Xo^l-#&o@Kj_cB zn=@gM7&=XSO(XtyWnjX7<=Y6|OQ(18Vaa=hg|P;l<&0Gb(xHo?<^ppgnS8-b7J?g` zcadn@Cf{*W&Z`=;()8X7;v+%)@xQB;An<<|aUQvj{|*lPPzrEnfm>EMANV!X3(jW% z+Dknxg8=~UrboA*0s!IOnTMhaT1}DV6)O_aUBXo4?8|j*w4+sqKy^s606zq2V)#wS zV5`ma(NBjXe@fr!zmvk@zuW%It9_^=NuR;s>s375BgwQnli+~)? zhZB`pU;xfDj@TMo`yVGgBZx1rH>N=)=3|#-ol<=x2}2kX8TFY2z}}cX@W*C=`6U5UNabvA>(sVE8ybAVU{^Jh_EV&CAPbI> z3*;sq$wp_kGLgdG>;bf)^(3OtJf~y^74j9MiH?yhp1NnQ0MTye{A91fT?#e&CR8qo<#zy=;9-tDV0;+ge%2KEBsUOIwpH z_A%XC+%q#z6VHj$3c_X&Ucw8_MLHa1mQj;#50f37PaUujL2|8p2pEVUpvD4Cl(RsO z2KYw6G#Ny(LF^Num8)f4a(>i<*_v4sQ=ED-?9?WzeK7tb@mPdqS;*GVt>G0BClWVt zzMdU0I&a!6%ut3a+XaF|4N9lGo1n=$rn_1o4+#$>OLwt(gqD^TLG1ZHgd2){p}5H- zWrPC?4*XCG)CfyY>RLJ2v&%xh|0H0?2@SWd#9&sJ$yM84Fjd2U*xo~W2=$lPq7zzM zQOj1?SSbdd15#ap5ta-YVWyCu6DS5TV4w+h#pz`bAK5IRm;?5q2kO)&k($@+Jfqd@ zcj!KTcG1T<8nvM<_0H;xEutSUcKYD4JGJZgM~#bCzST%K*x{Q0HgspVx8_72p|(R}9n?)9Dx^yoQX{qzn*BDTjqjp#ro>bWl7+f=IYx)P-?fvtMi8L`<(u9V zIcio)^BKz|r&Jk|8FUVNk~w@6dBBEPh>XF4_)G~-DMR>5nV7mEaKjluzX2GbAaggn zz(y)w<8m@oxoiE_%w-g}EzLK#+h6GP?k!&6sy$}G*@khGo_KsRn>XiZK?U#STmAV( zJ;PoFf2bQ&ch`OHo8%_5c7tkja zixI#=1i-Wyw>#UpxAct#gZDJKDC~B3(L7Zj;%VNKN7ZSAvF#oKqX^k^;RJ$sR{Q=g zsfl_Q&sC@+;;3Rw_Mu32)AAo|DePgAt~8xg5kDaz43Kb|=XQ5-3M6%PDR3X}~6UaAo? zP}t0X&L0BYC&Ez^Q!u!q%jD@;Hh|gS!xLHpOC3Y-;3K`NAY9EM$_8&;PH|#U2WaV) z$`#671hSwOpfJ!@4a8S$Zfz2Tv~((;^OCqwlSRQ^+e&)bQRey&GfjKu2vSu2U;298 zGBcHaaqPWwGGcm7;fXJu=3O9PTd)>|U?j%R{*NCCh#L`G|@wf7s zjVbL%9mL`iU&G=?>1Uc(Ju{vMu4P*%srWXXbAz%yO7d)A%Aj-Vx!dvxOJDJ^Zsh`G;(W@+$D`Dgd702ccp^NWJ`5>n&xL`JX)!&mSz+(Q;_nl z>FHMV(++D*(v}L-+kik zti*lE=V8>Mwc2xYi<8~EEFj#vIqiexEls^D-_2b{T;f~r{^&2M_Xxt4e^E+(f0djk zs!-SyW=4`ky^^v97aSi&ZVi#U@5%LuqEOtTe_i=GeOOlDMI)8M5_<+9m4dFZ&@gm0 zhPZi|oF9t<H`%vU3LSaE1 zN+TDFB6-=s$9ePRtDrTvvs)bIgs@OW~;KNwL-p+PQK-%fo^`?dH2BU}})1vqO0g(i;tG{Y^|5rjWVE)_V zvXxHqUaij$;CL8Rpk_R)1hmg(Rj@|8JOZ7@%or*Np#gmwkQw4)M{tg&oWd3+V@}{e z7=+ow0v;mffXGr0cuW*bu~X>&{LIa7t*G{QX`?n{E*6M5f^Ype0+8f z;s^36fX1St?0l#Ra>ooP7z>|$J844j7pc=Sem{S_$W*z)en!N+j^|eIm78zpbYo3G zgs{^yptdNDC=H>Q*QA2ExaMpSxU0-0g;`-)Bp+$*$N=5qp_WBRF%?iX=&0s9&<9K) z0Hs4BiU~*n{$eE|A3-%gR&2O-O1x3u%bBiH%z&S=inoNkanAh}etD!SNo-9zS9kF5 zgTykon{K@!G;2i6E_g7{kK;N^(H60a{0txb7$shAR5Gbug|B=S`leNlG%0JqeGmft zs8=BtJP(us6r%+2#DHrbuz5-FwIv~(+hT+Mj4+{j_Oz?dX)8Tn>)g@5dwj=&CmXaJ zp5H#wXn{(rs;W?|$w^h0v?LVMu-&EVS_$E^6|H_aF?f$$MGkJdl_}}T@_Ws4#Kwx0 z2Ey`HachyXAB6=8v_%w@kq?VO8{l|FVZg6@deE^sLC3_N3$RsHoCTC}J~6XS=hmo` z^Ane^e7<^jxnszsJqvF)$=aB?x!G+nE_aG2O$H)ect?m==z(RCWQ)Z0*Dul(iud{d zt8zYa-Tws+5MSlwuW7RiyvENJgL6p?+W8*9S|>ErNx`5^T_)}1^Z|JDaq>qjHFz)H zzMY<}TG!kv=vJr; zUsY2yCyfv~lB4GdM~SrW-I44Uq{Sgp&M@VXR{}}oK`p%Hl^p1rR)_^}pLjL&@|=l` zw?e!ZlG2gYD2*ym+wSU_dg^Y> z4}Pkms=PH`R#t%o~+*{334~ZeWqmQlj5{n=IY@Bk}q< zc@>I6P6l3lqpk_lNu0l{Y1&KyK%jV}3dCYw5MRv347UZUyhH$Oe3K<%5T@P6uHSa@ z9~&@%A4V(ne!-v~mu;P`2>%HQ{swGRzN43qX0Mg3nDZR{VJDUkB`7b`#Qj8z4m9&<5p zD1hF7z87$+goYDIJENnQ$yw6Qs4zyEVnD5N)+Nw^sZv-I9Oi(|o66r*@4Ae|I-b)H zv6z0r7z)eLctH{CBu&|g$$+pcpnylk*&9>(@bfkZ*T~}n~sQr0CC*A*`z~6~i z2%IccEOyA9K!s|V_|{U4AP`fWY1ubCIwCU_V0*f zrAGCih@{jN0sy&$Phz9tf>LC2-7ih(rq+B!onAkHK6258FlV8dA;3!@H&1~W1Gj@= zfeI!A6j9T{1TApTw0OLmR%;i!(EExvC&N~4S%0-@UrlK>{3Y>zd61d+!hjxC9oep7 zX|ZrdP3bP1NTTMj>2aU$5=t&2|J?Yo#>l%OG{P_dJ(U||^KAJ((7C=TH+i1&Gf)mC z@G~#TNCn^qd~(nto(`%^WT*fv9s}`dxF3McL&l9)2BAgX+l-aPk9gxupP6R2X)Cq7 z_b*x);NvezZArXfRaA4>GERxr8$bxXWxE4>0!sH2SHg-S%>E?gr}Fu8_tH~NYyPZ( z2`p{C56fy`Ig2WuAOb);AM`Rsh@33~0ye-M%V0SN2-J*04Xy$#3cxZs1aO1}Xmh3rn_ci?%=N8Jn51zw*p4 zrmtgmSeI;|70RSSl*6y1J1ZlVehhX2*FzI>Tn*~zg%3r%EHz&aIZh&<&x#q-myX1F z+;1xF)GqaQ=1Ki_C`9Ed0Mv)T5iSOwDH?!H0jP>OXrTz$NEc>_A_Ar<&`$vZ6tn{< zKhe=eC5{$QW$IJsr+TSc-Iq)`)QUUPR3SUwfi|PXt9a#o1Fzk?eMJ8EJMK;5v`yn z-yG2LkzW0Lm_6x?WD!aSs-zjviwcfJg|D*6D4yasYaY;n&7+n;xMR`%J-P$#bj_&i zHM;e`uM%eag#EV349t`Bd4U=lC6wQ}EUPi&{roON#?eRmgj|;Sra)o*%?QJ~&g%01 zN0L0xh6&SME*)}gdiTdyUQp9!osD-sNc#|b> z%T$cE@?7BHcNww71^4D&Uz+B3kOB5J#XU<=IJgU88p z*;eg)y~fQt`6``Vdibc}bZ{0IpmpY>Ef^;)c!9wQvdSvht#fgm)Pm=0SSP*QbbN|` zp69sB-H6tvz$GP_)z@H1;>0%QX_V+1DxFiAI?BTFb4=Cm7W_FkHxaW)M=ph|69ECT z^Iba0_zfk$wrC2aHGN=e?B4{ zvn-~sB{=?l^T~$8k7w?RyLb!cdq#-tH1iNBJT_-SWEwLSAbd*g9%|C=<1lXgWnSMBi_>AS7Ql5e{b z_0UsyU!^sV$OZ;TR9<4{>R1BYW$L^Cbkcj z$LF$z2bTt|_{KXwm)iaS!7$rYHjl2YRxp)r{bg0Q(K5xOE0TPAohHZ8Y0v*>TAA$s ztY;>L{VD@tdnGrKNVj~?xDe4yvj$K}#|w2jJ57k{2>td=hSJXIA2SQJMB1R6@M z1E0e`D#7FdK0htgA$nQzx{hgs8`B8lN=o$?mjzF9tfL(0YocDJ-xRkXw&FZVhIkER zCFWx<#iK#ISRacMQ?YWgXOB;5UUg*YsReB@`(lbv+&Vl%4iLpS;mE ze=`$}7crXL^J&0`MU$CGK`zR{RZ)PMDFanUP`@TL;br~p@V49LRSOmW)mNsNa*yhI z2I%jL+i<)s^-E6pzS(0opS!m3@QWJ<7Dc`byWTXHJpAtIrAF5FbV08bQ!1;oHn?s~ zlgQ#z#ted)!{~x(YxR<*ol~O~Bs@+!9JY7OhnHbDzFj}u zs7)Rw$#{W`7WXH68V0DGt# zhu!5f*zq-cjlY;nqw190jCfd{ci)oCacYv~dHihE_uIW!7;S{zicA?-QXcpO1TR`1 zVCBmzHuntry7-+2;!vl3)o}u8w3zSBEpj*ALXh^t0CM)FT$!vx_C&HA{js6|@ZlJ6 zg0T?fl=U_~ItXDP3t0LSj0-T#(A*7LXAvnUH{`-pd055R<(|PL8iUXrLds zu+;7JO0iF3)Hg2>5a~?!A|)Gie!ORUw)1rojN_^z9;cjZp0Z&c{ZZTC z2J7v1s2J6P3Y3Jn4rpSRk>I2`N53eFZ9LCk(F`FYdi-9VU8Z)kJs$yhJVk&X2jB1m zPz8>Fl6cYxK>{USum_MqG8v`h@a&ql%*He3FfN$k#P&3zl+^U)y9*~za+(wh2lm{$ zv3{2B&nos%z7vkJ zXqX#IS*F&b%+~1vD8mDrP6I$p!A!+Wpvwf_K0#|l7GXWnVrvTJp@fpe_MYzR)e)%C zelY!Tftl#S_SHA3-WS>x=Uqd#emsB5sjTHA$$HCoRlJ%VJr{DRwNRqRIjT&Bf zupG)>$&&L7F~?%D_z0LzL!9U`@dRK+gLq13)gWvtpua*u4@^R?0`BB8!xlsb;uJAM z(z|$>xF+164ZrHnFKbcpelvs9m0F#-@L(QaYR5Is=sK6%SME!-eHs6RmhrVfU4N#z zFK6l7FDGitW1kf|M(1o9qSnS|Qg|K5yQ((C6N9WB+phYWmKJ#{o}t6*hl?)n<<8AL ztT1zaB0qy+r(Y9w2nQfUw$acQJ=gI!ZbWy@(=p|MvZQuz;4CQw=(BfI7lrrL6R zDaK60J%vu)DuVkek&|iOm3z$R%|Cc{YZ|BVY0wd)jjV-V%C5bUO>Ug>cxd45){RPP zQh+v1^^>QbxTw8TVMJ9RsiaHfh;>3C-~V^zhf<&t6Wr6kM9WV<>2FH24p$McHXM7h zTiB>(()nqt#rP*qbTrBBDEg*#iJdaykB-I%jj6q@vnduZ#K2HwB32HIo#+oi6Y}nD z;(e7+m3IZIakjD9l~0VKG8ziA)F)ajNSOWh$d=3tK{4c$*Q#@K({*LEy(0eW#1-EB zoca(oD}A>hN}*Ys|HNkRT#o67>d{4I$CKx2c>aEPv1;jqr-v6c+2)@Ab@R!qSFYZ^ zkaYc^YrCMAH((WFWuTssUKMp;wji-Ld-Y|jP0D*)uk3RUOFonN!9XD>*BAFBvc->b zmP9?2-ig+tRf%Ux-n%JRO83$ID6j?))0RVy6g-i01`;bheRRJ~w^{EgU%w~(Jjb=i zrJWIE!ZJ|AVcjr>AS*{4?WwU{Ctvv{>H>;+L+Du{?za!{tvcfpa?}D4m=8-Xwwk(W=G+k zwj3zEH83N~z|q92a062oG;OxR4U)7wejiT!4>t9GC$}SK{}Vaz)286ech4kk3hUkI zO$wXB86jVXv?+Y|9JLyBV*mo-J@~^DOdmJACX3WqQP`gT!fKc-7!Ng(o!W1sMN4pyzix zn;!2(qGw#Mc0L;z^)SUwWJm#zCFhW?*D7U*oWcOMQa?Yq!7*%fgl0&8D{nXcVN91* z%@dcBv$J${pNV?f_MSTuH`@GY6YtRAxaj*I&ENSGOF0@fx<^c z9GfMpCF)y#X(V0~#P;E%#OxvB#;|PSXdeSa-O*G&rOXXS*fCse%3@qyc@#o(f|^KY z0wshDyGkUju_2tOZit+W$Y4yYi*aFGrCewIDSeFh2vM~YKT|po2ZPKFO4f(w@#pX< zf@$pcnbtOA=BAceO+>BlcQ|`mu%t#_e{ zFu%yo-m7!8Cn0QDSYET8Oa3jGMl3u%w7|LVh4=Nnk*^67;2TKy5TEsn zcWsp9=&C0g_85zyYeW*y)?|Oz@`A^kIG)-QmVCi|5TBtewkL{0|S#1w^QW6 zXrtKGYuRLf^9`pRliA5U@-nzSXU0Fh`GsxBnA0!QWN=!=aJth^z^e5EYhL*q|qkPc)?)C9YY%Wn5T6ugm?>?6b7@QzGNW zrKT{?Oh0h2BWq}A$K-3jyY)Tk zhm8_^F#Y+m)l-*~vO<VZ|GQm`NO!$MJpz>o?rAvG9{ zjOnqmhjK7;(3Ob9qhbWGX~3w{B?N|gMXfXRpI5e+uZIOvZKd54mj~6WP;Awgu@aZM zUi&z2_F1ekW{=)vuch~HJ-iU{NYtKYh@34=c{e+46nFj|r9%6m;a9^``IDja%=QP6 zOxpffm9DQ=H+8pm@zZJFsU%0YQ#3bQ*-yM9 zX`b)Gy3k#v#~i;>1!Np!@^lTVkCI!X`XOhhH?w3>(mdz&O!rr_6=V#}uWH`q;n`bV z%Lp-|X@K$Ov@V@9uvn>wuy+ut2)GsgC8>H;me8YUFxQ=d4Q_XP^*Ngi%OM};Y z8d@c@Q2+UU_q~2S_nj3ZjtGC(3;$Z1Kkba}yzhu)d^KHxNNQ#u)>3<%BR!y1)%xuK z%2I2MdLfDt%*&_CM)#-ynt*Rx21waK_!`ZQCYqLkCMLnbNoRu}eEVf|wOR+Al_~5^ zO{lFl@u-+-IQ2@mCF@Y%bdT0g+Yl<%Sek`Dbd^U51A%#u@{!XD0r`|hE?y9R;&sYu zVe^a;eX%<@3cxwu89bXV*rJDXQcASo` zpy_jzXAB88luTaahp~aYC_(9NcKKea;2S8ynVC z@va_|#CRAv#c2Og1fTfr&@mr<8jACYd$TqPJpAJf>pseuBkn?3< zyFRE!(nZTpPPS%4veZg-b>19n0>ln*DyVwMNg4 z7kMmIRlVyxufzlA@V3s4?!T?rIMMsly;Qc>RJB7h)Yf-G1F5%wXc`4k@#8OZk*v2C zL?xoWOV&B@>xt%d`OGrbswpi45lDG zU*IrqtG}(6MMhRlxKHk`mdB$_A6<40kD0CCwNQ6&-g*)eJoZQ8m$%2>FMgo$^iuU4 zG-_(9ffX}-CRI3Vm(VZB#V_!=q#)Q>^@xg6tfWzQ%29GWnWpI3MCkjrw94||^}BPQ zYvp8R(I#T!sZkOcElP5T%%tW8-@;hX7i>DPBR^;cpf!hUkW6v_WRAApT4qj?(9Lw5 z@q_Rno3oY^N1NyBJ~VE5;_7!TA$%%{RbE=O{?g`4)l1nsr>@n#mCkr4f94mcn_|V> zPQs-P>eAhTEa?IEil+EU)+*x5f1Fl?UMk8UZVHt5mg(V2g)JRe)G`o5TU(zXh&H6s z$e2pfchMKPu^0j--l~VNN#sxepcv)i$_OZfsFXy*67f zxn#jHzFagT_uA{ir0zn$-c!5wYM5>x_2ociYNv@C>+V`j%ge;mUSDmY&nnmF#HZmy z5mcMI!7I`f1P^`vz8Zlm|Bw6qe|qB2k%BJwJ0dyHrA&cHs+7eVjw2DtgRJT^-x0~J zRl%$Ym2i)0BHCjppWP~GE@OgGWo)q>Bv7RQW>L$tE;nnAKE;-AUZiw!l)fW7>^qmTJ#Yrg%ci*^C;=yY**PU~SnpJ%t<%WBA*KiTWM;Rp@P{RM5(V2k^;|K0XiR z<33P08?sMpv|2EB^8^ufEp9GOlY<`IBO{0uEs^;z`Ll{B>ZAnVvm6KD7|P|{Z_vR8jr_TjE>%Srad93e?Lp_4Mg1l zQH#VOW#$}bMuxEHK8G%UGdnNsKRmxj;vWA~2_O0Lzs!LjN`baYfk^VfMFk?+0o1T! zjs=rQPzqj1lmF(&1NtlqpWcenHR(pDN%7(qMntsZAcvctHjVMo+!D60)h!4+EOz(1va-Mk?CpEXMF!I^niO0*DBAgQDj<+LZ=VOmA_3F$IITy2& zNY+t1+3gsdTNp5%jQ%)6Traw%6*SuW_NMQbbD9Wv7BKgGY|!-M{nr9P#zO%}Ia$Vv z)7&VF@<=ZcyGfnJQaDWP1MI~*pg?Sd`B}ruFfO2@;Kp`W?tv5gS{5`aV^TqjmLHm7 zo8mD;;8i}6zZ#N0dd9TVkvhaOG&H-B7)oaMb<0hgYt)wB}@SAXQG6jJIwB=+(@k5XdKRo2B^DgCWYu2&OgZ4e{ zGX4XXDz=l^B%3`>E)#fU3pl+zrVe5TnMBQV;aK8V z9+c8Wg&O8Q(5$ZVAf{JsW>;wF9#=}(LI1eIg)NN>_NXWcD=o5_5QFL}=*^xU!gMrE zaWtmnmKu&bo5QgV@>#ysXId#KwO8g(js;N^)c$}rrBCfk(`*zS&Oo5{ z;(=aIJYU#j$u?wZ%NRYXY*o^%qtQe2Q)3}=s!%{RHsTblU~REpU3}2<*@?*$Ob3#W z`{?iY)vVn{X*S(3S$e@aYO>?A&W5}tP7B(4Y67ZzWg%Xvrs*zqj#dS|jjwMF-y?1M z1y@UeZB#YBN$!Ak{R-paHbSvy1AI}pX=C$yc-?2>FUaq zCEoI9$)ywLmXGlr&xrBXT}>@dZcABkH7`i(PU6+ftzNr4D+NsjpS@|Be(^y@m7(_z z4xJ`5X!HLmf;>{`e;)^a+7vuSeMcm-+xr!WBroebB8jknAd=HmMlW{=X$wUMUDu-( z0vHVfnE*za@O#`6l;El$Pz=2TD4ErS1(~_g0o6&l@wci5L-W!652oDT&R2rwQb1vicK$@}KGz30L_MojxNRsFVQfZiGilaD{#LisAFfoB0H$RAVc0XPr= zl(L!42VA-B!6mtMDPmenI&-13lH-c8ef_=~#*gT= zVMevv=WMGlm{Z(wIplcq@z~e9VGLOSvhDS-CW|Sru z?*$Dsg$YF5LP9enkSeDGun}_viMMf_3qoLQx}IABgj4ATgoksd11)0?x(%S8PYw^%fB$@Al+`k+YWV6M4 zbi|=8VW&p`%Ktt!@Q*e9R0?tnGVhWcR8Z+}NJLVjv#DFr z*47gAkaRC|N+p6VOlM`J)>SyitI)Wv(&eywiS^mA zIJ>tCs@wSSbymqRvqe`$OZDXVCAvv0;qJQMZj`OKtq3TMB()n6Ivnyfs;I@fJ4=;S znOUQ`KoSjFrCxMzY!FH0QC%Ss8BCo*c?(zNWO{7Vji)+<1qHmL3g$j#-16!3^|^j9 zwxrSO@!B^x$o}~g2izWv>YPfnnNMz44h|lKl_NSkh-kHPYsJg)XZtF06YbP&>S$QhgsVJy0$SP~%&4&PB*}bxA$lrx# zfd0{zKX_VUn%jF%Aqqo6=u5?vTO0bxFp4`sNAel=$5hE@zawNvzLv#*NxDZp#my9^ zaGx9LB+ki;mKt>l+;q(HJlxka*ro?(O4qATZ?@XycXpD#7_d3IT&~#4LeO4o(Bi-I zyVKr>6N+Yty4DFF9dDhTn0n4(^r17$Y590RHKp|sv##|B+=VX#TwDV5aRky=2f1|q zGCqXKAa#uA4B#lzp@D&&Gd{l|?3(%&-*HP9y{WTon&4$+eO@j@h2 z^~BcsN^D3(XG3J%1gDixmr0e>0gnkd7Ernjn6t$&yNp$3-EwWOzm4hD;E$(urQ48X zX;sgGTK9?C>5mc}xnJ8?J{NgfSnl<)IJW&naQ&W$-+7Bd!_FJLp8CQj_Ls8dU(;-6 z@89`CWziAz>8GimtiE)>S^2&P4sLmVdhZI0^_q(VSA3neXK3bdI&nU2B)H;#xbObc zn)_)}&@1rFB9pOIC(#GUWNg|k$Mg+IrSM7HB%M?W$omX4KH4BiL*Cz^VWf8(L|Zcl zp<)a%%E87UfDibOnow1IGAz^1TW#Z)AWpKhUx2-*7iekJoZ@9Ta~wHu4}ad6m5`7< z-E~}=!9#10LKiF7E%ijfyJ)Kr!48YB!(XljyeWJ)i>vm67@q5kXqp#U*hdn?zTA?2 zGP!fFd*nS5j0}EeLkT?U9=Ije^yQHiHiffDP;I{=8bH3TAftw+>7^!Lw+-v1L3Myn zCJ_@iLDn=FrHaKAK+!LyK{u7KK={p4vj&xXRd;h=)KH=hwhhBCGhbR7wgS z2ET8k(>m}XIF*c7$MM~yGSY_1a0qze0#Ff;90Vz#8aP7!Y*>K9E$zFV%LF=bwM_T=gqkG^|!vn?30$R zTvzn#xj7##UtB*kl>5Qz@w(1m${zpXyv0rxkCIV+%UGaKCG-krjMqz zo4ET;$^Ipc)T1Q%2k|G#h(Tk0wLX{g5QDD4(U7*L>peguh^v8GNM}{8%MfE{^m6K<{avjA; zp)DM-P>d92I7S$bBhiO5c_buRKn6)x;h$Nhka^F<#HIO~e1DO0!4wu#U?8Hhl_fx< z#&4Y5&uE^b$Z7EgN1f%YEO|?cmzQ?<{o`Eo6C#UtoRD^hK=i|rRd zeGf+mIG_Ab_s^|+TDnJ%WA77|8Hi(PV=noK%=WAVA=4!Uk>1EG79 zkjHlj;(M$DF^K&aZ}-U0M>z2R%Yh#Q1={={SzCJ)h-42?X@FJB*uh8NtBu}kpS;yV`$ArA<001GiG0J>W#=OkIG zYKeO3kEN3JZ`FGZ8)W05^nIY8r$^$E1E>d(ARq%IqV{C8CkUq)4@R}9l5SednV>8; z+R;Fs+`+R@wfrt_EHVmE5#HTC zPJLd5t5-C2X}{sju$X7|eq*<3i%vh2{aO&-b*J}u%!>I%WQfI98=AMKtlWzn0uga9t!BS(eqCGsO!YO>K$dopd3tcDGHBUIXN~}b;61_jVsoc zE*jY560-e6;n?I?XA5@Xm76!5I>7VbJgN{#JABZKI?@Lu@_C^Qjs3WZ9u+O^5+_M% z;vLX)aRituhRK+36!Q{OFbfl)9}jVRM5~@fyITKx8+l~JFJ0ml;FEvxZ2o@9nOCRA zZQS2{VV!2YkH)EHvsc@1zSa25wLft5x(U5)a&b00BqvU%9R(xhU&eu-N`d0=9g)Pd z;uVObDwb(DlZ=tgRWf!eJ$z0*pIHkW}~IT3e-gsimG6?98d-${rE(P z=S9Xyenzf3Av^dMPp+6ybff4VN~V1M5WhNxTiE9Qh^IzM+seg<-IIGl#~7~;o%MTr zbpCU_MNI-7B}^8m17)_=V7b7nB}QIWU!>77liOq!zS%yoJZSTdtax#5e87V7o0D!g za%Kc~Wjh+EN+o^;eoPp~GF$>o( z)tbHQuOjiP=}L9f<%}4ec8Y~&F}MleXEQMV)O@6XlYwnS)vzfJ*u)3$#>K{{u$G-6 zPI7@dGnrV4d;Q$Z-;>y@kJTy%&K7kRHILrBdCJT278fgzoS;AjDNL%cfERA%MVC?X zvSu)Hw;D}$d*cJ|>Yiohy(=`dKQ4=2n`vIWV75&|EBA3icDk^)-$Ii?1v0(`-ObF{ z%gMl5lR;UJVY_@7UWXjpcUPcm>MExZGZn^EB|l^^CGDL~na)-EBUKYhKlL5Lf~uij zFbmQLK+Y2gjLINB6-&w7j|#U3o6yPeOm!`Fr43uPw1iuf*G7_A7k;F+BcA^&+WeRGf{}**fdfD7j5T^5 zng5HuH-Tzm>()i9QfVPT=tCbu2(3^wA|PUD1?eK9BBBOF1Vuzdw+%`q^o{f?AZlm@ z6-C9~tra>!Q9-cXx?sFy zjmUT}M8*&gbs{e@=9Hw_R9R~ zU_+KE+f$9~U*xO~tHylja-Q`E8N>&c$Z`Txz(aAOrrYMaohebyi0Wx}lIV$uSkXXY z!kkV4`)V;vgyIw+0Q1?~@I5J}YZmgOqsf@hFeS6tG;NdXt`IH5M(1;{)cp2tJa|W< z{rbYH`(3Y$*(wAP$Bh@&ty;xbb||n+t$EbEa<+8rGGHS4B6||Q0*|`~^DHgtv(aMg z(`#}ior$uru{HvaPU1s637wz|^0^V%2jQVQJP-(AWwH(3K$aE}?jl2;_SCaUL#SLY zyx2Zom^_H^;taRtc;1S75^KjB&oEQ&yL#mv)y-C4u=VruJ1KK8{tvl~|JQx`>%~8C2BwSx@hx`}k=$3?B|{|D z8cs50^-#MsR=}VhimB9@^qYdF@@jhIsArxEiunVr(;hjVSr1`UnNDUX=fMn$NUWNV z1qu+1E1+T80urV|fb^g>NAsjQPYzQYSGT)_U#rNE{^Zhcf8Eai^}G|Sb+mtX%{+Yj zP0{q<-rc+X=1l>6_2}c{Cr`L+35b68?BeDRnZ&_C7S)LjXpoZ_M3~MXB20`ybrrik zoG+a?2$nIx*Fy0fb~R^X&gSx0Xo@(3qBMd41H6U7aG*dF%K|QKo`8zEs6&-Wgbk1` zYzJ}}`XNiGkO2)NOOsZ8eXJ1b)V9#@>5K4z4Ku1Y5oKQhKG-(S!m+Zruz5lq$wpQ~}0fwnLcP7(wyr0qNLm zFggIR-Q3^MM~{6%>+vf*oTn!i`YWTRd1|;Dpm~PrbQaqm!Bl(TLb_sdnTmRGhK6pt zS`WQPtqnTS_32jAY4xY|W;yj&!;e=C_|g1c4PM}Z@{8;%AxT3=<{GQ!&bfBtaDIM% zUcs(e>$a@#yY>9$to~JdtYQ!Uw(`h_7s3((D@L0XZmNK=4u>cZ#D_t_hWMzJT$wn0 z?uyXg&t5*VL^=^9ok)Fo$lgPHv-<{>A@gUH7}k8Eznl>XWy}Znp$9^xmOz8Vk5CkX z9N-euqpH#~ZAf;A9SH@(aI@?WuT9_Fm=oD}Vvl9?DV5gX@v~OF`f{S`^|$q$EL5^R zpZ0xtbLd%3O^wm>pe28XCncTRa5L%t^J^8WAKhQ$a!wqDXK9m#i{ubqm-%gk*8mQz z28&!#y{V>3*&XY6>(@X7w*=5-{R0=pzj{}HdkUfIAkG+puOT$NPoX=il%=bvf5Hg! z8P)C}&PY_c6EWVianLr8T&R;LFV?4%dbQ{ToSFvGgP<-wzIty@v%PfHnw{Q@E?BJE znPW(07Nm(_pSM~krVqzPd|6tn5ZVwoH_3Cev&&L$Iy0hm#KFo^0GYNItlqx-_2lYK z0ej|@SO37SrYl^0=^%goi>-6F#3t7550H_ShOQ+r(RG*xs>)jrcqjcpMA8O;EhKr2 zbHSidyRB)f;9lHj&n#yZnvl1-tJYi#cDtqQiS^nO!Dg4yW-EsJ2J;U>AZez0!kr|jm;jPeJw>i z;PA2Xp7o4}U9U}u9d(pAke$Vlv`__-OHe2t0Jr0FU`yNyYR9KTYF1G3n;o@l6iyDe z$p?XM=n8-=*=*>67uyT!?louLqHeZ;NYtgTX6C06EDjb*7#8M&=~z8o(#FKg#qbE0|hhJF0{YWaKMBAj2mK z(0Oo9;tlEm5VaD)8XY`V6iSg^LKR>+B@p`7pexH3EK$TZQqLQ8z z-Ifu;-QcvSwWtJ;xS|puiu8TFMXf?k_KGIHk>0y1I!UV+Bx=f{p+7z;72#cvrePh2 z$vzSb3cZzwsNv(pi}-J#Y>NsD@a-UTlmN#$LM(=21`yMX63dYxTQZafLBZ5H#fpv? z?P_U^W7QkqP&G+S%L|{jKTUS+IjeMX=pD}Jnf62Uyw}CXcz=%Pi-wvFN&Q9Vau$E{ z`or$iuC>97nj(uYEj0UUMSNY)+JP&lEuJT5wRT-IVi%kH_H|JVW4p|~BCmzy-#oc! zRov@}pTLH<&O(L~Y-jihY*tH(0WU-wS_pNZu0m^655EW`hC@MmmN8)RU7`q4iAWV@ z3*9#*2r;@4GXfR&BITjfd=??GPFvA*o615G8uQkv82ys{eC1!rn{P8miFWcStaC|9 zbl+9gMNWrIA3m}lijUmAW8S8opT=nTiG9t8+10>yv_NxoQjN$&111?KVQs!;^No0)kCZcBFJ5u8W~S)T zGhA>_pNlypRc9c5&Lt zJ+?l{XH&#?FNGxsU3KLV;c@>_0rs^c$$+{b0>eqNHm0461 znO=a>2!+lvm9V%n4S`J=QLJ1>V3Ev+p3U_YeeAJ7tRn-(p~Ew{N_8jHJWt==uiII& z={_Agl&A|W9 z3``jXG6(2Gf!w9`VxSMz11V`tu&CpF z^c#4d-AwjLKvzj_APA52VGw|lvoZ?FFs25c%UE`lzjOx6sAK~+)i$=i`#`>MRlabyo|Q=bdcW6iCRsMh?3E`r{5*17 zd4sK>r#h-YI9Gz#k0x&ZO6hLB5OTSuGoPsKBn#5qI`z-a5Q$tVC>R;}Ea*2jv5g%AU zk}a#)Y=VXcT;!-nCH>=z|&PE}UnE-{(?;QBmGJ1+ey7l4h=`&W2$K5wV@%$7=R zy^NyfC#i-RfH60z+gkMiXTsMSya4UztyP->R)?8a4=*KI)!kYJ8P4s3^ryej)Y|gw zCNok{#?&7SDVxUITBd?or$cgJw=)-oajGKNUyz}|Wwlyw^zRtQCu}N9w!Rda_BB0M z^WudbwxZ?pTj!tKrb}w&Ry&Lm1~# zgHJ$|om#o$t>fNL0vmnp08g|6w5#15dd%_OK>G1m<_;dRrfTKw^2@IFR9e4 zH;{j~+tAf8vg4f-J=XH+$LBjcPcBfodWG_;K;_c&-PW#-YsbhIs^6YZx_IZ=+y1y%Q8kK5gfol|hmLh4b{SpP0ZWC-)Tzq(aawwBo{c0j4$iIXuUiDoBS?l0(S+Est`zQxMeldKVuq_`)9>EPawy3#zy zvSD6;8E1ZIaqN*!yTy5Hqo=R2Id%oyVn1Z}*-x$3EnBsi?LW(CaI72#3C?4DK`;DS zuu(+S1Y30h)PtJ>mM1o3id#Sp)>OUufe3xRfPW~Jr)8w>q0Ny~*^o)V>a2Mx4M){7 z;@2!#vTy9x!|;xWW2c)|8?0Yuh!ZJkJR7D8+k}`g$GxMyniEwQB)7-bGq3by5%;R` z{lzW5=hW_p#T^=2c(s3J+%9lAg-H@YceFWO$1ue0#4az55Yzh7VzVQ@_IFlj9qDv9 zseP*K?lajkNs%2=k#E?>`C7f4eyYC)LgXpTCzMj2!CAx&P&>g0VnPewi&GM zS-Qjii;9_1A#V_mLj#4WQE9`IRUa9@4Eh3q>#tIW|FXsZ zA9XyH(1<*cL6U>eHV*(vUWBx6O+u2Y&XbTNVb=P+hPLb6QPjx205#@4P(e7j5!8i8 zgMF?alz>A}@=1Y!0!kBMm5qF(;zOr0EN2vy;O7h)+Y_}56Xsbhn}(ipIw8r{dPDoO zwLqJ$&{6z8LYXA&jU#w!aMaC#lpvX-?&obdz9eW|Mw0q(G6~_)UH*G}^XSyxnjRY8 zAr0$Bskkkwg&CtNxGoAo2A21ja6d$cJoklAhYmGG{eBI~0rhI+aQl60UVQZ{LB4wemPlY;xQcI@s4T515%0Q{@~8J(yC z=~{Ddb@JLCQ%9BTjwkS16{ug8mL~W>_yK5$t~{uVH^Z1<5gbSciM%X<9+byIuN6Tk z9ajU@PLLrpLyHStM4Xg+A6V}i&=}NlVTP>qpX+OTlk`QUET8hhzT9P*+dI{U2bwUX z7i;;X@X4ShCkwt=}!?JawAyj47VeircH){4Q`$**VKCIZtcyNs-PUmogw|pvf|dK5Mi9 z`Z!aQNN4pHU}JZQ7@an%$dl;9J@OEfOiEB26rfNs8SbUFBJ^_%z-JF=TjeliJ}F7}4r#9~u^e5#-Yjb{#mKj$V@UtK^UkUS27IUZhStpbp44(h zHZQgGD%rGg&AQ})LyJu4`3HO#a9&IIYHRlR7wFGGmu}q!T)w5f0cwSAvw-6DPhwGk zy+*EBG*FU~BIA%BX{*^633E z%lp`(!?$xfB9Dh2+5G<5mv@gZ@A&!sOMyPns(N;%;PK_(-);M|w9ag9aM52tVC~y6 zuw*A0$z^z?U$K1>vjr<@=6Qrhg3bGJ)K=3FMSYlLxFGg1+WSDpf^;F#sVGXXwRj)z7SYHGS*v%Z@Cx zP|xXDaizdua$xTs1GLoWN`b!1j-Nll&_2nAR$7pdY(N2VMp=6_g+`uwtxk7`F7~Wb z*3DCZZ2S#Jlk=zoS`VYyE(bC~^?3_XpmGbsaeCli!&&q<^KB(GB2kSY(bS^vI=9C< zntrun{)tz3bI+#eO#xaJWp6Kzttihj(Gz;CBrAAk%Yphs0-edPauYQau?*d_RV1l$ zYNlwk3dfXxh~vZWF`W-4dP;9=a>}PvuVj-C5XuH~xwO3KJKjxYYYa;lfBrqP zDvPICzVoS35#Y8nOLJ8!64GHOkp_7^j~I<~$#ud4c`n32>R|!Vq-tMIbf_T<6N#AY zXNJXRY@ff8l+T~LX=$j2R({Wo?i#!KdS~_@*XPf3oHM zH)C3Pnhc9Pl7K3L*+5a&4X6>TT6H^mcBNCjUf{nkc;ond)=gwnzFS+Qpt9oNP20M5 z&OmU}=}k8SBIEVGwmxC?HJ`I{PY)Ef5+S+<58@ws(7xobbmH>gUL*+38C>+#D0>gt z0U7B&_VhF-9Bo%_KX`4J6ma9g6@>Zv< z=NR8RqcP+pH_!FYRnb6*uC(WBU6R(}ZSFuD@3qCf?AzI{}^v*>uF_F9_=gY@0f0mkW`@fM%Faf{Xzr+mu9a2z~A(9v*xdmz@dm)XdQ=$(KeI`X8 zkQZv(QB=};3mHq(8blrOm2#h2n$a+51H|I<@NjsT4&cdVR28>DASNsj69(@&i0uub z2wqxE4WdZbDQ22(OGG5c2|R8erJ#eoIqB=Zj)Wp6;ic&=-x?#Ssp6A+UR{lxrCx!< z6K?XPTgjLBE_Iy9(|(W5H3#BiqE{!MJ?Ley=ts9|(twC|v+C&81u0TM>B$Y4&Jx{9 zn*ICoiHWATVNQ3G59>^lWd+T4O_JIfkl-{`o~Tqd?-Slek@r!$!&rsk&)`yvTeomY z3@ADlx*>1^1#qnKG;ll!YNta2k_eMe6+FOt)8KT1N`4;Q5smi|RK4v2D$X=$uc!WO zwd^PTPk&Qy^%TfgRxjY@75os-%#6@v*A{J5pIP&bXsPM@;T!KmX;IF7>*R*z^Nv@Q zH-31!Pi_11kDP%1V5*60#s#wl(x3KAiRJbKB6;85iLn%*qYI9%X>Vn%cN9nV4{Ey*A88Y(Ub=dzBOaDK<$iKG_(S>tvEEPj} zx2WH)wLppwv-OvP8p%J3jIM#)B@nhR36gyT5@1@#v*8hzBbN$SiP2BOgUEXywisOn z>mZ~f3_vcV|W zSMP#4AX>8GxZ8fL?H0LGse_e+Nh*nPbd6@M0-=Zti|cSa9qOVJ_=LP(t||%Bg9Zr$ zMK5WNg0TBUBaUaLYh9E5`!rq8hL1}uR=L%EaEq>&PJ}z=#AixJs)t#Zr4w&np9Dkt zc|aCukpBEVW%<-lfNtyI(dm#YuC~bTaMm>&s;CN8hBu)L+`>>-JP;-Gd{JG@8dZP{ z)uGKSu(g8kC~vj;QeHV*4CxVDh4?vizGwDc)2B|XT-xb+qY~xx8(K~tlHVGxILr=&l5tD)_fDd4bD-W{n-au=`(Zv=-#ErRV>rGSnV z3!I>30&U3M92(^jBp7mp{b}htJI53rzy2V+IIlZspVKxL>rK_^Glj$Vq$*+1$+5Pq})TWFAsT~F2L!{tr1`|)Q^jG0j z=`R4=2hUQYt6=-!I_>o;yTk4FXjbYLberS`ngGxzc{gvE=scHzQ9&hr88P+MirDH{ z`Aw^O>Nw{GIPxtktszkDkKqPZd?T`9bYY*Q7RDd;4|2)0H`J#shHETu* z<)ZF03Kda>TGRv#k6N)Qgpp7h=HpuLP{A!c6McxABW4d2ZzvO&vFdedcTpiX@8+-5 zNW`ToR~~IR`uWc+KUnba3{4jU&0So7tqe1?2U`o&L2T$U8x4p8q(%)Yu{^|^}8mgaZQr|sjPcmm|U zcUlZNEp<^}eQFPX!J&I+lfR8M(LSxc{kk8J&^1pd?>BaCUZ}Tw)=Y~<03P@E?oM6 zn-%S|@$-h?$wxJU``YWR61m}FH{=}?y`!&&JlsI7syd%FEy})v{a75dr$6}N@AK>< zmrkDuw_m%ne`}9_Zg= z`A+TmqB#SyB0%X^a3z332{iq);$6a20wqRw(@Q59yGSwB8X{K0S-p%dCV^)NV|NIf znP#kI$YxA33l6O&!(~K)F6=m?nF$Xvw96r}VlOo6l2jQjY379wQfNiy=^fbm+CWmD z(!J>kCwAu>+iWPZeR?Nhaa*ySLva1GGA{*%0k<`VwS5{t3CWi#c0YfWU86E`?8B3q zxcI$yBBPegt+AdMW@QH01I65s;^opEBF+Aw+MH?C#X+?#0BKkkwD!#7b*E1m59GKW zl*)pxZOG@C;Q4xm5hZd0c~#O^^^ed)c>#pHKsL)~K)u8WKEV^SD^U1!bP0{!v{lORg=Vp}}2wRYSv87%hVUq!aJJ z;b(;KySb)cmYCC&b9&`lIWLsbjTl~=WWE-$aeJGn!4MWAQ|bl5EW zihi~Kf*F`H3P_&zBqF&!)klU%YJ0n}7H@?RpDvEPH4k!~QNGAF%tH=cCYpm9yG5f+ zsDyzfDL_d?SSwEXy=iX;xpbDFx=KY8yP@A9uVxo|AasGr9!tgBmI23fAMQWn0kBBZ z-zs_q%LGwAB)JS8yWZUsbMF)#A*2Vt3d?M{HJO@s_ir$;=Gm5A8;onw8qzRl10e)d zWnnZMDuvfe;qjDrOAJ(Y()qC-1IOo?9lB+{(=O(!(|p=kdhnJ+{B3aigZJ0FUne;h z?QhN8(nKb`AbVo`hA4u06vu~X8Dox{F0iU=*cM<7!kf~cDX&vx$5-yMskf{3Q$mz< zjd(7$KF1KH9wTfP=FUb)YLr6M16!}kLK7fondCHv0&#mqPfS%TU_mT0ND!zxf`BRz z_ossC5agNZssCZRkQK42Jz2-hGyHI%WCI~lfgc&d^(QYbiVm$LCr5RC@UIP0wS5~` zcbv${M0<0X6=lcmi_UyVZa*pvKO1wtZ;4h)kFs^e-s`>g!G3*9EToMkQIDpxYR!l5 zFPDCadNjkW_r#<4rtPo50+Nb{`C)6eHSXH_+kCSl2Mz;X2>_@968l>~bR{!iS*)+c zStQJSp^WR}hRU!g2kBxO;*QycOh-shCJ4@BYCx(KHjmbeGQa~L0KEJ=FeV2Xu1B>o zi0x6Wv_%^)L{C0-RVb~tT5wQsPUu8#urXKVB9>hzEdvo(+o&zvV3X|fO{atJiBvqw zV!Y@9{-G5YnQXFNU?vjE9?cNe8-5#8(sst0%=BlYT!D zzgIlGIR4DSOS0lmX>XG0wCTSOT>X7!W9gls+W@A21sRfZW49{d@Y8`oZ`9I!Rlk z#+a-LINf+4VC3LIPy_&$D3CeGc)We=hrz8|lKs2uDX(ITS%OOJ#a&l2$k*WsW@86~ z6%oiF+XMfO$}NBTr-r_!(uCzon-h~r<2_eL2j@r-7 zb3imrEqiCtDHjnHra=N4z;i)h4h2JFd7Cw2n5Khllqo-G3}caykQE=)+KpZ9IDQ^l zhix@7EpE`ZL_9S;XU+2nZk+yPJoBo%qK`N@VD69b6HzODYorr0{nh9I2dBZlv78akE^nVRQt8{DJ~dt%O?v9HIQvURtd3p=*900E zFmr`$*hs6F#URQRrXZdTZ33G_(RHL3--g>53cn!40R%@?c$*P&DMc796y+0)VC)is z&m^;`D&(ObmSyxKOLWBKuas)rY;$2XZts@laa(P=dC4+^hU8k-P!5SRaIE7R*E^(Q zwsgooQ?)ayPs2g_wsx5{yE>*r)mr+a{k+I{Af~JiWQ}!jb{7X0`-Vj2rbs6q59HX- zTiw?;|CaBFYcVJunQUOXf3<(M8JNmlB0dI20R$TNegH66xK~W76*_6OW~5COu3L;|6Vl@@Q}s6rn?i zq`YG32n5a$pEA;n@Hm77MT!dmMF=?9!o;oM;nt8P9p=N53m6~5u5q9_t);Z)V79Mn z8m{r)OmT}(x1AeiW2IOlR2j+D(kb72&NOI-bvb9aNp&MjM9ySBQoHTDom3AVXF=Sb zVSm+o1o)U&JUW%~`12X*vA3_mcz#}%u3HWU1s1OC@B^f2v;|U$5Tv9Xk%8m)i7^V} z?mBquK5{R;L&jZonc79b06!ZM8bqf-%gu!%29mWM$K@f&e#3l~YF3H7U03;j`KWhYYm{ zn^z%GN93RBx(5nJ_>9_bPQjYS_ivqZUgQ(}Jh*;=S$J7^Xk}S+WPXQUM#0g~1MG4s2z{2ORJ?8vwey*_HPJsdbgo-_Rj+# z{xthm%C$1xl{2$j1gqdfg5Oj50s$5$P{Pg&qF}Z&V29oh_dy65`U-ntNDnN4+y_ZS z$Wjeb3x)V+A$MEi=nZmrsAi{Q+CJo#*wFVwVy%_m$-2a(qlI->>--M|pF__ccS3tQ z^m1k@7%Y8j5b^0))K1IL1?k#~Rq={|P^s5JK221`Y6#(wKwg2EWfs{1xRjJRo<;0w zE-&_P`1566%J8F%h#;odKflV(Kfrg7FP*->iU5R_5DCCUNv0#+U+fIS$z|wAA zTe}HGx14s&!ZYC70!5mFYp%~ZztabOLoePv-yipy`s3(V+HSY_nVkxlTd$%yLgF=l zt>g);daI~M8l60d>sV3yf|JUYwkXa~OKM%)@cjN94()V}ybSqB!Z*88(?zT@2AQRz zN~hc)&VlfB;t;LUQA67?B1x6iS-H8R(U=Od4W*#OTSRG@>rZxO(7E!3%R4E!Yd!re zHG>RMyx~GQZ>UR2JZP9l7*z^r$?qg9Ib2a@GI0B%ClbSheX*Kmn+8TKG%LP@t=$)4 zud zbQp+8p2Ja&FH@pO7|oul1d!nE9)W$svj&+Aai!2Mlh8JYZY7Fh_7^ZuajKMLyDOka z{%gJe&(FY=Q6R2mPlgnB)=q{LRQJ2-YXL`LLzht-a1>_Gr7g5aNo zyv~GOC;2#br|GL4?b92d+)=O3=B{lNhpHpZ!|!dH&-2?wc}z!4lGq-$_K1Eh zy=u>imJ27RIKu7%wSsZ}+~ZZ4nQ~qds+{pd!A+<_?iPyZ=R{lKvjVy|oPY>;P#ysy z`W@xNy&NcsTlZm)(Xe-Gzp#Uz&7sy9TP5wIoKkMuY38JErF7uvrni@_H?MG#)J_Xh zY;LmmwOboNz#H^3=Vb3pzm>sJ6G+<0^1IpnYXxJhmGs|t)jc{e6$rZwg5W>r67A_U z@Mu@6$4~?}LWZzd1{x?4K!YY792i%}K+=W)!9--}9tp{_q3%fK>9`_1LVlkO4WA%{ z7|bnlbh+YG=#@G6QfYj5#EeF_K<&q^j@-vB7m0J7G)y z23D?;)W^#?<{&d-|(Zhxfcgm zyxrGU%|G_~d&=hpey^qLq<`E62kBec3I+Q#>GB1VhLn-jPD|j=Mc#?>~gvIJ7=RK9t_%+lbxnAjny& zayddupdDW+WZmcCRdC)u3w1wS7jXpK#RP*58(7opBm)0pa`ZKFCq%t>qR1utabYwS~TZwyxd;sZ!HFyC~G--d-qmqDg%h5x5{EGz!?;oJ`wYL^Y zdF=yFvX4p2*`0nXtWzF`6*pY1v6fEMHX8eyFPBQ|d`FgkSp?LV06m5D-Ll_PWDy-; zQ$}aUd2B)edwSvWx|)Pze(_`)pHa1XaSRVvfucY@J840K1rNCdtykp-rpPsP$alS$ z>ea}t4lqvnL=OmLR!F}UTSlF>{ql3H(LC=E2$8&+TO3jh0uAFK`*%Iw2*@y`!1I_G zdkqZzW6cwNNw&7kJWPF_hhlQlaUv zSUDt$JSgW$Uw~jel|0)d_a|&5CcC$*`^x6ht_nEDTZGUoCg*Jp z9jcs=;^F`k>6`khiBG{{7G8c)hkSigq@Vv-clnRkzIT^QQ)gdo94Nl+eLBn>+>uk! zE+HhIyhP+~IJFs-<3%FX$&XoRm`ENmI=feFqc5^U2nobNkdI^u3Z6)PB?$2ch<)PP z5Op5{VF+IvR`=$`L$$mPz9YT69Wn8=Qein{?W5;a{+8{ZE!IejVWAyfMk|y%L(NTd z8@{a2z`=T zCCG|1b;x?}q}6U6p*{Ea7WpR4W(^<`Az<pq}u_4DEA0NPg9Va*iVnQbEUh;T1z3G~lU>@li^$AH59 z^;(b^_|9}60t+P?Vlnabt#ta&^xV=1{H`}(B~-^ELRbiGrgww@rz;U~#_ zycJ2tSHWW7^0r42QUTMV4U3B5j0}i_g&bOJ8Bx@Xi;d_WPt@G?J)gYkX%;PZb#nHI zNdIe&>b0;8BBYgoLzVbs*Q4Acm7M&K-D^&!Cgh9w{q5KZ{< z>nC}%Atf94p(($V7Drtuu=S8$Mfy}X?)fR*etkfsAeG*?2TG=f0O#C2(p%*=>9j5! z8CwAMwvR!Fm!%*N=<*-Q;6@;1F~Cu2wVD8HJxw2?XRL69Iv&cmDA8M0p!Q4D5IS{` zh~be0Pr7yjCoPFA*G0=CBRrxQ?A9@dd_!nZc#zolgRr0MK$f>EJ43#g<*x8R-?Kb# zPrJEERfbVjOG)+VueJUiSDh)Gs)1ueKAFmF?KuBEv!&bs`A*OGQ5Pe(Nu@R}QPm%! z{ifSY2lz#IUWsjhdUb8c$ZRm&;l5yVU(Oyc;$mY?%kHidA$x%Rl(j)HbTu9Zj@$S( zM6!DGDpr)87EZPrTq@oi%_t-rkGhKmb07{GVW_YK{X&kB7+uKo7oggZF~}@n-9 z6rzG7w_s3h)TS9-oYZmFq1~Mk-}`~n6LraO-YmL}oPR5FLDQr*2 zY({@%)H&%l+n8mxCb`DXR3A&fWj`|pVn2%;!LCL6!au6KIHpOReb84nPVbzeU|-I8 zQ+BtRaqVfZ;@V4>Wp7X7sbKKG+CRq(Oc@2@<|(64pfZI>x=$gJK7S*UuM)g4v<kSy2cK5w0e5T1Lz+P81IEjdp_USNE3n;F@S?B{#v(j%hjbj4#J zST=<^u3HWY4rF(ZERF_(2FO3xaAeU)17s#e%691H){N4UJMvx+2}P1NotBa^rr(M$xqChP9P*XTjE<`^P#mKjl#HSnY#uc0w_oI zp~VQy5*PvAH8sfF5xS3sL$R0&G&+jBfCO+21c(bbYLL1G{WhG6BS+sWh)Rse8V^0zFiyXDOhe;ww53Hy=U{3r zkZMp?CX2*|%B%(-eU2xGWbQfqzBWvqS?teTOiz$X5B@X&_9AFBI65!6xiL?RMa$zd z((@>VTz?9t!NYx+)Ik!H1S#i34gyU`TR_BIT%d0l6NbHd(t!si_Y?K>`ov9G~@a+<~{It=1-Lgp6-4?H0Q|(@Nq@TH; zEBAi=S=I=H4^oKT#0^wWA9EE-wlWQ#TjcB#tC8-_DIsfk=+2goNap}QsgU=v$}XW} zGlEJg%$9$<7r$ek<=#CHcQ4Fayz6mk z=&_(p2h9Cr-whlO?i~40`+UdUGgBvli@?d-Jp||q(cN$qPxfY6@w>G8*bsQD zwLfMm6>^JngDXGo+&+5|7`*tu_2Bl!GTnE;1chBlk`9z;?-}POZ$5U;>%$G#JoO8~)ae1jme7O6Cx(Q*mVy1MMJ5~?e z{26P(E@P@qfcV0{H5`1@1}Zo}?TXVz>A|cz-bj~TGu=b5i8pSp5<|Dc&3Tgb1gcdb zlgnZ`GF1oV$+qe%DvELNU#XV-BGZe6hsCzR;fbU-f}VvryYHXt`^)duqUWT&dl*MY zQp7Q-ph}bWd+cSYG~f?6aGYvqWa-d-t-L)RPT)zl5r^>$1fK-x zB#a`x0wj_JQ!qs$M)=y~B}iGkB!52b#x;ZxOTRR-R)>;*FsN%6uXE{-gDbS&KcEvJ zyfvfq08u{uW*M#J8@4x`we+#9uVK1UUsRd@k4SFMT;55463(G(HV5X(H*+!}c~lje zMTQ*M5Mwhm=mS~j3@oIK?K=A$t$fpratp8hwY#r*^Q)vE*&+0mkFRdBIiM%TS#-K- zTGti z>7OBjX5q6=U=&=od^%{K=+T1CO51{t;YUzQf)<-jli zSk-&{h@|v*9^VX888p1MsbF>dvAatw;zx(L7L6{KbP7737PK|LnW^~f>|Zk>T~z{p zj|;axIqt|(QTfr@u3Pw)t`wo~KP$n4E)Qk+q!JkL z13?0&BH&{C1zZRhu%Qq@$QrfTG|6%ey3%rmnw)@mmYVpe=E2^>V|T9panXsE^D4+X zux@qY(Ql)ac!yeYKl~1C;0Zrar3o( zs&6_J=)^W@<)v-WccVH zf;fe=2-CSL*<3EyVqsI*sSS6&?Q2@Q#wz?=;`3|Z4ZytAY%k+rGM77F2}q1IBm zf=ML4y9(Hdn;*!MkLMHK?{PM{pQFvBWw0quSTO|_`cwLZC}M+|L*+cVl^D|Bq^?g+ zYTJ|e*HYXQ;t?l*OqB_&LI*N_PlwvdFEv*2_xG0#V)e_Wk2Av_+?gE2?xwJof5)S= z(a~HkRYn8_PckjJ9lZ&j3wmG=dC~#HJ9*Lb*vq zk|+yWTZi+RG{8r6f488J8RNE0DEu4@F$;u7>8(PH05O>q)(#j8fvBK5(t%Q|lii%|4uAQDL$=J9pRHo|^cWM}vU77kzDR~@1+|Ce6jnLZclkM6)6@9gqgR`bzZ zG%L4U!*{-i*WSJ2+2utlx&i8aUVd|X_B~i&Sl4<^!*tK=qg~Vb=WFlDKi62)HVhJa zZFt{`d%ZZ145Zu7jIEwuo$Ku9rp_G(A&KwXrQ?m$G?I3AHQE;~FmBp6xg!TQ3n=w_kjJ1_Pn4P+-(N?jo3%v(zM44`(s54fsNP2@a zfmBfd6zWL2C7`J5kb;b9L7eMBb%zj-C!fOg)7{OSe4|bDRC4n56l=}!DiY~+k( z2z|k*5B7PD3PyKDBQXg9Zn;P%^A!XF9mt2uD+4v-h#e@PBtwb>9t2~dFqMg5jB-8t zLajI=?yOdOWeYC{F4fHnH`k0(P~};v1-r{rEpz;HJjY{8(j~X7<|USRRGw;FQ=$6& zV`9Qtr%q1DK3nS)dy{J~p0_?F4F$~eqPRvq@K5h!NJtLda87v(? zT(A#$;#{H41x&FVEQpH+sUFoe= zn|OWpgeP7cRsq=Cy=}3Mh=((erIj<3p1CE{nPFo8GqAG&SlwkNK+>Aj{%mK z|M9l{_0E6h4E!BZh&R2mXZs+uvxE5ols@RIlhl+(a&ue7)xw`P>q!_g5jT#w=VhiU zR$3#3d-5MCEcJfES=uPd@Fs31gGvIV69^Q zx!KE$s(x3RcLP7N>LlR=XZki*pdI;D5S6X)om+LeAhTdPJQOfH#Xw2x3q0iCmU7(b zJ&YR($H;QJR>>FIRX@H;Z2WluNJxt{Af<07hZW>(_36$D7wPf>>mFTfk-yxa368rl zl?Rz1NkEASiM7&sCQ-vI6pY5I?L&QRhOcJl*Jn#+(gW?;&2aTEljGPR>4@m})yH1?XLru-afqg z*2~{lzdW`2&)AK1b$4zb-con;S~`*SBt7k4X?eJ|o)FWQ8UKn>Kw5G|sR7exU0fihrLw|P97Wiwex zAeHj*HT$oI zI?265;>!7+QMaZaaXDRJ_gmP7(-a>P&r>As;>aN^6`*aM7ee&Sm&$yP|BJo%4r^k2 z*M`^3Bq0d_LJx=#AV5IMPz41Iy#)=3h=>}Bh#eK{Mw!s0sWdStDosR0MZw;Nrl6=n z>=nU+=-y)Q=37C}dwtjU$9rApocDa^?Dw}PhL~tr&#YPNnYEt#dG1^Ozi7oYgWv_h zWQ6lDK8>7@Nx|AiJijFu<8;=^@P02H(B}*y0T<_isoH(`L}HPNmjPz)eP>vfxmF=g^tjG^_bXMqYnwI4+Uj1Bat`0T6n3+^);wTa&HkvH^-g*+Pp66U zu{7<^5og^qkz1SKghyfuLvjIh{K^U+=Gyr%3 z#Sd^19z@gtO%+g>Rbq{btRke`e0OM^S^Ec;o$nFucBjb+KKvizs7VLi>cS7|NyXzM zj`$}mlIXoEK9dYTBMINoNqL6`+6?&_OMA65jRN$ZAsjX+&=yh&RySa4!f-#Vl@ehRLYV+G z4UkPz0IvX;a6tT;v0N71Urz4|H^fAHRjuQ@^Yvsw!+WYE(DVcfcS==3rJGKdCf7iOfEL=wrhSpDMVRz%w1S;(rgU$K`b5r6@ zYu89q4%H_r?dEth`J|&{L4M&$s{pqxhuoG&F10#=dU7xqEsT}f#?0)x$YiPK-uIhq zg8Fpcn>p&br`DotE`8~`{`|24oaQB=*!5Wcy&43N6GSE)O$kg|UfPm2=V}&Z;A*z= zCUfre;Vyq8wq?uP;*9IhbWbRkpMX94F*TCA?isxI7t&XX=VfWdK*er8Rm@d+hrUO( z)TLB`F-NI_O@zA{IsM%`8$0mIfX}0j;%|B_AP3m*=`aoF0fC0Sfy0g9(pVQMTnFN zAKU_k8PEgiluNr`fo8mc|sfb7hxZuyS)P28g$>F}5qjJtT&(KZ+l8GGk;(DlBEP>^i=-wfmqGKAae~FsSgA z*XGgDZ*LuV{c~%od_NQiQ7F8>=!jq)_blpGDVU#cK?=LI+0iT-q1vs4Yvj`fx&i^G z0E`2XDqM|Gf+Ls0X6y8oH~3x?nqTRjwkRw4E~#SqGfJzF?xn?h{JFb+d2G*NuOp>< zBg^W~7+BwUe&BNbtH>Mm$L@?%VR*$v2JqH1Tb03TrdG|{jiDw)Nu~w=qFqTp)CS(G23eXX2LXNpmJ5^~N@701!8>bz7 z&e(NknbcM6%gcGXQhR%KbVkw6fi0P*E*lIB`X;1IaOD? z2YmS;ulvu8tbe}yx9x%7D}`r{zECr+@AUaZnD`RSZq77Rs6OZvRJTIf*74WApK^NE zeiCoOzTwYXUGYSTKknuU@IWxv7{$r;2%VgP@L=9^KIsomzfS(s{gJ^Xo)@$J$oqZX z+t5pA*&M-~g95iznuRM}HpNd%8h@o7k_63RJ+5`#+>ZP0=O+;&jt0_rJUTyO;r&BL zdkPB+i;K7OLW4dnI4VIYOiQJN?-^R50WSB%-+Tn0C#a=A9#DUrBw*9+g8;-PQy!r9 zt_G?P%-ho_OMN)+)s_so!8p}>dEM*ax37A)YYet_tG#O5Mel2=q8gA-DWHXilxNV} zkk1rTWFe&(B-0!b1N7aQ-sX2H%dHFPR`s{8?N?1yw*4%KK}yenr}roM-oEQrIFo!m zo*k2qlsINd`zNwn^qVVN5rH^>*7|sv{q&|~=kNK!W74FBg}!4R9JouNv-vfnx4&hF z`f~3rO8-+G>x0&B$oJ1|0RnCZAJ9?cT{6ABFKK-8b`83E2RlyYajx#U{0EF!R1Y@1 zOLzD#=+(Y%)vHpX)PzQ>n?i0IZ{#+eOX{B|=35c^rHS~?j)yjd^YVl{Z38P}~pe5SIdv!JXlOav)xU6mFIaP@}`13QPzdAQfI~WJ%j z&#&%3mlvh^{OT^xJW+(nFWr~MaBXP70+Ex7Qs7c3|FY_y9A?4)US0idXV~A+@Lx`W zW?c}V3L(jkA_k&>B$FW|33Hb=DT*XX00{8m7{IAOfRW_|0{oLC4&#UK=i2L`urdMa zM;c|KwHQ(k#CQ-SA1Ba&)dQfy0+9B=-7Rf{lOwa7)@iB1U7RSzqFoxBurDf3%YFJD z+E2^|`VEJL70Es0{W-g-G~e^$j?%mti6^=a)7_rj(TcJ@^5Bw~pSM zD`Z`f>g~WCR!b z8A%urQGh$6i-M`G*1;VzgRWuf1!j#!q`}w zl)u~?-%Bn`D>R`!%ORZG7AWHr3wr&XCaDZ)ekPFmOT3FpA)3ugb48-~=mggE#3M)Z z%C~dVcZL-DR$ZF)$mCgki%UYZ-Tu*kEIOJ@cE6C6^L0z zJi@Ae-LB)qe6`9H58aV-m}Y&t%CI?2OgtGZtE>cZa72D9gm%31IFpxj)CLT0pZv)N@Ne1hZZ zJhe^1`d~6_KrR=E*G*Arh_zyD601mTW0cV}F(iF~$sAr#a_fC#0^neC9@#}Uf{iO? zHYpw1aUpX+^1}Ui_T}pKO}ohcZ?5-)-<*H-7;iMEm@_DXj4SZjNhNc*Da#^dXsV)# zuYbdd@~>p_FQ)Z+iY+M%db>8J@she+1szG>Yi zY(_pxjDwqeK|Zs>K*(TITS*#+E>R zx$at4=FwU^b4o@VA{NppngzTR6IYrAH)O*F70Y1TsB>`LKJ-7`zJI0p@h^FWbFElCAn z0`o$e{p0{kd*jvt{GjJ#92L~!e&8gGY7jU|PK0&b#@b-2l^228Jn31lb#c+k>VSb0 z5zCGmU!7_<)82bdkrSur+8!z1{Ke)4W0VLG0FN)7Z!vZO3wPYyU5aVmw#HpQ(?ysDotuPD5yWAD zPA$O0$r@#KjA}sXkPsA9#03j&oNRhNAQcWYcVpD}xCzcwM?E`OZoWTN(kNV2;bbbB z_$5~s81sgCeMuhsc1@`Lw2o5W3)~F_8U`zL)=u0KkYnqkoN)(_FS^2$KQ+nq9hkCw zx!2D#3*^ryS>G`AK0jy)f&Z^XzK~#sT2<_LP!8qz(inS#lgq|2_J_};g-~saC(c&H z3PwooVFedV2?d7VpR7T$185w*3(ta)oL4#=gA@uM$)T`aIhGan3iCTTR^l*fwu0p~ zmLySx&jv0!+jIuM5;8r^kS$@~SLaaa5^jH%L6w}=g0hv&Ez%@TDIJNt#?P7a$97~d z4C71p^DDduNsE*6?FuGXdv(<#!x=`v6I9DU}ZK1Epo4qGaRHn{4B7e6>XMSPj zK(f}keexfHCVzF+ru77t-BLu8Jt^0BpA_z(+^n}vH&5Fdxa%NXcEHp5{x3Oq|Eo^= z_d;QzE>xH0f<RYs(qiPAf3P@pw`w4q1pI4>R)S6FeL`+`6r!v#LTE(J2 zSoBLYVm~c7e_o-GTtEgLtQ{3nEwp6NX?2USzw9oP&jGMlc z&w$Pc#t#iYU0+>xyvjtnx$?C%p~9SFDhQTp5Gy!Z0vbm}%;X?kT?hg|0!Aea=nDZd zw}{~s+Od%y#0}XJ&--e3L49b0^A4Q--09`+-Z9HgSsyZ*bWdOT-h@+ky{?amur-~f z+IL-FBRdcAQ)BE<&B`vdLJgf>^vSYw!uPK_KDFf5O@-5dHhq%Mh6D`%9RG?v@H@`< zLBa3N1!oV#!s&LPIe39P6FP-;oF~fADPUE}7e)47t?k&S{3(Pz*V77n-;Q#%fRHsB zFa${m5Z5EMG$fKPX=KY_Vjl;opaQsbaA%RF6wmUIlv71j9@jUS0lW&JkN_RS#oPXN? zX4lz4hk|&vf@H}pH`ssnptIU7-_l%qRn3ec`JO#L%&zUV2&$=1eLbXzP2C#7|9;3n zkJhXWljQ2?aE(sKmLoYRLu6FTRR)q0eusCyENUFtyjn~`X6zYt%)6M_!$+IM#o6&i@y{kJcYMk7&Zv9E?W|6P9 z$)jmMJSM)d-4Zx%s@W9CQ3h{`um(#3vqGtZ>EP`d|G_I}I*sj3^v`5FTHbONb#LK= zl18LQVDJp>M5+b0QdmGK1!9I2ETu*Ag5Ps3?JlULf?67gopu zYlxtu)x(?`%cWXfT3eg4PES2@r?jbbhK&O=^L$(v|3y)t*@E`|eqM9>lOH%ggW@pv9w|A#r%ieBQ}Hl<}$uL1ifCCOd9q9grF-P+Il-wIlGxpZg8oU1d7OLxz| zJ8;#1l6MUB{0jCncsvtu~!FVyGF0pnx2kw)T6X^+sGynPT%4#TT1Hm zR~%e5!I`~ml;2Lf)qOr{SgTotrjn=Z(Bz3@%?<5`u6Ex#_WIz&Sq~Bqt^N2hAMdc> z#N;MC%%5^>#_`qBMryg(<2NJ`pTyK+AVvO{P=DOOo9H;} z(b>~K{#a4f@$%kXyiKb-Cd+dBTKh>47C(NRlrn*@w&4Pb6q1BE5#R#}<;6=}lq!_G zwnQ|{x(RDL#>3S>1@U!}VD;rfRqKwq$_;H}um%!E+2mhnr_>Mwoit6r#vHiHIm9S0 zO~6$se1l@Z1{$x9HDr(C&Y=bzue9knzIH=hkBFSC?^k&J@=BhYYN+F4W#*CSZ!6Ze ze)wx2_2um&9lJd8X3xF4YsOv8=QkgUZ|kR3?n$fIm%(jlTp6ifr{A3lqYsK59K;_p zlzQi5=ND!#O&H@kGeIwMbOK4(W1f}3$aX8%e;g}Gk;T2u1B|7?Fb1zNZQktD!H z1tKW}%ALQ8B-i{Zl7!@ZjOse|wV|#oLR2PnP`q;&FRqK`&VOvL5;4`M zCgI+Br=<*8GW*8XV5ZCWrG?AzIv>X2oSeNylfU0S>Z`gX@ExW#omVHnyixgS@6)#I z?fau{1g8FQ*5@7zQMQ<~05Ss)C2RW10*j*pEEmA>4ezPWj<$o-oyU)RK%Ej*7Mu#l zd?Ny=3ldaBN?Z8*L5wSCpk+^AO2+C?^~06LG(`y=Ucq$a?oomuc&neF2NADDezcP!bH0_s7b>3TY41V;IuC~Qw9m}!rgOJ_m zAT;F8Xp^kN^Pp>9$!aH0cS(TT~5_T*nt>}kL*Z`NmzDHLl~u~N3qaNlfLH>ui9PtwT; z!yOZQhn zfpUrMl#$>5llbo+_y1V%zv+QrP63;(=b!gEhFmbff0N2`)qLMFA_cQvYO0WeVX3*A z1`EfFPUoxkjqgU;y7>s9*$t9(lmz}XAPjd~H8p1$Z>`j`p)B{v$G_eSTeI5VxSpDm zkk@N)y79;P(lfsA_w|IHjKDd23#%#w#~mojG;*VZa~7llzR6uRGE)9+Rcx5#S1Mgu zxrQ^ETqUJ&?Kl{)kb*vIRbmqhNb8pUwNK+ozy~~ix})}jKOYR1Wvb-#FI{=@vTm*0 znwW1JZPwM!b!ZPUck87M#&q+@y(Oq|93bZHev}xv zTBdb*>tUCj_x0jwxBAYXaCl-2o{;R$=-Z+cK|pkQrAhoy?oIBTQ8G6_-9>(yiwk?z zmxOnnSb05W-rPA!u|N)_WYcF$T`d4q=75GKYeN*naa0 zK2OvxJX6^GvF{Ss4H|B$BsZ)Vls{GWb1 zg#iU3Nr04ih)6a9y#!Bg8RT-d?&N9OaRK555y?1XqT?R-dpo8gY&}FtA=h9@EfiEt zwnIq=kXWGBH46nV5;g#4tA^!3EH>?2qGWLL zD*=GO{aU*VMsr0;rz^qtF*e!4+-GKolXhBY&eVx2`Wa<+xtk+>_~e;X#kt6T!eJ_a99V|)Vn-qA28dXH zuGwEmHbv|6sFb#+NVc`=AV-JrM~HaHjA76x2Ezzwu|U)zLpL!B3hE*_3?9*xKh8t- znT1l~I6{m~nl8C5EWGc$8ge>!#?Z|32DY6nHIF5%@`;z`li8-GOA76;TC%+)$z}G= z4q>wkmTTN`ovfL2AkQW+)kgQ(Gge~qgGsq}%*M%I)Fjr1XvvbT55jt}7kf*ZZw^|X zR1~m<6ra?Yv0u3F!H&|d2eZy8&g378S9mG^i;v$ zhKT}_1O?dl&Vx->k@Kf0yBa#u`p{x5gAoVfk!qwF^M*T1hi4Ljss@Lf#YteX$!Qbno|SP$clI!21dkH^mhn7c1=@U zZy4Z$A+E0k56B(Hyt-JbU($L-DZk}7s39Mtk)$5vQ(OdOqyTiEs1RWpgsv!ySFx|2 zF;^u;hzMjggo`*kEU3~gD|f#RXYD>ewdA5nN7_0>RP8`X7`KtHM@FPsp38$goJKk8IY>hZK9_D z-Sc*oWzc^0UiOTVc;0tgs7CoCXxEj11tz0ays2AGbY;!$xxMTX>cnZ>lYXpuo2 z$EWX`b-cNn6oj&+L8Dcu{uvwct;2mJng$nC_x%aI(DT&aIN;{%fo{rw0kasL+&zJGrG|I8lvmI<*hR7!i!xsZ>w_X*pUz9}OK=t`MVuJ_<%1X=4O9 zg%n`WbM$0+2C&OPe;<8~ijBHMmpMqI-OkL>%`cbowN+Z>8@dg%H>vv;IZlwIEAzs< z4c*$T_V^}45|J30Z-Ba*MK<&7w#A)}B`SecWrvb0U+;;x-I=rc<d_648CT&nYc~*^jlRn>r41@WZ}5`+;(Y`s8T}?vT-xa0&bEYGU7u+E?jrg6rEX zx9bKOeqHJHVi2-MB@gJ0zV&s~y}xqK2QJRt3$1-wRUf=^>PM);y$^05M%*OK-a_Ir z*&K%V_|u`@+FIJ_$bId1RKA)fg${bbX9lQKAqizrp;QQ=2RhIaQvpXz0hE~=x+FD` zYz&lo*bUsYjkocq$Zei&GcrV%vO=5wLJvhYtf^x$FBCfb`1X0*sgGmdeDZ(&=uywW zg{>Wi?zK&;He2p%OEp?Q{AfcvD0>6ANdmg-B-P+uTT}L2fwqqL)SGChQpH7$tW~S4 zvaI-HXxQ;F&zK@Zb2=NTMTRvH(I^SfK?G_hAf99cJ_)-TW}47XsTE@Zja(XHy>|A6 zhUm_yO^ly2E;~(dr}T5G=iaBr9*TS?;%IL+ne*+_8|PK8mJIy0`O&#^)fYC~<+`s4 zNqB8IWg29?`0@ChS~lX?4+MP#JE`1Y>qOfxlgr^XhrK74{}Z144||;735^5%ks`_R zIdnylq)Ji@gd{DH11tzh^7=e#%6;sIDf{r#o>}-7Gz2#zQJ6~j1y>aaa4mS}VhG&f z7Tg0k4L5T+U@FZClyJ-jtFzyycSU#X`dHN1pts%gU2MQ;%yjRcfmQsWKc@62mBb#q zrKe|mWSZ@`1y;>Z7fgwWXo{X!y5M$ih!RC0GYC>qqk2w5E9;!}1Dw`yd-^N(F*9E3 z=Bg)E+rVr711|Ju%YV#mF3!%H0JbFPX5;5IDgtXM$AKT6G%`mz=`^$em?M0pERdvB zLEEX5fdOX4c|s$daz<;ZVZoX)(x#u+BDB*T6DKST#46%fc{JQNDlv{EIgiY;?H%hyJ{ZzHEIg$Fs7p&Z;lmnU)?%+sxB<57&+n?TCHj zWveyk95fEz^dX$rfKMF1q0PP>F+h+2@gLy0SeeKcs{w`FEsR|1uAr@>L}r9RHCx@%KW(eXLJrDgb-31`7`M0ga@@dn|XEIVsrTkH7)@ zLeKs9M8pMOfac@#K>=udS|3)Nf2o?m(UeG_X zO zsG*PYrmyE-|J?lc(Gd2oMw`G(1T(PrPn0TfHi^*I&cG;1Op*eUFoLUolZIv^gqRI% zJuh?!7JlXsHI4dGjzA|W)PAupxiIU#`SqfZS!1dNOLA|g-uk|rp8Z^Xcad+9ysJO4 z`}j=r-1YLaW%Yi6+jNEbALR1nuqlVFLU`*B%0F1%(H<8(^(D-Y`tf5%{XsdL>ObK` zhZ$Z*JGc!p<7>sFxO^vvgfQ119S*AL{3Y$x|Q_YC$ zWGgs)EhjJOEEezb*rldu{+pTlSV~0O&vOG(AAi@4)b(3)8byE>qb z;O;Y`mv;wFv7?a~!YO^b`pESR?c`l&51 zSJ=j_KfeMI3#>;`+PQdkl7YrHB?@UTzHM%`&_qDDPPFbd$$-*^Y1U5GlFJUK%Etb@ zD*s~IuCu_~u)JYll$LrmuvVQyuj5QXxhk57s|tp)kmZO0HI2}c2qsA}E=vkXxRbCI zV+17vByo^NNGM-pH>9ik7`!NGo_4s=%J*4!c|_JF{TVk@&m0(kh}tHSj{ct0W**2fmzu8qrBT41VB zS?11S!YpTOn1vD=S=Qb~18(%}clD<-evaGJZcpjBj4+XBjV}G!35(M5JTG6i&Rc!9 zS6>aZQpmIe6X?ZABhC7`v+^fL$ayQ5S8yk+rOa}eov{n=Z|THE$W+`;FpTrTJX{TG zf`TB>i^RGJT#u&uBq!p;VW$;@8ueo9c9`mjdeO~)BjDF=#J4fQReZ_ zCPEs?X)3>NcmJwFY5E@s^6%v|e#aT-=#C(g3#$f45XtOch~!evZ$xq``l{PfR>PvQ zow_l=XCZ`DHzG60M@V`b2pa>pu&*kLlQOwt zzNA*nK?GtJ5&=oso`_X}9|tX*0k}$YlzPyhrd!q5ZtXheHO+#f+ZDu^_fW9#<<^FJ zi@y3#&O-v_4DU436ThjZ%Fs}!UeVWK^A@O8Ot<}Gq8wtMBkN%KR|(er;bF1q>99C9 zhcyLQ8^uvN;a;5rngB(q2{cnpktDRQPiGT#V`kp`xjUIc5k~iAcya}7#;RKz}VUM?S24 zBFXcwA1mrQN}Sxz)UOzc}3bF0c12d?n^hdm2yuL95RJ`XSX!uyEvuS|1^UE5PK*J6KBc&$Uq)5SK)gBPD$ z?AKe`Gdxa%CaL7NwH)HphZC8R!wY(0X(U|Pj+8FF{BJh^_9~YR=xV_Q9-w6hO-p5K z?*!0BVRWmk>(>PBu1ei3kfcYDix4LkRYdhmVQI283L%mQ-Xvmxjj(Ylp*L2jdJyq1 zX}vYg8cS%?OOKh99ejm0M(ZR}I4QrbVoFr0nf-av+xL#GeIHu2Q7cjYbxFvJGvkV@ zqnwX!mdkr@?fLX*q$F}SbhiWmY&vvyyE_dD@s)HY?b3@~ASR9SjCS@7gNQZ2p22bt z7AbZiw$ac!w0Z)Kk8u$2^J;$_j zXM)Z>e&Hg^{lOYiC|UI+B%U%SLihu@Y9Zr3U4|Zhp*?-od-{o!lrN`GHfap?*vjp; zUwU!*VY9;S)Mu|lu5a&M%kS~abxQpK&*tHdz@Gj3_n?y2iJk^9C!+lhbg z^!|_i|KBTxAe{@Fp;MUWb^FchMxe%Cs;>KbI7nNfVls`#A5Yx9Pp8 zHEjU2Q`!(MUO};7`=8Zbu?=f3Z%D6r666*T%p2X1qt9F1d}KM^cu#lm z{&2h=Gq0SZ5@a5gLb%5V0wZmhm-&&YWk@P4t$R;}VqS0`=Vxnsgf&Q_P9 zmnSdf?bDp089AJ2g_>&^MivAxeVi0*jYw4KW^dZBEI!31Sw7_6Ql9FN(!#`(y|&}y z$q3vQ5?X2t3UDJ33VB{QhTuNQ08sIniG@vHQkCZudx`0h&X(@f+U(bFxirxA)%zD~ zUi7}K%vrwpz^R7gCl5Iva^6f!t1yW%ewsreYP>xKmh1xUy@~JfITIC4D#8YE-SHnA z9shjmU$O^&#}r_ZCTMX%lc~T01FMk&+=PrkNt_Ua8iBo(LnpN)!~}pRr}=T;`l!K4-^m~@ zZ*(Mm08?-!Fv|CB2=+J+t5Un~L9H1Y>$RQLceta#hqi4}O~a69i7P$(eE>Vmx~4uT zeR@-vRS2ipEZuq4y(LnqUW4pxS>@St^3>&5iY$4#MYG|^-)%!R&%CpP_N&YgegLNf z452}O)~8*?;@F9qPD+oC&*qA+rCBQt(K!O~I6|MsXwS^*Xh~{v$S25u0%^n zZy+WYfYmJY5J7=49MB_zxeNHnvm3q&1W4%vYAYVBr5)#X*CNjm z0cu9)plRP;>z?`qO-nW0WUH3mM{oyS=_p9A0s=PWQQaeWu_r4myYUZa>wnUf{oX#D zvhstPapJ9W0%WO{LY83WNT4xWxq2kfxXP&9J`9^-ukTfaPnYE3J|u~IffiU}%z@kk z%W*pJg*ge<rIps0sdwuuy)x(Qwz-!df0&d(7!tAuVm6{|eF#m8n6QW^ z!j_r#uwc*L9GKwf{JW;&ill?u=jPnHqZb>Y|M+u^E7NASgi8%t;an}MU)t{UstB~+;}c|0fyXJu4|&~xeGC7|QT5N) z|JFV5d!=A+>yx>z57e4<7C_!5t#JxS5}+FbASB5J&X-T0asCwYz`;83h`qSw5k8%m zg)c@a_%c9)2~2fkHi?03xFQxHq!<*i(mJj6xM$csCp`lLivs<-L@`F4 zq3z3!x}Ln9hgL>3HXg4J-`^c_Mc6%Ay32RYAKI@thi08$$8;JKr89O|)!{R_A6bzH<0fS4YwuUqPFL7B zS7GYSt=u{*O$QaKiX@XX30-d9n)RoC*1pkeKcxPEVC2DX^6Kx$zJhNvG{RY3kNY03%6vSQiNxBwR~Xu+RdA*Gu+V;(#Pe*=Y@FMiN;`v+SMw z&2_#SHC`;KD>*$ObdH+IWBowuF0=0|)lBbDtTdl%?6rF$BDb3}eI2P|QXkoIYG(Of z-Z=T?E&21S=7Z+j82e|#Jc{{ImJScfWOHGj)VHrkZ$S7@5#Ce~U15JN3>4u@Jg;FN z4Ai)|DQToYOhEt>$2A0M7#Icu7F-x2Y?Q#60yE_X&mr_Ajbq*O9Bf5Vy_VJOx3Z-( z2G_S)g;j+OfAKAG&&!y{YvOHvbK8A$JiBgkc~H%{LT_}T)KaTkYrj0@bZp@oT^Hwx z2WQK7xo@x7mS}z?RsQqH-o%4oeyjvi7thg3M?vnk$Lx)Mh$@bGdyYbMLZ+I@K#DgSexCNwBK*4%k zm$boIgg?ywQ-^m%LpI@}3iTAU06@X&Xn=?@NMm;2Ob~<|z%vB_7sNj~=_#j1`B;-) z!oxpvLq;cN&Ub&ZXnN>gy{Yrg-!hAfyX8VVX72aR?R2SQXHwO~Qm25GW#6~usP@hZ zx3jG0kI3<6j+T-l8mku?1byIkk>;`LkZe~YRU-7%KMZa)MMERm+5iTCf z#S50jFKOD|73aQzY5FD3XT!W*U3CS2IzMSxjgXDD>R7gCYYaQugknzDq;FG3^f9ik zAo3E3SK@_QuM1Q}J-$BpG5h6&(X>v7bs5L-&Q>kl9a)Dv3M%kXunbZeri^J2N=9#% zYB99^H?`gf9h`OG?W?@8(>cN4!_@cWWt1Qn0tL7M$RJ>l+R-lJO*I^^Jk`H) z?Ws$Ltslh4*pnJ_e5DrSa`OYuI=o+9>N_;)A&)HqPYJBeyTf2ztu(~OtII5OB#814 z82NW_0{>qd<=^_?M_7X4h(6T9woZjUly*PVhl0sVr=dO+OkOfj3-ABlt+JG!Z$d0& z>59dWd%&?SSB-CPZe8w-`-a0X0@(fwZ+)|ehP1U0Z+ON?bDzCRTz)&H%E4(T>upPWP);UpckG-cS9C+O(}YsvAp- zTsF3qUhNazeY$a|#BA^VoIk?XA8d%ad&O_XO4~PDQYG)G!=11G&^}RtPRRktKx|Cq z)@>f@S$>SAlD{ZrX}6WWNH~}!!2*@UGBlKM0ZR!SFkpmjfq4FyE8HRXm&ccD#TfK` zShG|-cxRqz;(fP;KdCAQA|LMcirUe+^@#t_*N*)SPv%aGeXSlyBs=f3-gM#6jBQTJ zZ?8K<<=Ws(ZwHvPXM+cl45%V|0{0bs##M-2hNz4bAsJ$909*&AQSb1!l4?d{7)?s_ zQa9MA8`B#!I`_ne=zdtY=c0%65u2z<<4z=qOf?oCj2pN1;mspRxG#Mq{zhc7D;kNT&wsRrR>@Qd->I|ttTazq zfmXJV5-?5!(O?oe85?$2av{Q?$I{!ZAZ_~^f_^{3Dy_;Bq6OXgRJO8EBMB99Dr|-7 zq6sWaY;l2T#y{qO$q`k}ccK=i$B5Lqbrc_{+*gpyqncJ!Y`$STw{_Q}-H5}x^M zy~kCt5d{*wn^?oc*2g8Y4u`hyUO?tx?nslLVHASG> zinWIZ=O$QC~QsB?vGuYm)}-` zO=;5el;M$^?ODLL9_0|ZR5v6oSc z&Gyf{=j~q~pvTHcf6V2Fcji-io+uSExV$X4qcHDchFpI0^-IOc{`_xjy5j%p@%+!p z{U7LoUrvGM`U{b~pfQ3-s@~qfJ@cMG?y;Zfo-F_nk-Rz9p`7KHR84$&FgltwX1Edj zm`NRGsj#)lmLL>rwXrZtBcl$i5jB#5ctq$P>` zMK0ja^i}D}l#FHm^XVa(t)l{#^=onZ6Yt+}X%=~#SS-C{B<(yLJOARTu9&{%U1_Xf zJ-u;brk?e@WM)!Xxh^=$k~gRzV0vb$&rK+LdHtY#ms5yVLD&P?*CUW_N!K%YmDiQD zbB}H)yv>=2)DZ~noc#Zi(*UuOR}m{hcMe${$~9pWN{U$X(&)@Ci54Y?NC1zCyFiwt z3=>B(K+x>W&US3o6^@hNSwhoYQf4^4Ni5b*_2c8kvFsrK8b@02Lh;Eudk zulCD_FeC{vJ_Mu~DZ%i@lhixVja4AIN{6Q3@cW~#{yab1+>aJuUrXnXF{g+$%n>P; zg(YI1q#X@-u@TGlx~A-9#$5^Q3~m*Q2r4vHayt@xay#PtC4x%WD4T0B(r8b$AV6UR zn+xCKur)}Z58EA1F`6is7s_Ft>pu~R{{vI}-~TIq#~DvL`=)2MV~sD5WfoF?4`v*lUwXDDLEb_k$K2%(j93hO+Y&g zPIbRe8O*<(e=YvH({=YQ{sn#;rvtD=bd#&P(?RFgTubKG`Yq875&9RS_vjsTo7DS5 z&AX?PTWQP-8LJ&)_%nV>_?FRu8Yc7Vs(g9_Y61$|i+BM={6fVC^R5?#uTTJiP~)u8 zNd?KA_}As!B9OOH%Y>$-O6dZ=x7~Kh5B_{KA~m^dK>*8z*dtt4Xay?;Mt7UaGBL0N z7Yd%?s-yu-saT1tfu%T|u!mtgM-QWMrY@#VWzH(jY7Rm67xDA<0!#~~H+9?;I83O@ z_1ZnOd)gT7tixL^&o8(#rCIJRd!HD<4+zu@>6qewuFPzznSYp1_O|)_LZ@q%8oZ^v z91UJBF93e9Z3S=3Xn{;&b)B^eCWx8*ttqyKFd6WrOENKugFtReb=dF(3`qiiI8 zeCEEokc|YiRHB^*6oRg?9N|!U!9sA{sr)_H%y`R$dW?1S;<_zI0-iA6R%jcI(i2#_ z3Zeo;FG{t7SSNQ=_8G91vx zNgb14MUw3bL=p#XTBpuA7l#iYkBHtO8hi8miTo&96>P^$b( zTw(C3chjAE-Whh6Xlljl^-@W!nkqAFqlqwY@CwyL!V!B8?HP;*@<>A|CO~2I10e{+ zbBtTAZD2slsH%Qj9R{pHvL>wO2qH{TUp z+dOy`MXwH2$}6ln8tNk@PNA}rnRFSpz3P1I#+`S_ZNg)m~~uvA)r_CHI*uqQ4L z(2vKb5*QEvRc@rF8e0R*P!fy8!KM=10gI}Rf&?-v1g(|>RV1KL1t!35h5R{xS#cCN z7VHT9-P((Tk`k5hEo$isM)RgMj_S`0S&>z0AFf|%dUfS&mR&SIL)F7CBK)^>j(eA7 zp+-zz*?FI*mYUt$FP^NiG1Q@ZsgUmncqX0!U_hhtR-WF>O$5o>)9|HL2cWK69*N%j zrW%K>>Q1kezEH|H_b~m8ZJwB}sQ22wK`xV%?7!5VG%Yap_iqO{&%S)-w>KAa+*PK% zt@P7WP`FdL(8ktUvu?0*Uzx%gZl_z5QLgmGV66g=>O03Mz};)*gmj#2{i&iRyh0Yz z2t(THWHbiSo|~)NdbU0lt)(h>8gbT(4m_Zu#FRHZ0um8RC2gj01gC_JD51o|1uBFS zf~yK4)f3$fmFf)Q2{Zm3}&p@eWkDJ z)4XJzgU*Bd_Nltj%iMR2v|Q^gt&Jb5G;#0yJZ^u-o_8LmCKSPjeS18ESH)>LT#>;& zVj1~VDo&Z`F33#C^?@ywN-xL~v}D*jvU|2{t|{mn8~{yJM!w>^(hAV<7xlQ(H9}0( zUnkcvH9E9*3q@9l_@+=82!@&9N_1Q`Ot|g|AM=Z?o>Hoq@gaePn>6IVI^wg6sb%7< zVRrw`d!b2L&S7a`r*mvYqSSY~%`-@kav74@%19}W!UF;+j`j;xGVIM|c6i zJ~<-}Rb!j@&$^zPjVi@ySI?CriBK9_r2`Acmpf7E7pX}OREj4m!AS4YuQk9R3*oxK znPrl-$xhR5b}+zx#RVr1Ssuq?ibg{YM_z6v7iV}JoQQP$QkEkfx9`4@2NPUgze-TM z0M81?=1#U?UF7{AO_BcnGuc7*G5mLzAC`g$aydufAUhCpIadMoPjFL!h~(8~!=#3MQD1(@}{umQiog(G}2>==nG)F5Pzo;Qp z;O357QQ|_GSH!c%>aXD81S5)a#}E zo9+&)5+9BGE}O2N2Zdq}OFw;t3un^y{V`YIDwq>T>_ibd!kM#Qn<|_s*LkteAk^1A2JSjXq~m`i{w-6Q z`HuqE58X&Y0011*)9<59K8Ir;!#{{B2XToxQm=HB^~_v?O()iQGF2s<#&1-m9x8$< ztJv#^1`LpHCaIbl;pYDrGDNc#518!Grz2|hm*_!lUYl-nX(kK zPhC0^^lCxL)MRF!!HY;~4r)-kz58mRH1hcd)RpYpIm1;d{V?DkUYX070UP)RayOcn zbPpuL*Nb553%)|7UD#5d2^lsQY2^D|WJgCKNV!4GC_AIn4S74p_hj$X4@QK?(XF`P zcZ6!%0}1^x29cH{ex}J|DT)Q^gzb<)YLAlt%)K<8-5?#OS1L5SREBxG&5^W`YIXmh zCaAsI$Q*d2C9JU1D?1!^VBj?;W}l|5^jn&iy8MenBXwiaX+_#>gSF|kdQ#~@7tv$; zY_B@l#!Y_3`-0vahMkxc@_BvX(S@I}O7N5V?=9aq1r$0OQzOLS7ZpgxRs*#Bc=|Ip z6R26Uk*PHcpdUw!a4ZPVl$pZ69I6xuLO_+J=i*Tq!%n6g3Q9_T;PH*dCDL#AI!tXS z+9Ay~spKX;%gH&tae3XuQ7@x`uM=Yrjg4v_Nu?3SbKwX65gq`ZLQeKY-=o!^!bi}O z{qLy;MpQ8|2^?kgzP&Pr&BynndE}QkrYS_w8N+)yHd9D?DB@4Sv8j>;C^?8K!RWXX zN*X96&OVH59=Nzu*|Pbv^@YfU${0`; z#0w4#KvFyoXZeIm1=UdC+9NOrRgff2P9Vr29#9cF4X$+JIF3uEK|Syufd&yoMI6cQ z6~tFyqTy}Au$b}ATd7)=)X2Nc&pNO^HAEBXy<$_Qu9V{4)NDuYy(F|>Yg3+Yx6pEf zi{d)dwinM0EbuJgg$TBq?{NwTk5rX;B-`3^}w_zp?xDBb57 zw#U~ewVO&z+S!sYKH6acDHUjZTDAt01Sk>?V-Hv!>4JlWIoW3`@7~^sfQynAWwUbf zKzGElunnuZwcafdm4vyJ!YF!NhohCgJy~8(_BXR~mz%s((4hUnp?c3z@1$s6(eor) z(R{+U$cCsXqKQLb1cV}_aJFERfjoh$>Vo#G$pkoNsQ-)avEPSC$a-O}!2%CPXH{)$ z&5H*C348N?mpJPyBBX1qUUA%Fmsq-ny6kTYJW`62B9F;xdn~&g{}R9SS<3>ZxW18I zBRNRvk;Ic~Bq+j_D1kpfv>2!mbmH7thUfe8tT`FhJtR_@P-nFs-LT`+a>CE3a+ZJ9 z$JO$ETUPmAeARw#>%3qnn`dE!l9LJlBOLA#RZ^vgee?C=1(1hW#vXTh?5V8Qs(((c z|2nhoXG{K-N8r1mKrP6gcOJSFy1M9}pi4nfaWeA(sh5$laiEpSB48hw@9r4mjlObh zrM0=mc;nv;Oz9!(6j6VUWW-d(^}>X4T=jEPASi;CMe)|Ny>OezhXJF)E(T#@7RUws2)7uly`cZ0tdRkr5}=G1zx zKvipuBy(e2uA7s;menIis~`bY14;*`3}zz)6JeoZ0ZLe;S54u_ zsr@4A*rjBE%%fpbM)#y_UZLZ@yuNPd8*X2-a%(gFMXlc;{jX3_kKRti)-U^oZCHtR zTR*Xf^IXNmJ!@B1VB|;DmyCw!^_f-0M^@TO3ze;l3;()l=x%f_AZ+f$4k|A%=1%y@ zy~gG+PDxQDx61O~(8i6w%6L;J?wxxJtuN`vxu=E`eY}$9Sn`$bVz@*y2#gEkFmoaf zMP`$nvXcQ7_>*(k#T4$vbLYlLXHska77w2`RFrMQ1 z$cw={zVLm0XUKlS5+{wi!zbaBr|?f5bU{cblm=H|zZ^Ou9IK?W*;6^>GjFIAf5?4n zO3Vv{^93@rCP}6?9vi-ntiG{mw3&9&S6S(s-;3)>4vEqZ&dUzYiwS9+>CIWmojZ8gmZjh;*XPAx(tM2GJe#7I%lh#z;7hq84a2rY^}s zsrj_hFrlb`WaCIBjZz3Vk_u;m$sJTToB5zzO`%)i4#<`;xkHwXR+`P0?3jDCoxJr^ zsV8->JNkQ;Mn20?)U;7C**Qzv(r;if-w68i#?NVKR=N+lzm<-!v~~CJY|nwqA=d)_ zJoH&+0B6pHkCs&zE_`RHaR-f2ulkbvJVun{m9_tZ!}Wax!3y*P=u zqzyb{QsN9j{UKx^SS&b1WceY)RYaf+lGD^$Y9u!*PzP=kx)Du~7-6WKQ|5a4l=t!; zTGLO~_%EKvJGS%mZZ#F|qAy0SDeZ3QrMIN-H#cXhwy3&&mag$|AI#aBvrQ@u%gPDJ zwKGbTN-HvrGL6m$KJB|W!MJgK2UMNoeDg7XaNT!L*Sov-4y#k zbgudB;!{VL+|<6YE{rD>ul84Wurkl#mIjuy_O65HwI8%okbaecD}C#~#D9%^Yq#U9 zgsHJgFb2|^NrMq-lsF2LBw@6ZdT0&6MG?%23YsajzAJg4D~JnPY3VsvrS-f`-qMjP z8<$z1y}9&sm;>iT{H*)ah6>MmoPKmKTM#=%jpCb`QQ^%Es%kV2hdWs0_n5JtwDGc; z`7d35_!-4UlZa$KIZcL0YGy!7VJjfLlOd8gnDw}J!}RHG{WkT@p*HT4I?Rc3*Hv-JxJlD!i^#Gp+Hv90zU}jUG7i(%x9_xc z-CpLp_fBi;iQqqj?*)fkRaJdZdv+lBNtAQSm3tOpyC{BXNxP{@hj``J{1-+qI7&T~ zCJCWhy>jrblTQ4=BS#Vo{uSGV-WxeRY$M>^LO&g_2UsQ^K^Y66o#fxR1ZM@nemOb5mb#2o~_6)o$J)?73 z*{QE$Q8v%hf7zL^g~mS8T6y0*zx^ki5>CC1l-3>lgSKGdg-C=_+bUWH0aRe{Z^2NQnL{b%>SN;lGCUi8o<2(i0KHy2LwFEF^M?jB03*Il1NEQ z9Vu$^7pL^xk{jsk&7wNmN?t2>+WNEhHx*e?GCAi=QbT$*zBoI|8}YME;BLRAeHXM6 zJTG0^x1&99gJ$TjPp$W#-eIKBVP6(q6B>JLVt`Y@3RKftU9i_HQ2Iu6C+1G&E5DLy zU++ub4!z}d-(52fkAPzb@5^in=;!@e{*fc_!&3N7hDhSzR2M`fn*mD(K0riL7lIFy zh~&zit*?Y0kfV!1Bp?SYs0_g@OO%vG5nyD%W)QciFwO8T0s|DX4P;P-3!L-lMO{u5 z{t55;vfWaMP?9a&rmX7E+N2n&$|7v4s?*%xuTI*Z9e=Skk90n&b;7+1|4Wjt>Utnj zzwz_c*m6kZ=2pz#=h=9FBDO_*p>m+m-)6dF^!3Pb`@!yUpFnS~?%b}#x6qFDsEIw( z892$>Ci~ijPAjbw$Aqs=QrK)cu?f;ajjLuG6R&HSavXI+!U6&l6cVa%RD-CXgM_Ea zvb^bRvP7|GGmIm8i26JqK2IiVuuikqoZ4;kU}g;81zaz?rmxv@MsY2#wcngC_i*R5 zFPdKH29lAl;`;47RiAt*%hDnntE{kHW~dtZrQAgHWPcfS9d`F-Y9)@`IlSPbrI(p$ zppO?cyw{Cucb2ue`%HQ@zPA_7X-_sG`%rCf$&*pFI4*0JGL4S1a2?FK4edkaI#?_$ zT(Z_cEXX0Y`ys-6AXWiXFWztz1(5z(8z?Qy5I?f@`a&#hY4xrcm9TaqJoCCd1y!z= z^h>SDoBfj~scflqAR=#L9kj>Koq+ZVEdL4n8%iVq32&4&11X3L;jqhvxbQ)mBhD6q zUg4(@Jr+BdAcUeP=z4XOoQ3wqF%_#(JeDHrFY$*CXO!pw+bkARALh<)C!O>QTxfb7 zBshb$Px21g!p#6Km>Z%@~6T96!ps1wVa`vd`e3 zT7Fmx3uTC;7-XD*h-3}W2$ms|fYd5OBsr6aWEWY7$>^aYQ`Zs#8eu}qBdW!MBGGCT z%%{E9IB(PoGl`&hlBZLYLndc{1=Oq%gB3@t(EM3Uvvl){U8GN%QHOGt8lPF;?C71o z6)qCjc+bJoguap3ufFXC&Bu-${q)%QjCrDT+*q7ZVhktkfb8h{NjhHlW4^%KC?IGj zvpGG2`2eTCNZD1>#0!pb0@DiHLbSBmJY%|6i;0n6ts0q2hJy%6 zD{_1TUT;NG+l7)lP=AaiaW~(ar9epBAt@{{b?|H+)%Tx!c0rJDfE)FIH|NhmC(i>F z)z_oT^w@hI=KdPUwN0sxZ@O+vnL8A2$mtiVd?DLQ$8EVQtTd-cPkkWub1%l`2w~XN z8eg`8#rJx@}zjFFueF4<_UR`d_jZ^K^S)+}=wdd95@bWE_3ao6h&7^@3wP-r@!e;%$(!m^8 zuegg(#}kV*wcH!rvJ_xL6IcnX8G#JgOeqi2GTu2c2R@u6<=nb1{NCT2zOMOc1N>7q zhwqyL`rCIza$VPVL~;p4B)1UgG#Mg^0rbDs$wVq~3(&W)a(!tPjXA z8;Uw6>^A-lk=s3-G8}vis@hkI;_=RRCnOArU$Yq~DYtb-V}c;GRW?%0}(F?xW-)2J3XW zHw@-yLCa*y5Y2z@D9JNC`PJ~V^x=AS>F(b4?FZ)6y?>Ye$tc%4@yiwu_m`f3y#4yo zXqWMsI_bxAvG;cGfhT!)?ar;UCY@%%b&yl!m~N`Z@AD z(S;;JF%*%acvFGrVCWng6ycq8xFnOrCRluR-j#ANy|rV zZbuTUkLjJ~e(*u(ipm2=15CX=Ocm-XD|vGA8=!MFE2OczZDRjp&uJ^ooV*O(bJoG- zZeC&;iN&E}FbadtfJ$*|M%|9U@v$A|9<&`?CkzAexU(9Vo$V^hh&M5*O`( zIg|D%5{C?93;>S?->8ta6{o}RdV#J7Sb-Q1s3AbuF)BB}QzqV<>Mcazyhi2ss*$0$T^&8oHO)}@6F1zD9GpNij zKg(}QqAy>hrt!k#x*7X)`jNu%8MWEL-GK?Y9+@(i(AYvJzY7r?7f$wJ=+yVFNMybE zS^g;_@MBYm_>M@fDw{+kmHby|tA8etAq7a=It*!BTL{bcXkI*DN36!z#TU0zF!d}7 zK(c85%&Fyoi%f?qaT-KZUrS-XYJ!12>w&*B-*FlzsHKK-Z&?ka>9tjUB)AwSQ)`ew zMwCl{Q$)3hF~GMe$ZIZGe0y?AUzSaV5W#PJWbINF`CP$sP$qa!dLb|)jtjVe3F#CC zf3p#safEOLHB@U2ejR&%sWLtFn(%#8eJH8YS8R3GQtW3Pl~6WHX%Ipw2oogPm(q+t zU5KUnD(HjQklNxGTkBvg<4@sb?DjR|X8tbLvn(qR)-E@^G)sZw&`xJ*CJUU3fLMzn zQPKbwVkAIJz7u7aw~&`lS)thXCS37sz17~ZQ2%53#}0kE?l5nLspjn{UWx@>xo^IG zEF`4$RMbXE*RJ93@;H!LDyF5lDJ15`QyC!t@$%$VTJ_CfadLB~qUW_9%5ljls-vU} zT`dtJn?2AYgdCE+7`zjZT7kMY@O4m~IXy@V56*sL^}PDkY?Z-EG&$av}|E|Xexi-@r9}U9WwTOX?UIN3NDgd?xoEF^Tn12!r^goFzavk?x$iKe{(5^D8~ zkQOh+dL2qO;8N{3omk!5N~Z=IkUIv|=qCao`ZYIEt>R5q;(zVa3e1^36t>TeAE)gl;^ySoyBC~#kvgEQ z`r=JYbc8!3KED?^!@iczIUJS?Im@80aGmdrm7SgQ!g8e(1N!2Y!NXl$Z)y@@f8OkL zeJcGt770x&`H>oT8K>L059o$4uwG`mJi8 zYeS3O{BI93Z2b32Kg4hEEnTmd_|$jCFRm~dvUtUj>^gXIs#{uY~QbwidB)&YJ?`-B=8B3YX74a z(!WzZYswHg@!qguzn* z{?x~#4p4`vHl1QT`VHj;jVNUj(aXpVR46DX5x643R0T(s`UIjr0)ayE&cL6ER@2DM z8Ak+51HpnrWy2V`@d`*jogu&3jV01wRsXIcudJjrCuOverMAhS#caaPHQ#ZkQTv9( zZ~0c)eXBFI3hKVbw3Kdce$ce+&OzyziPt{MtWaZPXqpThfr@Q0p~iDzBVUy-TL}Fo zvafGgBsg#`AQLFFS{|FbNO&0Z6yS3Ybtr=EOu1?jfdc@=7~J%#96G3gj6!Njyry2n z!Jc2NQ0C21Rq0JzOq$^1#WTI)i&2T-W`}WrRjyfOrS9|3cGjI%hkjYUzij#1*qWeM zfe~9{W2YM%FJ5U(n)pzI3ItWZWg6)Zfe=bN70LDU80Mk}tAsJsn zJ%EZr!9*eM2u~g65;^#<2=OPv`c3=@X9E@!%E^)LQ0YWNL0`5zd4%tisvjr+#fB97 z+_*JX2}zoP?{%y7tSm0tR`^$Yom=hRlH#@L`!1DrE;!+}aj;a}ouA9kUGgVgpZEKp zkgO|xJ+`DXx0Ai|gV7$lN1 z#O*kh&Qa)xtVlrNf`e7wOHuRGL)}b2Ms`H%xxvedsEe|@QNbajVzm3f@_jEid1Uy6 z>shmpcufq2ooueC@t-dp$qDq~mB23)J?Z~mMqyLPX*f=TcUrN3o>*{MM5pQWObDW| zB#f%@FjNrLmF!O?WyA1ZI)EuVEIDHV#slkg;F1DsE}c#|I9mh%+e#cA#}~bxe#-Yj zoHi@N%;=n%QHO3tzy0l5XY2#R9(>u{JX+=hE7!x``;qU)mZojeR zF*mSwF|~-PSzJ~!lN@Kor{VH^m?^>}WdlA+koX8LKaX&OhK9B}u)s*F5I(5TqW~2{ zKwkn9>>H~hHQq((To0AA^EVpQh%0;^+La#bTDUU*!$-Nn`o;J98prq6&ayup>6$4w z>w%r~m5@c5CI^>WOlzWE6LS)rR1t=2DMy(z;Hhi0*@$AK&ZY>0qUpc0Q)hZcS4m~e zl^u!ebLmTql4Aw!;B^$9%n=w0;{{G2OrQW*0yTmp&;cp}IS@9Rqz^5;jw&RIU=;xl zg)_!6OHr5#0d@2L!sPIJNE8P;>mI8~Bqq;i(qaHCDD ztNOg3Tncbv|Fg;uL*bLnJOwBudG$KC_f!vHjeSQX^*kpLNwU(JJ3F(&0Ew^BbD23+ zJe9BLuij4SFl-0a228p{nL?OB)-neSst;j6VvNxx@;U&MXn>jOd?={WaYeY!JrAvjPXj1bKHnky-zqp;ba<%46cUjZcZTUrao}5|>J28G_?IDxF z_Z6p0cHMdI)%vM18n9Ugan5u`n~<8a8;UW>@6m}H<*=;+)@`{i?Vj|)%LEKKuCgRE z0IS+DcPx zoPT~y|U!1IU<5wB#-M9A%tQU;Dq(P ztPCGJt0`~xOOL+e6xD1hb7y0msh(S0<$mX*AG|z$FPYROiDHuakQ26Qg6(*D>a{G) z8WXJIPn%3Rd@TFePmS}0W63!!2d}tYN>9-6B1X`9(Ia$08llupDtKIqK?vfQ|j0;BhhvWF!+wtj@E?G)xYH<$& zQYkN(3M*0)WwZTj9lXG>zTtUyf;ulLfqG2Yt>FfmEor8Gt6u@w5(_j-tksW@Q9Ce7 z?(Z{HHOz6%?vLxA>8cE42yA;|+A+Me;Q0CHkF5TjR;q8Uioow_zJ_ut=6(;6gqV=8 zRXZzOi;Fc-6mha0RTwEkivk}z%YFMwN`BYXwQvlnei!}m)zcl@)?9tgKE!>_ec-H= za+9Di%@2-;b^ zckZU?3$vBJh`N9c5kk|#?XHvP)aA%9<3^*0$vlId`qz7}$EO-lIm9waOOZh6Y8kqw z?R-SdA{Un>CZq%tQjvurQ;>NaC93(16v6f>$vquzQ^`C|oRO+LDb%81dAOb3tXZ>X z&kl(@9o5(L>i*TSPmgxA+IR=F22^j?liv^I*bC>5ovTo^AV3-ESwnBUkRSw@rczSx zW)93nw_3er{jx-}pGsB#rR(`0^5)++1#*yBmLF}ZEr3GNCE7lN`AILQHZTA(p+q4_le zQ=wk-&yRs6{@g04j1X=$dy$NI=zmcVb=b?uh|J~TGkXOF6n9Xk2xV+0>HqOkPJPye zV=`q2S@~EDkPm;xcNW%~m}LZN&P)xani2PCr-f>Cp^%LBWHXl|qlgD!kxOw>12L5X zz}#!r2ToitB9)%gnHIe?qB-LfvTvkj*7lodWC9kiCM6GyiV`sL8NZaw4cl zqd;@}kCzm=l1F!C`VF!&c1;FjDlKLK0@6*16(8jGfreDMWajiUg`jaO!-5H*p#eiZ zEtrfr96%$ahpC#aO*xUPi_WOZV~w1r0s=RgEo1c4kgo@!GXXcG-P8^K;2T73VBkOk*@&-ZiI&)d%g^r^PA{&ADb|~K+Ud0_CO3?J2s&6lo+vRc^;-2y;P9&LlxQPEbLzEVpMs+s2W;+3=|}TYRtGEpn!=Im>(Xi5w}Wo2N4(&baL0~ zRg~A7j#Hf}YBAd-MOMOO{nerdpGvN>&2@i!MeckTKXbE+a~iuk>_fI2jD|kTZm$?9 z6JDxi-f~S_@9e1@nA?5Us3bf5V9*DKbb zP&y&KcRryY#rQ-CbSS|xbpLCj?Ecfq@DJGu{?nU$-xNp>)uE6ihZJsbQD!Olefypx z`E=J0+SW@v8Z(d=)UF_4x9f`+NH}N_g+SSKu@xH?$R7>h(DT66<60|iXRN4MC8*-F zl=e{N%Z#|mf0CaFXPmDH541Mejn@l2pIPj#h}R(3&XhMQDdFe7PNn@NPD(Z799>SW zW-e!SnDwxbc9I0iBKvDHk!s3aZZ_GAhzw?))0$HA=k)3z6FTii5~Wi`&1DT~9lrlj zpyd(GoOv8UwNbpryug|AqzIjqT)$hDUYq6*xG&%n9V1yYI5a-$ACRSpbNEaa9iHkH z+sVTSg;)$dcB1J)*4lE0#nsrRI68uH)YC+v{@ZjI)L$5FDIb!~W$TyfSO3MV>BiRV zTTvj)j?tpxlIqpXs~uxI%a`-_A*BP;KS87qMhPa?L5sWYqh3cwC44-{UW+RhQN`tK z9Re?6b67@W}R#CCX{Gg_3rHhuII}Ag5ycK3mkaW7XfVHd$sVTpB;~3I5ZZ{`vC% z;|P4;6sS98h$Id=-a|yP8K^8S)s29DMxT6`4+Z^<2ulL1VFr{{;thM~v5LF8n(-zc zC06MdWgF0_K&@i3z!a}IYz`4heJ3PT$Q^8iU>6@`UeyeyB5`DaKpyC>PSfK!2%I<< zO}&!XARy)TuJ^IU2|4S1b~amx#Jf}N{S8PJnU}RLE60yMmoHk}*g{FjsYt&>Hb_lg zeAVxWamBK4e|0MGec6Rxc?R#cO{|4X1X}iwW6x)JX(djGn8j;F^6u(Jg%DPg2JW*T z2nh7DREv-~7Nip}GV-arm+`!htA~6dy8(2d!49#@-TA_ux~z_=Qx0VdGemM7y0;9X zku+@ue>Mj=D+Cqhg?3 z{@|2no%VwUeT7Qdp%mU!$j;FrZE5qt(=&X*Z+v|(i?h?C2L zOif<6*1ROxcRUU#4w;G--s(jiGyc1gmFzUXWF^D@qfSg8yH|l3b8O1&VJ!nZ*mmL9 z+1qC)YK4f?uAllPXUVA&;WK{SLG0<9JqB@cvD-`Q$8an)C9^+o(B+DBd?;&Z( zY>wV1)0^7LM)TS0OE3JhCFK_x*0wF)BT&-=KJOB@=p(+$2he3we>ZPE-CP*qQ$F_QaemBa_( zNRkkGGAKu8Q<6YC30b*|cFPR!-V5xyZPO!(oUH8Zncg^3*i@l8a`BXTm;164#{TM= z)+?r|e@Vw)YVSBM@@Vp3=_Jvox3;+0yw@_??^@4jDFgmC@mGw01uguAyL zZ+*1#?v<`rtLEdY8B*k`WkHkZLNtPT&x zf{9YhP*RMk5tfSJ4-G^zB^fxgh6m(I2V=EwtZ;PO|7iBY=56NQ3pY%=Ay}^CLDkt_ za(7BpThs?(){QBci%S!GFQ)CM%$W# z4phS=Ni7Xo>=J<*$YPf;F#Ez$U%MRl&o=grTd+5hWT==r6`Mv3U^vjj25wwas}Ix(sg@P3hqtYE3Jbe(b7cOcjM5%L?h6%$!&2q zYp(%xR4tUSvFDAUBUb?aTvERlQDahvVfu#(LOArU<_d|G2-JTGW;-$w7DItgaFg7a z%4mGx`s)ysgs!;!vl zv4qk*kWU#E9ND8=DaWIg3!OL`@>?w>y8l8H;BwU!ei3Ri|W$j3MnNo+| zp&k;=iYgyR7Yk;{l1H+c$OZW*Hzw-Oz`3OAdWnEec&>~=+_X7@v?;lHyD>Si7*NzI z=DqV~K0NKH={8r;=CbLXS>}QCytJ~o(1u*A$o;#c)a+*jPy(A7_U?6fX5r0_OS8|Z zdKh=Ty}H=S?!n_3#~Yik?DdHJR7S~rdbni3i~`}lAw^J^5zn4h(5Sj ztCsV=o#uiVwCTBh!*u3yLzabAIVFVpfm)=fiUPTJJ&x_PYC02S%R>(Uvk9kRQ0Ez% z+DsS8MW{B8bdN0oFSals67DhDzerWIq%mAE^-hWWN>}wYX-f^a?znk64l#gT0P$z&G<^Z&z;@v__e~1t_cx5>dr<*rsjbsnYBO* zyxZc7-E`GTYm}F-st-o4)K{X(5((+bW<@*XH3?e&qz14Wwed&V0Zw8x++4RnFPUU16eUcEz6Qiq3{7)n1CCzr94YRN^@t z>xMZQvo|y6h@-Nw^7^|MGnRD!k#<%V?K5`!iLof_Y-v`zVs;eM3=ie2u@*5YxLi9U zTQiF)(c&W#Mu&z#ZliXD#EbAZ7WcTNEU+CrlEo};-*V}M=JK$%NG{jJ*+x0&Kwgk~ z*72>OA^9)n?{(O_f0n93*vY27udL2RlrP*rXS3f<#IU}UB^k(%>cKt8pR^h4k;#weOn(%GaFKhgu;Tkm*Bd#ep{~y?NPm%X90?Qfp7HT0l9P>Ro7c zY>%GX885HDuX4T&<2{1dONRP9e6YIcl4}}fb%&C|UIXXK4`&$^c9eWA(j95KNF9}U zqgj&QVAg^m@{Nm_anLBB%SbL+HsPA9quDt7(V1U=5Bys9encd6*Tx)Uj>HdLd^h4_ zl>hsqKBa?XMJhEj*H%qUaX%w7-!X~wHx?3*`cziY#M{rZ+tAFn8zb%UMmOwi(p>C{ zixuRmzl)jHD`FnN2BQ%K#sOBCnq)eL;=VBKVybPv_<5hVOAi^NoDFGTO5TO6T>jzm z&4+tWezab&aYo1{-NEaxTbB+$y87zeXUj)qIy>W7xoUa?0<}+=8L=%427}HrqjzQF z*T`}%+ZNKXYvfh8;N3wf=~Es4Cb@M@fLxkMPk2z#d9P zWFdFVycL%iRagO65I#NYI_BA-QMqo`mB;(S-Ufc0v0&rQs5b}JwpY$oxcugFWc=f5 zT$pyW*2eJwrY6VYG*`mYUv{>Tl)cN0%;ew|rsw>Vm>iEQFX3G<>dg0t!ZE|YSwY-! zLr&aw9kP}ti-gD}L#M?8E>xmP z`RFiIm(>*UI50_4W!Te*W{r`Ych6sGH>=^L&5~=!u!p!1GvJXiU7-dB#bz<8L=&Up z@?5}|XaP0}$~?+}073=A<#K>U2L|uBSjHhN87i6p_$yRaD?YzVOC?#~$V-JkKjQU@ z73t~eLwC;|zjrM7MA&(8Hv|X;v9l;Lm4z*WSZ(T_AO+O*aS~p&N?b&@7o_1aLC^rKeTgt%+^U*Jl`b=0eY_dR2DDp#lpdQBJ7=P%nWD*i}kY%r2tlGPnWX^I-%~9dH>DXlhdid~= zXXC{cxJT(m14UMp&JzBiCpMIE7p68f%`Eh^tJmu#i3;r3uU8dh2{BFLtZJEoL z40ESlJFf1FYj5mp4_qddjs)^b$f`V_vAXf`u-pifUt?asS|r;PrD5IYzfPuxN$dXy zw_O5$mj8kg_+cn$smTyYu+*SPhDa)mF4LV3HRI}-<=3HR98;+>>M4`gYXXB9&G?+2 z02seSX(w^y+o}G#`UDqU^ViuGaert`eG<(IKZ&#uk_V#!^b@Wz%BEh)@lmGMCJd22 zi(`dPl?Sb=&dMZ4SDXdP#Ya0Ei|e1trsxQjb_aW#${EgEP8v|FWW{kS(GJoJghhFQ za+O#THRSx8(3*=&G8Nz2&@JzSXA;5c?cC(x(lhkDifc2myuv(kJu8i+$x%!pmN5>} zh2%j;4J4nlJ+{wR@K#pE7>eHD4xd$DY||hoQ8a{Z#UvPftctXg&w>M_GyWha7DJ*1 zWOq=JaEjQZCe#2j&}UA;7ncp%w(+e*aSK<(JScJta)?n?x0r&6qDu`; z+}%}{MX_?aFUw+~AT}whZ-}X+Q+};|VcZSoG~k%U=&_PzDDi2SN;@e|t_3H#izSqF zf@P^4J8fG+Tu7cTT?9cIHD+2`n6t$iBtEmE%@V6+)Gs`g7agVS|1g^$RK1$Y$VkrG zr>^F;H`!%gAne$ESk+TmeO3PjljG-G{{M3XzHbWDci$1oC$^J_q|$+MgB@^F_>dnn zA8raHz>&bwVKx}-!5gCJbVau_*CmZYhCpdqrv=fdKyGF#O0?Q=K{Iebadn~a8->fJ za?CW_2mt~(Bxo{77!m;rJXSaOPpP6h>S)JaOrrYpaAw@~28Wcjj#U4}DR^DkE&V=H zWlEmTHF_+MaV>V2`cb#(UbeB9m0kK(QbNv&zsm(3lxyW8 zj_mw}^$uC!(y}{>Y|lyVwfD%lYoJ}R&pslpbbWdQ?`EFS!kF7%)-%>0C~@02-6>*@ z)V?yMBfO|Eq_I|*ezfkZzt;RlaK-Za2e z1l1fg|8J{V?UhUwgaLfUScFaGKeli+|n6XB%nXx&|DlSOBsJ21)I6675vZ>!Nn^)Yeob zQON1#Thk17iTci`kTWx$c=%S9LJ@(AJjdSMfca`#;@D64!Bex^Um|J?}u z*c5=R2l~akM?&?KB$_Q&q4>PPb!hcLuf(&&6JmPGGL}F>pd* zn7c#_g`##scx(X%y;ab^Xo<1FRAa}NX`y0LW%cvdwhBxm4?sUO5!y9+y6o-DqcKJP z+Qix5{L`i9$&Yvz9xlC(ch@UXHf&7t-d8HnAPkPgM(D+Et z;b?y{Ub|BLe}RV5q5t*@|L^AR&;RScXav4*3S`Ich~&;6h@>u$BSRz&n~hM2NIK7~ z+H1G6;kJ!tLp^p4cfk1IAf^XKF$17NLGl-ZXBgU3O)8Vn%Q;-IEXm5JI-^zSz}u70 zaCX^qC&fGYBXU9=c{QJ{Y{LlqX!W+W4mt-f$hQ8Wf01UO8OKkvY*bygqYs(x9Ei}KMDIN#ant~x zsRbAki3P;+)CCr9-!%Qx*dzk5{4pwFjfj=}ZGpL*43-oGuAiA#mP7{%Eox=C>z{CK zO^EP!y-4c)-F7MNnv?@p`n5CN$G4O^uCNbzQHgsex6B$_<=ghwOqHvdzhuVeI}6OH zyh@MjCO%fjo0Ps<-Yc2Y9i5(Q?&W2YC;fCz>GKKWvKs$zvz1<6iHYM8bx+67RlGV; z01c?1TrbOo_uAYe;i%HoL!&v-Cds3;GwcjJ>alP!?L;#f=Yk@(Er2R|Aqac8S2;|nhIUqcm6>HH#> zVI}Xl*fk+ObL@jlTvzPrn|xv~Blp*ld;1HY1e*9;bFZv>TUi;%Oycj#;ul1OX6Sti zKjE~ks!7!-C^y&FRQmTyy|-aL?y=(Yf!(>e6VkEEiFIFBdEF1UR5xfnVw4+p40Z`l zkDpP_|LDEp`=&sdV>7Q1B9ezIx$hw&$vVDIN2%A$MLo|@_|2FLg&PJ^TwHmJWBN68 zjLS)Big~nVxw8}kEC2+x9D#C&NCLuQDFcCuH-Q$BIJ6?9hg{~A3Z3UFN_@~b{wtap#{O%ba-@>m;)KhwT zqmh<>^NHK{r`zGvhTpd9ZRXgs;+)@2X;d`noz1+iKl`Su(6GR#ca)W@51PVAvlz_2vHwFL;y2_`RfC_5w zX7|j^mkz9Yrjt_sNCD*qC@@{MjOUlWiBr#Te2+~tShnkTlgPR~JNFnwqpi!nj*k8| z;mny`x%U0{r-prK>+&fddcM{p;w0hcv?rYPGZ^q9BYpV6_hfZw9}}J*+O@E`S;pdR ze7S1fEIOFVmygq<5+;zvkr{pX$rOoig>s4tU2bq~OIhJbW@yB;!^KXw!V;|H6L2## z0UK41wbz~=onyAQHT$fan~!^iZ@5KmL9qRqu6M51Fqx{u-)*zH6T&vowU7i2*!QY7 z{TW>N#2TtPz$l{7=iO)Zvk#c;OERIoORiB`Aq+-4g#bMwT#NQ}kgt>2NLJ9-hRuu` z5mv@SA}k-;2Y#&2oOUST!@STozm)p5X%u4%6hxn(CV3nWG`77Is1ci%9$S-sY*}Go z>-B=LCER6w%|Kg@zK3)eHzd0@70H!Q4;XB|?A`UX2}(V{!T5<#{-c-kKj!_uZwjcp z_Poq5UXs{y&v%Jtj+!BVXebS)i(YA#)sNd?WTor8SNs)tIFo^E^YCFhOpYcI2qq^{ z&;^TEV*#b0+`RtyEYn!uEr%RtoJ0%Dv{7Nb=$(J5Yf8l@wE#2wPmfYoJsIC}c4?ZH zoE%%5+kCNR@!}=cHl?ky<@`A@Qg-v_{AQ~Zw$z*SK;R9!t2dD5E9f3@FiCQ}~n}%=< zi)g?`hb&3<*H2Q6_AZJSXAe0XX)~da6i6rDX>f`%fH-cdDk~(*MpBt`MnYFmR4!;- z|JSXZ&rj?8UYD=Ic=@@sx3@pHdidSEh^-g;9-Z1DZMFVwR^V>;hu)3?KSc#vLodGF znM-%X=?a=;4W)x2&O7j=MkwvTN_yY(O|0nuth{v0b;LR94*O-K&)2yP(yrS>Gx9%1 z*u8B6HYTLG*gBUdm=LIAraVu~8Z5xHaUC+T8Jwt@LXvm5FqqW4G@Y5xTpf6 zB=jyIARua}0p(i_c?%eI(+S;zZ zVeDyc!j;cL{VQMIxLYel=|AIIS((p~&Oj!<@EOnGmqTe#ZqC<9oHUKV7_^t}O8bCW zI~45R`AWLy>rT&z13Tuw7D@{}?0$Jd|L?5W|Aw>t+&=8paY_5)?o&`zJCQ+<@{3cK*h4HmkiqcCcxtgQviJ6x zevK8;i()Dy$=t&&jM%|i^9Fx&e+3&YsW$e2p?Z+Pi_~)(#fxMjuZSuoAH&igVX*N0 z>WX3mm^SztJV?_ZHFL9wv6u=7<{IKVF+=bG3kA!IqDxCxlS)&|PWtI7ZUJ?DVpbkh zez)6HMPg~6&8CC)WG>H1ftSISU1sPwSN;q!D?2|vU(4}+j=bsKb_tVlCvuFVq=pQB z36Wi$T2aZb>!oefl4|CRH7_$%sQq+mG*<_rmBG}9apAJ5+re8JCFNM%p38l3-TDlT zJXw_9O%zDwApqxy9YU2cI;sqDXXORjklO_{Ns{S~FpbSqkBQ<$ce9bhyQ!#h3Qr~1 z)n`w()WICfv-{TQM&zkypUxZ^*srwZ#kNN*GCmEf4KkG_A!sAESW7-TBmH?Q?nRbc zUOCe_w8G!>P?!o)E?C0*H{5vDvHgGPR=VAo4bCBO(_kErg#MzWm6di z$x;;q$Ikpf=8bm0sFq`<@9w?(oFY8-->{JWle+k6Dd;L)&;8;ih-~>H%3YE)kJYe% z{7^N!w6FakfFa2ftl~T#Tf5uFC!R{j?7Jm=tn(-svs)}tG7pE5T+qs_^yR%_S99~5 zE`B+4;f{$6sYe_?a?FyAKQf42vV2He6-Go$I2zRbx`~GIgF%BfbF35-9fMo*tY>fG zLO#0qA}+*~P1u9JVmF}Shy-fH8bNhIAtZUVgbB6EYArchGHabOXN;Z4UOvC|)V0k~ zm8CCT*6@HJbto10`e8hKN4k7V7`E9ou~cyC3^xKB-98xHEVEh)eKBi^%wU3#mJ66| zMv_>|R$@c5J>FGdj69-}wqOVG`k^>XAnuIGFSStgY^3Zq`m6D_eLy(lZK9izhQh5s z{dQ?>)(ZSi{kG@M$rZUTBKW8H4e@ehQd^{?I6tw3r6`%x&{01}Wbp_$O=gOfp1P>3 z852*E>oLj{r>Qt2iBf|cvu?tKvi+bu3HX_V%F^1?Q3B7TwdbyFl|3pWwm#J@X5z%g zJ4LZ_&9WB;S3mlF@7C9==BX2R5z{y&EK6-hOaMN;1vJD5WIFlGcJ%G)uj~CkX*K?f zjOB+?Ahq&by&-Jtz&Z*=#3YH8YVG(7PTN=N^q#{ZF<{kC9 zJU^fQ+!Qt``N`7xa=OGmE#XY+gN6L|p_+_-=~CT2!l+AiyeHwE%+cfWMf*g6gUSA# zMob?k?}FL&1M8Y2{l_*gXC85iulJ~|af>x#L01AJ6OaLj8I`LiDO)WTtgR|0kr**c zu&wVix=D&;2?i$-+=(ZN^CUO~9E)xQ6cMZe@5bd5Fp`0Qf#VoLqDF~rG@9fTX{bzV zAz{#(lf|dgKFdY+F|T=+7?2*R@#@5hYqt<=R_WcM#&qObRax<@7!Dp_rR801%NpzQsiBi@+SuWFej0cpL@0 zhd+fSgRfXPj;BwI&{|)@o9EnNpIOGrN;Ac~v1B|v2@+Hz(|0VhgzOXH>n(I{{Mn$V zaMApwQ+w+E*m*goz!ls<#W7hu!k&yJ$n%-xnoM%J<79Afb#QQ5 z+=H6qlGkMKCfcYI*%kWfjyf_51~?pswO%9IyDU++O*U6&I%aFNyB8aT7*xF7_UQf2 z;0s4)D*(C=#-GcxY`){n0%#+$9L;0Tppu}I2G((wgH(QNz<>bYpjX2!4GCu2sVGQV;cE<(iWHH{I5qKSpU!@Urer;v7+Nf1U?(IL-5L zd_s1!_Oqoe+K$XB$Lj2yf-28aql(nI6{)(tivj~<0|TSW&c_~gNJ>8!Dz%gC6XUKa zLveI+$1pwveb4pD@4LQ4T~f?VM$7e-Uv*A#PVKgXpKZhL{q{--RlrOG2iP4ayP53g z+M#8F{b(?Z0b2@GP)%$eN@wY#vOq==Q4UG(W)iy#a(#8|^31LT)jJ<9SthoB>|H1132$fL&qD5i@VL9s0C&J<4T~P(REUm1?G=s@Osj z=6pU6aEN^aRKy1W{{h2~a_oQ!V`f&3YHdsM5z{3Zl<())U3MtDJFm8WbZmgy6T1BD z)Vs)Cq?nLhC8tBqW?;3h;uLbW7@NhHC-~<$xMWHh1mkpVOkD488cz{U3GYGRG?;JT z@*%l@B(_6uMDjV5X=AqIhPX;hQ}EEL2S#H zZ{0xmE*f#0sIV)(wJd9WNc9GV73#~8GKt)chgQ7K=iij@J)`Im$ZJrbAZ$&Dcd9Rs z!*cRnVg3$sVU_8{^k zga!Ci!1=ueA=V(+MubHI&I>yQ@rf(barmt(SbopfYhnXdhOSm0&+Vn)5@1}(i7|J* zj*amaGxH3B*V;9stJA`%I-__<-{qH(17D1Z7{z`; z!T;Y?LO+$lLw%U#JP698=!$wo!Woxo1o^zU=zXQP(X%{b2^nstWM^sv{SqrSl* z>zig?&d(%Q?yMMt^^hl*9fepT3VD0p%}R9&8MCuBzgN7UXe>0F@{gCO=VMBZAG z+c|Qisj~c0CTs?iSy{X@*@oG2UiMz*{g=c0t5+J-A2(DWI#bxo@T|@|f*xO1?~7cq zl{&HLlu8^AdY3n6+IP~ZIMt%f`6^y056lZKmR3Hr^ol!oRiq*1UFoGp?12p);`f&B#Y05M?W37ToRG!~fW zaVJsLQGSJ+>$GO&CrX0x&?8j~39humB))DdiANg3sp0N$7Ixzk z=Xl~0X}$hx;1!A|u*4++I6mJ^@Egr{gO2v6%-r5oy>zbC^vWYn=W7G=J71W|jcl5$ zFt$M7)8nSkAuFr<3))R$c2~Bi8D8w)_A=o3n&8iuBINHS<*nUzenI`x>317y>qTCWIf3LC8wG!{0AV{cl}xzdrP@KLbCM0#OSRNkTtk zl^-OM>;`nsMK$&B08drYPP>W${D&&QlcyO<_cdq(fiEB^zlx_)1-bxoE@sJtUPCHA zktBeH0JJ8PyT}-0b>a(!i2?^w#%or4sAWSVXV?*IS4^3Mr^e?HRu|N*+8w-oiwp+4S`C zs&i(i4ZLp^^i-XzvoY}NffoI$S*(rkb%04ENZ>!cCJRt`7DC#(9FIpS7%IgICjxU1 zJa~jOpj1FG&fCD+nx*{6+G#tJ*IcoUX0lB3m@(a2hGF7#=(?a)Rg0@UT)%9nc$J1L z@1^Xy`!f!b;_Y`L`Kvxpe;lc~<{Z_!G;)JbXu^8T^k$ZcFj1%O-GbSK4-|}_KD{eU z34CSb`8ucYOx4-BMseObMQ81VPw$I%Kp(F!4tJPy>}0D7LDm5omRV0BD=fvaq|bmX zDQ(0b^dV>Q5m3yJ2m?}V5g9xZCZJ`4l^i0VDFMUFEjOez<9i18*I%3`JDq2uW7{-< z4@)Y)_Q$BrlCE3BtfaYAsTntI)6MHt3p`?mWV1_?hyMsaUU$Q->E3U5RvZs+-&XSU z)XEV{qyFpjlpkF$ZqXDZx)UTwEt(CU_5_KYNK3R+Ub-vN?nNx9Z|NcXx2xgZTlk3}c9T(_>Df~htvYIx zNl7%UA(7Qd1c5{}5<|jRWUrSxH&&QN@?ynLN}sDaCOnhF>+njn7hA$PxqngbG+Ivu zT7EoK{ktTR5MD74y}};FuWoB-K)>6&;`{vP^q?zQwRn6C$#j&i zi8)|Cq(P1bB#6Y9P^A)#S(5^R3g{QdtYWaW!#>nxWG;JTSgjGH()eM?a$aU#zWfLT zIO3G$oSMigOzz<<1C!P-!@O%dHmJ-GdbzI?r@KV%YM-6wV=+sucDYRFsN3I!{Dhde z`0V7)lw zD#Dk91I^4L%{YPUEZHKB1a=oj))XfxvCaEz⏆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 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/36.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/36.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..65cff8e5c723af1fa4fe250d3b6faf37a65457fa GIT binary patch literal 167100 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

~|P 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 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/48.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/48.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..84cbb0ca7176c2a5fbf3e6fa075189f66f5d0c95 GIT binary patch literal 167100 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≦|Ss?N}mirL=b$y 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

    cQzMH_NJi(_GWwM(c8dx7QoYE_ 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 j75L8;_;l2|7V>4xdQ*oEAT%6Lz{7e literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/60.mp3 b/packages/scratch-vm/src/extensions/scratch3_musiccreation/assets/instruments/20-synth-lead/60.mp3 index 0c90c3e32e8ff2bbbe59c150b0ab055c2f2e841c..ec8171c70fc7a51c40fae43f03d4eea9169571cd 100644 GIT binary patch literal 167100 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 z

    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

    h|aa##p_w9i6ZE*Uk(lTiP~T{iRw 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�pZ@m^94NSO$TQ z-D)OB^^`o+$|z&R`Y6aNKdP9r=tSUr?UIuc5f!nU3Z5BH}&`4#i0 zdJ4|yY%K15Q`v@jlb6n8N>;gk1|`2E|sUA+Mtz+r!IO51H3cfc-yJCqTzue9<0aj?!l zHToY58h=1xUG_XFD13fGiJk<7PtudZg}Nym$a4MwUg8jSR0Uz6#&BwHhFGGSI7d_i ze;(bGm>=M(OpIPA!2-7^>TJC07<%PSh|Kliu$RGXG_YNZVL2;w95O?d0}ejf%Cb{Q zTip{Iwd&lIm}r)y$99dnI_ZUx!;CYfR$RGg9-AgoVX0D_pd9B>*Qz+VKK zgI0$m=S7v*XTitle6JB{=Ed*N&!1w}_yfa4H~+DNFs~kuyE|(ny9#{LN*?Ey#Y6YA zQyM2h7!mQs+>rn*4{lt_kcU_>Nd{XZTgbbm9-hc_RT628;!^A8Z@xYxbE3YVZ}KAN zba)PqmyU*^b$2HkrNv2JiyMXFzotbU>AdTAY+H-4`Zxbgw2zNQaQ4{c+&fKU=2axb zis&x%m_mc3nR%IhRP%+%np0%?4Wz>v0UEOoDdw8zRJ&>=;n4b}kkXybqIu4ji=Em8 zYw4MmnLIQ#{M9(;IH`7@VC@536!4H}D(Sv$ze}GbIbD#gdaGEl?o>*=5_fFBnmKo1 zIn1=Dl79$#oZv?hp*JL{l8=(ur>x_C>&K|b9Ly2N!4BeYVn3mA)OIp7kCIJ|`>DD- zDaJYcXnOC*qDV8%u2PGlr0@)VC7viX)j%nkvopTXtKZY)4vnHEzlBguXe$|OxUgYm z{aE>fS-h0%0e6{w**15ljI1@@d30By*Qr;GJj-;s2^>u77pR7dU0Ia*%X#|jV|Ds0 zf7XmG*-wboNSV=#dld$r%5+nIJX?9-%Yi||fFC3*qzNQtXrB8#w8Es@Vdx;fd8r<^ zYXw^{&KxHHUX?WoIJA4JmRK*p56OC3-w0ZGrG#;=cfhIhd64*^qAE_%C*Y_ z)?d$ipB4Sq_Fd+D88Y%Ajb&u2a)f9i*F)Omsm11_>cpeA&(17ybR@}%UGeMI=I#rQ zw8zS5F9dxp@z&$}E+)KAhF)2IGN-?fMWjeYSV%`ii^NAG!e8PEZ|dN7?pTp&@K@kb z1qNtgXSt1uOTmba4fc3RUy><_#q_rxNd+y&0a_ z6jZ%9_OixH#Y>w#h{C=FP6_&(>m84r54_OjqEBH`9ly*u|C1kW+3k}}3%I<*?^Txj zmwAWQB)?0tv8-C}Jf;3}&7AGp>93QF53hOAP=0f7UCos*fxhc(E^9U_=@%O~adioG z*-vxy1zEUm*GTyFRh`nz0VCVr*r4}L*Qj5(p38$C9p8xZYkLYGyr$;gZgR@Hp)@-- z|IS`vQK^cz;Oy+!LwEa^?5=4nBZp9gEXz44wcAOoMBDF!pFeBb{1UU#7H zb_=soZEso+HM{N4b%obucRaubjBH%9JHB>P5ARgg9vAK`zH?^sGS5f-!js`;c6}o* z{d1XjmaelGdwHi8cRb0zv*hjY*#+-HdN9lzwk`cX&L#QFG{3~w{7803nd^V^sI*2Ue$VuL>*^u+%!<6Ej zx5^C`SyY)*dG~dE2WD7?yvx39jlYe0zc}uCa@Fnmqqncz-{cXd1&>M2YhRik7+*va zTt7AQOSkp+)k*%Zq8o0bW=k!VeY10gDfz)h*B#yP2I1L-*G$7w^22yVfo*`h8jJ)e=L2D z$#t`C--olyLk%7+zLY*keYrddr>c4|d%7VH&6Q1aRaf%xF^W5tOG;RwF2g*3KH;C| zQvV^Z|Nk69CP4xIKikQFgxojzeQzhfXbUI5{@1Vn^$GmfC-Bem2}}|i;nn^ZDEzbB Q^8dQd|M~>}Uq6BW2J^MX00000 literal 0 HcmV?d00001 diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/manifest.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/manifest.js index 2a1aceb4b..09f9d5ca2 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/manifest.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/manifest.js @@ -42,6 +42,14 @@ module.exports = { 'instruments/17-music-box/60.mp3': require('!arraybuffer-loader!./assets/instruments/17-music-box/60.mp3'), 'instruments/18-steel-drum/60.mp3': require('!arraybuffer-loader!./assets/instruments/18-steel-drum/60.mp3'), 'instruments/19-marimba/60.mp3': require('!arraybuffer-loader!./assets/instruments/19-marimba/60.mp3'), + 'instruments/20-synth-lead/24.mp3': require('!arraybuffer-loader!./assets/instruments/20-synth-lead/24.mp3'), + 'instruments/20-synth-lead/36.mp3': require('!arraybuffer-loader!./assets/instruments/20-synth-lead/36.mp3'), + 'instruments/20-synth-lead/48.mp3': require('!arraybuffer-loader!./assets/instruments/20-synth-lead/48.mp3'), 'instruments/20-synth-lead/60.mp3': require('!arraybuffer-loader!./assets/instruments/20-synth-lead/60.mp3'), + 'instruments/20-synth-lead/72.mp3': require('!arraybuffer-loader!./assets/instruments/20-synth-lead/72.mp3'), + 'instruments/20-synth-lead/84.mp3': require('!arraybuffer-loader!./assets/instruments/20-synth-lead/84.mp3'), + 'instruments/20-synth-lead/96.mp3': require('!arraybuffer-loader!./assets/instruments/20-synth-lead/96.mp3'), + 'instruments/20-synth-lead/108.mp3': require('!arraybuffer-loader!./assets/instruments/20-synth-lead/108.mp3'), + 'instruments/20-synth-lead/120.mp3': require('!arraybuffer-loader!./assets/instruments/20-synth-lead/120.mp3'), 'instruments/21-synth-pad/60.mp3': require('!arraybuffer-loader!./assets/instruments/21-synth-pad/60.mp3') }; diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 7b758d348..37af4481b 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -177,7 +177,7 @@ class MusicCreationHelpers { }), dirName: '20-synth-lead', releaseTime: 0.1, - samples: [60] + samples: [24, 36, 48, 60, 72, 84, 96, 108, 120] } ]; } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js index 386d4f55f..2da5250fc 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musicplayer.js @@ -180,7 +180,7 @@ class MusicPlayer { }), dirName: '20-synth-lead', releaseTime: 0.1, - samples: [60] + samples: [24, 36, 48, 60, 72, 84, 96, 108, 120] } ]; } From 70fff47f6666a4a083c67ed7119c44009604502c Mon Sep 17 00:00:00 2001 From: p-buddy Date: Wed, 27 Jul 2022 10:47:43 -0400 Subject: [PATCH 145/149] Got everything working --- .../scratch3_musiccreation/index.js | 84 ++++++++++++++++++- 1 file changed, 81 insertions(+), 3 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 9b94cc028..699ca0ab5 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -25,6 +25,11 @@ class Scratch3MusicCreation { this.runtime = runtime; this.beats = givenBeatValues.map(this.beatsToSecs); + // whole, whole, half, whole, whole, whole, half + this.majorScale = [0, 2, 4, 5, 7, 9, 11, 12]; + + // whole, half, whole, whole, half, whole, whole + this.minorScale = [0, 2, 3, 5, 7, 8, 10, 12]; this.musicPlayer = new MusicPlayers(runtime); this.vizHelper = new VizHelpers(runtime); @@ -327,6 +332,31 @@ class Scratch3MusicCreation { }), blockType: BlockType.REPORTER }, + { + opcode: 'roundNoteToScale', + text: formatMessage({ + id: 'musiccreation.toScaleNote', + default: 'Scale [NOTE] to [SCALE] [TYPE]', + description: 'scale a note value to the closest note withing a given scale' + }), + blockType: BlockType.REPORTER, + arguments: { + NOTE: { + type: ArgumentType.NOTE, + defaultValue: 60 + }, + SCALE: { + type: ArgumentType.NUMBER, + defaultValue: "0", + menu: "SCALE_NOTES" + }, + TYPE: { + type: ArgumentType.STRING, + defaultValue: "Major", + menu: "SCALE_TYPES" + } + } + }, { opcode: 'getInstrument', text: formatMessage({ @@ -347,7 +377,7 @@ class Scratch3MusicCreation { }, SECS: { type: ArgumentType.NUMBER, - defaultValue: 0.25, + defaultValue: 0.5, menu: "BEATS" } } @@ -459,8 +489,27 @@ class Scratch3MusicCreation { SETTING: { acceptReporters: false, items: this.createNotesRNNSettings - } - + }, + SCALE_NOTES: { + acceptReporters: false, + items: [ + {text: 'C', value: '0'}, + {text: 'C#', value: '1'}, + {text: 'D', value: '2'}, + {text: 'D#', value: '3'}, + {text: 'E', value: '4'}, + {text: 'F', value: '5'}, + {text: 'F#', value: '6'}, + {text: 'G', value: '7'}, + {text: 'G#', value: '8'}, + {text: 'A', value: '9'}, + {text: 'A#', value: '10'}, + {text: 'B', value: '11'}] + }, + SCALE_TYPES: { + acceptReporters: false, + items: ["Major", "Minor"] + }, } }; } @@ -712,6 +761,35 @@ class Scratch3MusicCreation { this.musicCreationHelper._updateVolume(volume, util); } + /** + * @param {number[]} arr + * @param {number} query + */ + getClosestEntry(arr, query) { + const initial = {delta: Number.MAX_SAFE_INTEGER, index: -1}; + const closestIndex = arr + .map((item, index) => ({delta: Math.abs(item - query), index})) + .reduce((previous, current) => current.delta < previous.delta ? current : previous, initial) + .index; + return arr[closestIndex]; + } + + /** + * Scales a note value to a given scale + * @param {{NOTE: number, SCALE: string}} args + * @param {BlockUtility} util + */ + roundNoteToScale(args, util) { + const {NOTE, SCALE, TYPE} = args; + const note = parseFloat(NOTE); + const octave = Math.floor(note / 12); + let root = parseInt(SCALE) + octave * 12; + root = root < note ? root : root - 12; + const offsets = TYPE === 'Major' ? this.majorScale : this.minorScale; + const rounded = root + this.getClosestEntry(offsets, note - root); + return rounded; + } + getVolume(util) { return this.musicCreationHelper.getVolume(util); } From f4901e5e609aa8f695ca554cab0f2a6026e3095c Mon Sep 17 00:00:00 2001 From: p-buddy Date: Wed, 27 Jul 2022 11:09:47 -0400 Subject: [PATCH 146/149] Reorging extension menu. Changing some defaults --- .../scratch3_musiccreation/index.js | 86 +++++++++---------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index edfd16648..49b4a3d9b 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -275,6 +275,39 @@ class Scratch3MusicCreation { blockType: BlockType.COMMAND, text: 'reset music' }, + { + opcode: 'toggleVisMode', + blockType: BlockType.COMMAND, + text: 'set visualization mode to [STATUS] with [FORMAT]', + arguments: { + STATUS: { + type: ArgumentType.NUMBER, + defaultValue: '1', + menu: "STATUS" + }, + FORMAT: { + type: ArgumentType.NUMBER, + defaultValue: '1', + menu: "FORMAT" + } + } + }, + { + opcode: 'playNote', + blockType: BlockType.COMMAND, + text: 'play note [NOTE] for [SECS] beats', + arguments: { + NOTE: { + type: ArgumentType.NOTE, + defaultValue: 60 + }, + SECS: { + type: ArgumentType.NUMBER, + defaultValue: 0.5, + menu: "BEATS" + } + } + }, { opcode: 'setInstrument', blockType: BlockType.COMMAND, @@ -299,6 +332,15 @@ class Scratch3MusicCreation { } } }, + { + opcode: 'getInstrument', + text: formatMessage({ + id: 'musiccreation.getInstrument', + default: 'instrument', + description: 'get the current instrument' + }), + blockType: BlockType.REPORTER + }, { opcode: 'setVolume', blockType: BlockType.COMMAND, @@ -357,31 +399,6 @@ class Scratch3MusicCreation { } } }, - { - opcode: 'getInstrument', - text: formatMessage({ - id: 'musiccreation.getInstrument', - default: 'instrument', - description: 'get the current instrument' - }), - blockType: BlockType.REPORTER - }, - { - opcode: 'playNote', - blockType: BlockType.COMMAND, - text: 'play note [NOTE] for [SECS] beats', - arguments: { - NOTE: { - type: ArgumentType.NOTE, - defaultValue: 60 - }, - SECS: { - type: ArgumentType.NUMBER, - defaultValue: 0.5, - menu: "BEATS" - } - } - }, { opcode: 'playNoteList', blockType: BlockType.COMMAND, @@ -402,7 +419,7 @@ class Scratch3MusicCreation { }, SECS: { type: ArgumentType.NUMBER, - defaultValue: 0.25, + defaultValue: 0.5, menu: "BEATS" } } @@ -468,23 +485,6 @@ class Scratch3MusicCreation { }), blockType: BlockType.COMMAND }, - { - opcode: 'toggleVisMode', - blockType: BlockType.COMMAND, - text: 'set visualization mode to [STATUS] with [FORMAT]', - arguments: { - STATUS: { - type: ArgumentType.NUMBER, - defaultValue: '0', - menu: "STATUS" - }, - FORMAT: { - type: ArgumentType.NUMBER, - defaultValue: '1', - menu: "FORMAT" - } - } - } ], menus: { VOLUME: { From 83755d403e5db5cf7a61d4a1093fe3e3243f3555 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Wed, 27 Jul 2022 11:26:07 -0400 Subject: [PATCH 147/149] Add pentatonic scale support --- .../src/extensions/scratch3_musiccreation/index.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 699ca0ab5..799dd4e3a 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -31,6 +31,9 @@ class Scratch3MusicCreation { // whole, half, whole, whole, half, whole, whole this.minorScale = [0, 2, 3, 5, 7, 8, 10, 12]; + // whole, whole, whole plus half, whole, whole plus half + this.pentatonicScale = [0, 2, 4, 7, 9, 12]; + this.musicPlayer = new MusicPlayers(runtime); this.vizHelper = new VizHelpers(runtime); this.musicCreationHelper = new MusicCreationHelpers(runtime); @@ -508,7 +511,7 @@ class Scratch3MusicCreation { }, SCALE_TYPES: { acceptReporters: false, - items: ["Major", "Minor"] + items: ["Major", "Minor", "Pentatonic"] }, } }; @@ -785,7 +788,7 @@ class Scratch3MusicCreation { const octave = Math.floor(note / 12); let root = parseInt(SCALE) + octave * 12; root = root < note ? root : root - 12; - const offsets = TYPE === 'Major' ? this.majorScale : this.minorScale; + const offsets = TYPE === 'Major' ? this.majorScale : TYPE === 'Pentatonic' ? this.pentatonicScale : this.minorScale; const rounded = root + this.getClosestEntry(offsets, note - root); return rounded; } From 3b7890a9aa75f10efa1ce90c1f3fbbffd05924c4 Mon Sep 17 00:00:00 2001 From: p-buddy Date: Thu, 28 Jul 2022 12:45:20 -0400 Subject: [PATCH 148/149] changing language --- .../scratch-vm/src/extensions/scratch3_musiccreation/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 799dd4e3a..2d4edca8d 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -339,7 +339,7 @@ class Scratch3MusicCreation { opcode: 'roundNoteToScale', text: formatMessage({ id: 'musiccreation.toScaleNote', - default: 'Scale [NOTE] to [SCALE] [TYPE]', + default: 'Round [NOTE] to [SCALE] [TYPE] scale', description: 'scale a note value to the closest note withing a given scale' }), blockType: BlockType.REPORTER, From 9c2145946caabbb0e9ea4a62c74c9aac83b6c0b9 Mon Sep 17 00:00:00 2001 From: Dolev Artzi Date: Mon, 1 Aug 2022 10:41:43 -0400 Subject: [PATCH 149/149] add param to indicate need to start stack timer --- .../scratch3_musiccreation/index.js | 2 +- .../musiccreationhelpers.js | 22 +++---------------- 2 files changed, 4 insertions(+), 20 deletions(-) diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js index 3291a7aec..9df334de0 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/index.js @@ -775,7 +775,7 @@ class Scratch3MusicCreation { for (let i = 1; i < notes.length; i++) { if (this.musicCreationHelper.stackTimerNeedsInit(util)) { - this.musicCreationHelper.internalPlayNote(_args[i],util,inst,vol); + this.musicCreationHelper.internalPlayNote(_args[i],util,inst,vol,false); visualizeByIndex(i); } diff --git a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js index 78e115a58..d58bcc463 100644 --- a/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js +++ b/packages/scratch-vm/src/extensions/scratch3_musiccreation/musiccreationhelpers.js @@ -624,7 +624,7 @@ class MusicCreationHelpers { this._initNote(util, sampleArray, sampleIndex, note, player, instInfo, durationSec, vol); } - internalPlayNote(args,util,instrument, vol) { + internalPlayNote(args,util,instrument, vol,start_timer) { let note = Cast.toNumber(args.NOTE); note = MathUtil.clamp(note, MusicCreationHelpers.MIDI_NOTE_RANGE.min, MusicCreationHelpers.MIDI_NOTE_RANGE.max); @@ -635,6 +635,7 @@ class MusicCreationHelpers { if (beats === 0) return; const durationSec = beats; + if (start_timer) this._startStackTimer(util, durationSec); this._playNote(util, note, durationSec, instrument, vol); // this._startStackTimer(util, durationSec); @@ -646,23 +647,7 @@ class MusicCreationHelpers { playNote(args, util, instrument, vol) { if (this.stackTimerNeedsInit(util)) { - let note = Cast.toNumber(args.NOTE); - note = MathUtil.clamp(note, - MusicCreationHelpers.MIDI_NOTE_RANGE.min, MusicCreationHelpers.MIDI_NOTE_RANGE.max); - let beats = Cast.toNumber(args.SECS); - beats = this._clampBeats(beats); - // If the duration is 0, do not play the note. In Scratch 2.0, "play drum for 0 beats" plays the drum, - // but "play note for 0 beats" is silent. - if (beats === 0) return; - - const durationSec = beats; - this._playNote(util, note, durationSec, instrument, vol); - - this._startStackTimer(util, durationSec); - const musicState = this._getMusicState(util.target); - const inst = musicState.currentInstrument; - const instrumentInfo = this.INSTRUMENT_INFO[inst] - return [note, beats, instrumentInfo.name]; + return this.internalPlayNote(args,util,instrument,vol,true); } else { this._checkStackTimer(util); return []; @@ -754,7 +739,6 @@ class MusicCreationHelpers { * Check if the stack timer needs initialization. * @param {object} util - utility object provided by the runtime. * @return {boolean} - true if the stack timer needs to be initialized. - * private */ stackTimerNeedsInit(util) { return !util.stackFrame.timer;

    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 O+HVYeW8nXRfqw(`a_Bq& literal 60288 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 z zxHu)k>X7m}Z}P_Skf~Q_$2)pfJDD332_lDc@BQZ&Y_C=U{KA)D!u8{l7hGd?j zRh1E}W9T;xjn8Jyhs+hlywn~={s{hMz{_;|&9aSiZENPTZ3CNzw8^SKnJ|m>yrzfv zSoOX6eY-BV_xep8eD@oIC%ijs2Bn|*CYB+Bt-tCIxXiz#{QG%5yUFuGy2p5G9yk&W3i+}-l5t4s8ysr9?cDbi18 z^wo=1uW;Yba?0{}saO>5n)hnjV70z6ft1;ZS!7rnfv zK`Rlc)TS+vL~d9@^o8ZaG9 zVY>OwVD(377X-`CT5|ZfE`_qOlRFSAQA!91daaE+C_X^nAP%0;h#pwijzSkPjoB$=u;O?#6}BY zlmTVGV+vS`>Jh(?O1PnY1rD9<~*7{&0gIgLQ`J7O7O1JMNr0iM2j?^f#}aaG?5v>7(Sng*w&SP7;;HYOXK zkL#Sz8=hx%37qiRM6$1ztd*>H^PO}x9S0u65^>0kb6kGck5EfpRx^Qb+8_^SS$`P} zQl~!iHTjY5-=A3uJ7dp~9gz#m!s;SqF~L3Vz+9vg<8UPoev7%ssdrKXaNtZ3-ycT9 zTV%Q&TfQY(O`K&9ho?ZxtaFYmCRoR1of~4*C=}R;=Q_hL9f$ z`qN5cZz8O6$x(kkG%+>2u8)1D6efUevc4+RIqk1r9u)O@Xzn0zu;{_rI|~!fJD4|Y zFGF8S4w^#d4gc1SPDd+qd7ehK4N1OvId$udbnD&DXtN2AOF-1U`_1tT$L#JZo7s1% zRGuBVQeS>z=#SmFzTrC0F8tj#*mB}dMJ6uQTFVOg!3fpum~-#&uUFijfO7;YXc*RPd$g${o&uJW#Z{NUVrL==_qf%Rv>17_|PSpRYMqr=nq zC9+hKM;xG!@f*rRyYg*ftn)H9AXz&*S4_nF)%9;KF}oVps+paqdb`3C4&jokVnYZU z*H&Em7uBn?_FTgfCl@Z_*wk)E6TD$i=u`nSAV&2?=vvDidgsReYJB9^&G%X<_qX*+ z!kjD@v`WHLhPv(&RM0Q^Q69uTFAdNp2up+ZQ%69X`0gaq#xj4W5>`yqIj^j#ha~f6 zI)Q97ws-RqXov@n6Hez>^-s5EW5B3lN;QD%9&V*r+o&BW$oY>>P`nK~Z03L>=0D=KDO0xw)eJc}a7J(ApeW>hYE^iYhchm`?m#+9-g&`NtUJdNo0^2Tupfmvbwh!I))u+5jZ}4kS^ryS zXv5fnR5Kx9M(wNoQp9J(I988+1-Jzr3@L6{`BF9NU-{9h|8I8s*ZC3sJ79n$J}tI- znPXkRUYz8k%V*J-5>%syet=om!EI&e`bC+trg3oF{n&T4NK@L$ptJT$*s1+x%Qfad zBk>>W8?v}#XOO8*W1uC?!|0#E`?g0kQLlXbbvt9KLPq4DJb0F6E7Lw&y~I=d$BN~F zs@Jtg5nsaUXg&(7<4|f3EgY1;G;paaq`&R^z8awJ5!mYgLjJ=~+v{_aPm&s=5JBIL zYttXw^ouZjXYt<^t$$?sn4-hUoF|yUcLcGJ#ykbPUs9%0JaOLfNtb9cdWi%vf@psNJ~!ZZbpX0m@Ft)% zO4%u&Q4p#x<2o8uG)W;8X|Fdr!cY$=)cF%wk0nu}jIhwJC$Ro*`g7#;#o^oL2{t=Y!&dMIJUhX0V= zQd1v3WVApT8x2nh5{KZtgB;rIhpt85!^~`<_&bJ^@VB5SJG^G}gPlphsf-fFWb8y& z!KNT9u;G)+VurhwD)M*#laaqqA80HOpf@x$GH%1Mo4$hlft zuWD0m!~(kYk!?}7&X8;>he_bql^zM+(7T4(X7nFdB?9NQnQ+=h>m(V)$e;m)4IeSn zwH)de!UO>|L+ZpivTg%u<6=X|ANv3;sElB&bOW+55_`2A%)?16y#aYL#Z$%GzlV#^ zTN^>kUH*Y}oWOHpw`6%@rBqf=xk)pFX-Oo>8_7@Lf$q^1n-_z?Lzc`(o0))6og;Yx zp@Nm)#>keh+*oP5j}*o`p2?sAWj4Sgc5%DM_xjO6K=3-!T?}p90&i;TgLJf87V})< z$v#_9#n3iMN-Agr10?Zz%PUO(`FGp0hs4?GGr2WYFV~h(uQH@|*3in1I`W;j3CGpJ zY;9Z8_HRN$FV|SEW@LY#HxIKHlO9<*k3YnDnswfHSW>tJ$)|j|XD02Db0MAa$!b3R zeqcz|U-Ms^N}}Hig*cHQ z5Qv_WNRYKIU3&m=9~F(aosG5h)VbCddp*5al{}{DJxG3fyo?JzN;0pt+-?8eJ*6dj3A}#NGDX4KHy*;9EtmF0T@3&k;j7SS;Tf z-x`7Pl;v12%4iz5ZIe(RYY_i|3dCwl$|J@?f0cz-!6zu8MC=qT%4L!1_Wj0}oN0c<`#WXW0k^nefr! zpiTQTE^b`PZ?VX|qy^Z#78@>Gk+^U7XI?LQvp+fp@FD_`*Fd6~5Mt*CChnsWGbAv5 z>jAOz0~-rwGRf9@+0Rfz=GJB14^nB(zJX)bJl))U=ud*v;SQ^=Vvbf)>#J;6mG$Xa zhwGBuiY*g7ruCUbUTX$Q-YUP#a)s5bGEgt7^qber^}wRZ;8bpT6obSJ!^GS6JG-K9 zlnZ{}`w=`tw$KOj<9<_o%SiD$^Uw>@%G2!mhRz#2mw)ZmFT*{1l^;dCzvI`p!dl|8 z!e_PjQgAP2O(-lSJK(!nB{%o&`rk84^2pj|d+CH}%u8o8r913(3Cg#qJi^`=Xx)4+ zC=UC$bXWhyJp+L^SjU2a#x|3Ou#3A^PZ{CbyfGk95f$Ta8q%IGAtb9CrbY|7S6l`; za=;@9g^)pA6W>IIrEGZ$I2lPSuO5Y`H`w#X<>TAN^%) z+k*OtoTL|8H$+SxW(x|wtZ%REO5QYG(40YEC5+Br7#MZA6O>>GT*Vn5W(b3v41Ixa zl0&-(2^dchb0$}TCact<7q?R!y{cLQX5>11tm_#)_FBJOHoqY17Au^N>E8}(%;y$j z=cmC~7AN-GN0saH@o7?ChGi~Aq_)e(6yUtMj9l>j!MKb>t6^kbMpgtpgAR4`pQ@Z7 zaxV~DVfSd}sVP94AQ0KGfP6;@bsqmmtfp*i$n62j<#iMhi6Y7bMIp`VibL`$qHG^Rb{b_Q`A{XXg325oR5kVgE-Mw|Dak$@p# z?K8@DUW6CMMW9^raUJs=L(3b8XGEi93)s+|3@X5t(aw;SP(PvqakOkJJBbwEpa`DM z(ynKfsj}V_D5xx%JekXka~e2N6{Jlhg#$|t<<>NDnQml|P?BrlC!Wf$R~V?V9um`B zl*Q2&knlwQqi2GedQ;ovU(xa2`&Xm92N4o~bEAWi`baxAgBHc&ZJwUF*g->!`?mPI0AKdNK)1$u(T0;CzgKVDy&{1NO@o2TApfMBayR_ zKy7*>`2J(dv5CxRm6fcup6`mu-SeBziz}~1;LD~y))>ih)&zjgE3i3?k@2 z({%0oIHkPYr#Sqh-&7R}vwY?%^^tP!fw#i8?qArEFd2+;^GM?xpqjX3mI--S=2O<6 zkaF`Ha!8cz&~@L3UvM4~9kvS#Dr6*7-;hOf-Q=c!R_&B8HG~g!T*bia5#A4$h{>Sl z*#fyMqM6I(t2*JGP)IrZKkj-MuHydt#oID!~Stw@S+)eq9ySVdF=x^DT z!L3jEhiw)YNQ&Ri%9i>ve>ub$*PldZ+!JoQ_-%0;7l6#W05TJax3j~5KO6TR3kda} zT`-Q`8=uc6KyrGRCoY~-YXXxE2&Aq?lHOA=k{Q!vW10C=Hmprki zzRqIMX&_HCy2X6@@EM^3;d?*Gy@pCKu@^zWFOJie`Y(+LlfkTiU#UWhI@z8Zi~>RP zkGqbMPwo&zmk4C<4m{}!5nLP`3JD922#$ffV3lHXumH~z;Z;<{O3YHH6FZ#Y2b8S{a zham}})&h66*CbiRxJ%ADr|+xukL2%k_n*u>mMN)dD{H#>mHyq7p8a34;_=e2lXkuF z&lMl)))DQbu@=oU-M?OR*Nwjne_<%J(37=}RS5W21@$XE-)hGB_U!RM+%!)X{Xz!@ z3_6O0!Ndvt1J7hqahC2_bu5OzzQebY8O%kSM?-=70^jTnrBKuHA$0o*)?4f`YU4NBk_+K+L)i;d zaUew@*{=Z7QrZa(+5lB3GSO)FY0zw?NYv_D;PH7>Id!o3STj6nk9?L``e<_=>l|1q z{acYazV&#py>2w}2G)tyF*+D=V$BZ50M>{iMvTUhP=%qQ?V@Oe!VcrH!j{MRpRL*I z_NCV&l4D4k+g~NX6H)jUA~@@^LafR404+=dhz;^3{^8C@hV$Wum{?=}R-SVoMf0?^28mp{$Y(L%OJ5t^bHEk2NEt$RmEEbB%y@&M z0^y-U^62lX178!_+s2)qu%4ugqIkH@p>^@E;$K}rvyOhX&rUEdBt~-j7KT-V%}(<0 z`j5&{sDOR!A1C$&&1*!JxeTfdFVP=_9?kunjNA4Cta(@4G{;EhaISrhpF{C6|Z(eVX^AdY4!LF~mz&0bOGdn6KBkMcta z+9wUvP&p_Xj@S9Bk^(hkveC_Po~0LDYf0fhmCAn*f3V*PFJNAMoA{)hz1G-%eQ{YfH$-9{e> zgp;D`*zloDVD|uHqIvZC7q%)#$8L&8;rAh2(y^MGHq>azxe&&-O*<&-_Hv9K1vn=3N#*x+63aiU52 z(xe&5nJyy7j^pd^4m+v(WGJ$sp%ec@-5TJrc%ZH3(;(n8U!RdbFe2=(iUKOt^U@?w zH{*IG!yzPL_)(~kpSyQZ3eF~n@&cpmkSvFIQ|<(3bSAZkB{#r1I5ar#!aC`O@mO-O zeGox(3}is4k-Tv0ZA2&n2SIcm@bgLkt};$^H#!JSBTTqN7r#VQ=7nab3E-cIz+;ai zC84V>NaXgi9B+nYA4J)FTDSd1Y!a6ErY-J~xDA=wh-aY;Dy(G5MmA97(HoUdF#bCS zE99tl&`|r-6nI7FZtQB4L+`(AMrO||YkQO#&;Pcv!F;y;!jb@^e@;fXnOdt`3 zBhi77zC6BeASr_>mYz5vA_he`wv{QqfOX?;jlnIa60M$OMm37vqMZCGn{aHQpOnMj zf!1ZMjIZ3qVnm#h_N+W+W1oqcb(7q0P6*7&ix z$ljMf+-|E@HmLVu?9tJfpV)uU;#VlwE^9pMTM?g~*vOXT zBV%e|_zbC+Y4G`bjbH^J0H`>`1tol22Dt~yla2*>11oFU1{hk%klbZgg4K&BI#)n< zncx-C{GBRtCQqR_FvuK8NDivk4Jau}0iQGx?5WQ~XJShPrI*X1sH_c#Q0ml}rBsjS zKUF6%L}>MnYzA21hm3uGNi(Fj$CPtg(}AHR3LF@5Z-m4*u`o9=np)m4OIGs-Jm(2` zL?G|-+9G_ux7z-yzjr?}VGo0mBrZTRI0*?3)arS9nKZTc&h&a32r~aO>kb3ac`?IK zvgQ*6z#9Fbk0wAhiWRu&hF&Ai!aC^8ilGE=%&3zMeP3|rLAU4uSkhR6ga(J6P8#rm zq^hG7p&-rQPQImY%M=~3@X)o}dIOsXh~nzrSOs`teg)IF8jiW@3od-uFlrz*XUKH(Sm`+eRT zMrG^o2LZf^=BYT3XSN+8iai-kNFJ8WuIa67e+Fc%2AzBR`RXMQKLuzrr&flu zMJf5?^fuMHJzf?1!5bC@kunlqnGFr*pX^LeA04siVF5;X10djrFBkRi!MZPU^0}J3 zPQLh?{#2yp?TTbTFugqGCgbhwXn;H1K0pb{n!6?6ZRDsbmYW*6P0Gwy9p%R4#VP$JAB zrAQ(8I_f@D$p%NYIoI#kzcCRL1Sa{nXh9VRP}fF`ZWlHf8$v~Arj4npN(Wt+$XSZ6 zb48tFGtmwIyuD4yx=}7_$ZqDxP`O2~RBIuSe#*K$S`j-f&y` zshuvs0gfj#{B%*uJuWPlxk&Ow_Y z7OJJb8>x3MG&@hkS9(}5BiWuzlr#2?hL?+|1hVjvRytL$nBmDorMvqpw9`-s0?44u??YX07ViYEtmhrGK@ zZTT<87!6S~Hw}tr)&uHjK!70&0@%i?|pMe*^3hu!v~RQHAZYba3jNfLt%!5t;Wo&1UmT8P;QY<~RW z)*>KR=A_Q7>Vz6;c6Ep5{?<@qSARU|3YpdOPn=7F4kHJpk&8F*HKaY0tfcnfeTJ)gWGU3NK!m-@FqYU@9%Dq?_X{ z)XhCYOGcJsq`J#Lu38yiMBLEEe49WxP}vEQ*qkx}6=!+txe(wcVR|m$>`N z&#m;GP^uju$f2&8Cmp?-=}d4$kH?LS@tJhxICvNkPiphv`U$8ubA9=wKCkCUKu0kH zT%uvgOrIpUyl9zIwqnVyMA#2W!aQW>zzN5kL;>l4Qv~w`dvh`Z)iHY0lVQKFXAn<- zIEur&eUB@_Ss*C)XGVe05w?!H4h)4rV`G^gGF*9Z02h^t7Fb@&JR(kCkfa%^eOPZ2 zLI1bjL=_ctZwFA9j$f;7NgaaXeiZrK2tztQmItl%x8QEzNRwN~V|o71ROk?g_z}*I z*xMVg^kYRfJw3|kRrZR+u8t%BN7)K~*_NIQD#W>-;k$S9YqZ9U7{LnpRPN6P+mB6F z7FP9d{!Vy^7f?w_ROrl$vyhqi<ALBf;_Lse1#2J-%Q0`56P8^SCnhNV*hf(W~HDKi3PkP zT($1BvpLAe&L@;ubV2os*{;3*N zs`lBT>&~$;i=aoB9dIbcgu!enkGUCcvU{iV4r+JnlrLXe>!MR7YkAeHeQ zbcATh1z`R%D7)YfHu!rLHoH3?ymJ9w;!D0gy^Cfv$J=w-AAcdVv^ViNdb8W<$)kHQ>P^^u^dn$uvUXeZ3s0b9cq2o0M96qIyi^J+# zq9ZQAKLY5K%$SSVLTJ@j)ZS=>X3QW=7AMa_dC-YUb+&Y%FkF?{&Fi+Ne$9(JCIqq=i?N%z)={znQ@=X?!2;Yw@XAWDqt-d972qHoPx& zp7{Ax-e@;eLx#RF&xhGO*#0~7XOen}?)3RJ8Sa6a>UbL4xT=>LY@Rs3qcN8pB(ci! zjJqo*cdndyCxwi@S*zFVwS*gnqhbR_ZOUj4$GUW)kkSDnXodj7ZG$byz@F6AT!Otv zH2u9QxxL$QwG1c|_d`E^6+<8KOm10Ph@6&yd_3th6$7u_vO2#wht3JKVR|k67Hd@- z(kteJOJ?soR)r-|=8Kzqm9Gby`p0~pAGsB>rh|0K4zqyXK-h9XJ;DK4eXZ?w11Jl& zLZ?Z_w0Cs?r_{WEn&s8r36CQjl z0C=}}ka9i7m#d;9Lj5B95*AokU#XIu0x4mBWk( zcTF&IY!ZbcF7cr1Flrcihk1k$LR~qxDcV-7+D?(3!^vCX2?*x~kA(11}aW$#Z@AW7a#IB3eKgE4(%bQ&}K*D81XpKgS zi9%BT*e`kEdVb}qdEYtQl|E3Y75d+snE>M*0K4=4zyC#GDqXVgezFn4<#KlVp1~Dy z;Nj9#Ur$vwvW3B$H*L!qQ-C`w)3;Ahkb zDZzMya32lp%Q_dF?Yn9#`RAf20g= zs2O3hS7*mEATC8k;Qt3u!=ZFQ9_&F4#}+wNXdy-ifs(N`s|(-FqYy8lG7Y$CzmG2_ zDTz>3oQqtLvCH{j!hw@6Ha0B))Uch|5f+SgEY8oEDTPwGkURB4k*vCpc*0}p|f&fOGLytXpf7bM+Y z@oaKl;8XvR-+X_bT1ZwcfaYD0BGDyYsn87hq~emo6V)fj*Go%UH8k~~9PSmXn5@Jw z4nkd!8jq<$+Z0LD1s0z;<$IK5)abCDbOw@ClhJET45DxpLa+kWf?M|RZeL( zr=`{+e@iFIQGLS5s<~zn?RA-C_@Yq9f-R)ITow^S4C8@Z8Y1MsTpFKn1bNkd_pQ6v zq6m8Pbw4Jc_gbe&s%Vn206q!0i$yL%Au8w;x@ywLECE6~<}Hd0a+T2nVmQ*-1?M`- zr+;YnGI|l)ZVx{=3J|^)pydIL#SKEIfq;LXu%jKfzW8Yz@*EB8Q1F&V=O_Jz!fr2Z zAU3=vI0gt^HeOmQ2R{XBjPfq6bFL}x@!(~FMSK2l+SB>0&`K3SWrUg|O1A1A9gER6 zsO4{(o!@l#`NUJPAKo2-n%H!2XGQaY44I9O+<`}S#6U3eQ;+D-k0Uq*^M%>#vG@Sy zJ6uFaZ?)t$>LzgzOOWsl`(={CmEz0m4 zYql=rqTIqG`eo8UFD_i?nE#sb8qyUIyp04rHUaJdf)_=3fU$=0n!aKU{uykJ0mi=7 z1Yu9$i}o?81fmbeC<_&{oi~3ovh&6QkCrAw(T=ro)&jmcmNH|mF!yO@jeaVMx#fqV zXy)WqnHvyX%fy6bzzW5C}JB&Q=7LXwm z{ttDa|4=8YxEryO$BgGlha;j(5tODdxOW)kAW)JT=AuW`O79O=fJ1yO!9|MR`=a_MeI(e6SLL#_*XffyOxq= zXlPnYO9&q(&Y%9+q=#Ab)tuk}@cH@)UM!E9W*>T9bUPL=i85a6O5QLvq zH+tPgZt&UmUPyvwu%q(ep4cz>H91|YU>Lmy)(H1CjkcsZ{4oyl`p*YRRF`jFagJ=eVY*AFHwrIm8p9`5YU>h_uwa~-)a^* zeMrEZfW_ipG~O^<*=1!`cP16HDsq9F#96%1`rC7$$9EHqGzmd5j9b=G|6c(xwMh(r zdaSRdzOV~i1fpklmDn%~3o*siG=8zG z?re6ZtMNg?3%3^jmevl?T?OBxqa(@CHbX;^u_(P@s#~?&m>bF<`U~mch_5@r!<))L z0*1?azjw5k4ltQS^q3-^7A;;+0bZ>K1OW+{`!b-MsY&TK;3NhVg6D(i9sO+BELB^f z4K^gWAu6Dkx75{4ZLP6SHfWz`f2H)ZnmUg*q*|RKG9aHOW7&|>hZ_Sr7$*Ue7B7hE zc5^5w;x6$H$S~92I`1ID5W)!2i{8c&tRSJ+BS|pponCtN6(!XHc~TIrNDJXLF8OAk zure`JfZ)-Yq(fej((n6|hJp*002e9(a#L#89%wg4nKG9&I!N1QeNf0HLM^!`?u0wV z=_;Hj5CwLxdh{!e=qLqJ-GDF_|4VtVh6Q^|WZnxLMF?KfR+t_Qg)#@c!a*p+xrWxE!^-~@0xT$9#J^TSv>?%cUA@?mSmQjOM3vM-32FJ~EB(SM zSW!IR5q~&~BvWo9XH zG6ec$_4A&Z@I~f(`Yw68v$B`tk(s}HbX+2(IrIYPEaa+tYLA{H9Dhfoqa zPM*q{&OV79>n;2Hv9*!^Rep`cads zrQ#s>V|4iqheJLQ?5NUgBTjO+bQ*i|GU#S8GdC&`fsxRwSZ@x(ZMhHH2`!(zi%Vjh zLe8epR|O6kjmhvu2cIiWl#5SC=tc~?3Nz-enNH(WnyFU4acUFuxAi-#p-HoJ@>pc| z)YIdouY7(Tltyk1vlu{z$kR`Fz1TRYDCtVEG-b##7B4b0K1%hgGGOu<*@az*L}zPD z(sm|A5SZM#y&`1P(@u?Ena6N%sLFiNK|Vd>TDi~!{ZZ3PA}VS*#DVk6ilgDn2G5tj z6%R!R7OnMcO(u{6KIzG0$0x~EKA2soS{w%4L7z3>Qy5$D^!`d=`&k~!s^yZ()Ea^+ z2&Un94iZl?e&(p?-*p{nZSeqaCJ3X4@<9+{FCi{8w}t zBU(_X!kpwaCR}k7S7A8mg7f(GL?*z+R{@O&2+rAQQTufy{ zPB6z)OtpVof0Hb)M_EKWDUWw<9s1CK(=R!-NpXuzxB>qdx%Io%U;Hr`K#fF~9F!am zk_T@`#HIKrgJkL>m787>D7R3uqYdjGfLP+CJ6~mh7M~gl`S$`saiw@6>{#I5u}Dbgp|&HS3s$w%JL^AI)$>e$ z@AnP$y<_2sOCake;HN}=J@xC0cTBVI)P8sM%Mp0GkB@U z@pZSbxNE!;Aohpn#yU zu3rKHvCqnY}4@li<&T5h)hTm`f%pY`Am8 zq(?Qe7;_jQQy$fIM34!3Ej(88r*$cm<8MO|_SaEGQ@TZaMKVAiKo;Y^LLqGUZVLHV zXh;Y|7y}4^0KDr3c|TVcQtJdcB~1lO!eT~mC?yLZIg->M&TT zqwl~Sk^)i6I75Oku{=jc!5Qa+@c(B!g8(M#Vk9<_2!@Ed73}XF=#|ZANib~jQLtpf z$`>Uf*O#&rBcvqek$F4IS7Gg;^!<%M=hs~B_|UCA(vmaDIYQ`Eh*vTjCLM~)OImRa z#dB-jVEQrt2;lUSi#+0)+~v;QRIkF7_&pgCXo3OyQ=T5&s}3SLng2EPDF5LA_huIX z!TrgrW7OR~5=BL3mai$+s%V3AxY%SyrdAHnIDB$Ia3~%Ex~sPSIbFwfJs5)VBNt6SgsnYTN7OCt%{y;F!ziOrq8x(Fmzt;RzHDj_zT5DCz{*09& zWtFYQ46|X%zpC}~llPQwC0M@}W$MaiSchqRlGRPQ6|fK$%5gf>FLZ>Jl&mVZc6oTmG94b%DG>CKFf>@OZzJY*jLoeqQ=boNw^yStPI3s&{K1 zYl%H19h-9qC6~5@?e@*QqM1{`^PZ3FD47kpJiR|%ir7+9iITL)HC)IH$cA_9UOFU$ z9!u+4G#7&f?ne-`U=)7Bz?iHLIOAw{s!2d$nLL_|^M@c`9IpfISikPawZ z?MbShyxc5MSpv4|L{~+H4`tv-TJXL*crH>BVjflbH!&W^ZxvK)GeRBt-eqA>f}0pO z!)~Bp`+()yHM7%<^C)dx1=Y&7)Z!8ov{u~vhSlbS!U@iNAv1PX-<--pn7oYTcJK%? z{vH!pIC fT;Rx4FqsZ=j|ZV?&5&Qv*E2X@67Vmz5TZLqe%dw0OxYAifM|sCLKn z6gdvXZ_F_IDGZi7Z0!`2od`k?$B67VzBz6Yhq*>eQ5Xv*Uh3+C(8~xt3!D^1mg-Sf zg^h#hiH{N-6ZUot*y&dUwksb=Di^z-miseT^H@zWe8;^E-?5UXAu3nR*~+*V+ZLI3XV zvef+A{UZ0+#AdCsGgvE2Pq#pBN4HybcYdwNWKdAK+x$zHQD)WSr8vDStIFi>^GA+< zjH*RaPHHL~JC>cL(*#;;kGmN}3fgt2mYOOH+an3uPQ2glU=W`Pn`wUIJ?yQqin=19 zjef`ebtd68sjwSb^iE;#8EKCRZ{UU^ERMx+LE;R6E~5QIe6;cs`mHMo_rJ7X1+ zGGld9PmloNN}^C$ji*$q9Fmg?2w0MSniazk`;hcfy8A6gQz%8`qRoXRRS@J8p>9fE z8hkh)M@djk>&+Iz`UC>k03P4uL4(VF|4C70tpn{d z&h=a-=0~T$T}s_XJ`*Fle3x=Fyjxdh3%lEvsRApIyhR}@L3WLtGyA5#m4;6o3Pfd% zM$%TaPFmM~*;hKJu~nq^TSDZ&8d#czspqjzA5IZ|*(l}_tBhaz`INo2PPED1+LW*A zKfd+fZ{Ak_klZgQx*S<(?0UEP%WF%GqLg`kLUW8q@o{#kU5GD{vblgS$I7YVv8FlI zn*RvbN1gF#_~=g+Kxes|1kbbsJ;+HwB%a~nuHygr*7QHVO&8<~1RBJT+JU=^`)pM+ zwC$B|pPRxCU`3fPF~Xp~lTmmaQgXWD*=8gp<0f^X&~4!i4;Gxa0(oD0#3OA!#)m&7 zI&3#^Tw4eEE5s61*P?j^lrJXAPFf?*1fV!@Fh z@wK{kyX!N&pcjl03@u;5Af zC=B>kJgjLSx>PPdc~?_9TF9qA||cd9$%`}AX!8(77-le)Q}OKYmTorNlFvC=uhjni#M=BlgtYLGpaq(F60 z`;N%9VLnq%Twn7WZurPi5WC5q!2}u)-sVmy=ZmxY)eFM~5E#+NmvL*dZWhuto`l*gm?M-x8;W zA(ic5L*&H|T^Z)7lpoE}bkt7%+2$Ge++$0WrT&?^{JWR66e3!Zm?MN=lRi$;iIg(-q>hGJ%_|f%lx&`*}Io~ ze(y5JC-A`F#QOfm@cd~}4p|Fp$KTwmd!V}5Gl z)_b1sUql_3GFtN3N`Sin*qq@2zt$S3psAtQ=3MySttO{YJd=>T^HKe@#?Hn_v|zzD zmkTWv1e2w)K~bAR#9!p2wQYX-em766le8rJz^{Tifzga2qIXI6`d5vYD>u}EPO~R+ z$2^c0_ybf$L4+Yu|M(Ut`v+FTUV~TGK%w~}r0E7$B$s|MYxBX2$Ou#xpUW!l(M3b< zbmQ%+RH95G+i!rb^ef_FrbT5dVm&G}S4G0Y_v2kO(EBeEJKW zfTu8pNq7lxCNdjIi;%rxhC#{#6%_v5#aNT&0EI*D@Yh*a09IcLDzkNkpsU+)|AQ(B z{~G|+M`ub~jr{V!l4{j-E1{5_4dB)s)C|>z(>cZFFOi!4+6_v_@LI)S1i_DuB=uRv z1U=+6cF|x@@oZ9jfOn4=-1SCuPXP$(4qGSmga<|RgfaTTh{gidig+yd7=eFTj=i;Y z#SZ!i!WBYeHW(n3`J!uR6kQB3Op1wtfPdbW%8#SC z*7&|Hn*?rJzEv)43Spb6>N`7PQsPfE{v4T={$4GDtQ(0C1{GIQVeE{)_}WqVq(3Mj zDZl6-dlpjx^~y3+%9ZFVE+SfRJ2QXY{Tw}RtmJd>rJ z=ym$*y^)*hFBMszYOIy%7p&LckKT&&w7lqgcB~=Llp&G3pHWpvPUnpkVC=YvMyX#{ zBQPoBtf$rR`f-)-N@n8b+IjDzl!+|TN*PDjV+!BXCoB0CNm|>jjSH$PSyeyx28Qay zntdUKd>uo~v@$&Q8DvT%w&q9vQmZBtR-N@HzYlO+Yk5@_3IXS8-!aybp-dSuJz9={ z9*(G_!Qr|Vw(ZPU>X_<}I#VRD%`v2~K%i4EaQ6%-0iHw}0^O5BLjq93h%)bor*Ty? zaN#&s$Ug~4bEW*sX*>!fjhbP-PU4*crd}X*Rc$6k%${2^xC(Lj$5tXfK%nCiif*b)qJ=l8oxMDq@O(-5P|~FjJm)s4xF`(# zig)yQNe(_;F{_jxJ|>j6)d>4`SdR7vKN?VNAHNn-4AX~G^E_Lt5#4=&iIB$ zg;*Zz?%qLs zU=TJnlf-{cq;{fmN=e72*k0;aoOt z$)w1TE{R60PinF{=YEXWzKLUHhaQ!HUqnfrs|yj$!=U{$}%L9hhG(C5Ky&KG1C zyf*|i55b=FdmJ@iVT%x3xb+zX^m{ z&;OiX1$_v@h^q`DTmwCx{MjT=ge~C&wt-e!i?V~9l6(R^@sFQ!kOH@*+Eg4yq*kNS ziVnUmIp5F%&EEOhNoQrT7_?(08o!Ty^fkDz&$E-lfeV~a+8_SJuho(zxSr-7_| z)(wj>?>9YBgNyO7=AYZy!Lw(j&cIz{1*2Pm^=b7h9ulQ_0^ZE{3X!UX-`DN0M&=Dg z=1~s#y{w;SzseBDL0bS4Sv!yFi8rr4^5W&QZTP{3)xXwQ;a0Jtxb1&ke9zexW~okE z)vdD5YGFa@{$AjVSPp8lCNVUGZK(9suVJFFYGG1Qw1`l#Xq3n&xTsjV>OR_@+3D!G zI7EU<+-~nup%sGcIdtFkBJ9|V@YDy~_VxeL7BgoNzsrPwXyLH8#e0OCsopZr)1hsP z(+qB%R4dJ+f0^sPHfvE?A%9-5kop#nit;#(J#uHTKvr#dz)ihp{EM+TWfsQ*gGGT@ zsvhuu@ciOqN$@DOe2KdCDgW zZ~a`|$_ce$)<+GhCHZHTnib4+QmPv6uX#g1z87h-hZLxGOrF{;Qxj_>tfdREiGL`I z*!SPEFn0I9|2zmxjHS%8hFUC|gngZ{>}~>3144%mF>=kaB^ilS6@$rZ)ur&PEP^0~ z#{Gxyd~SOOK(n2Q=4ahoaRKc>0G)LcczFp8iGhePfGM^T3fw{fPLRY3m7Pf6kmSvP z0qbrc7I0Mf&biv=6IB8ztx{+$BRjS7a;sJQIglUUu|Htex*(WEn7GZ}`|Nm{<}}gA}zBhzf zFQEA(eaoG^x=pI1PL4Z;hX0MU`~A$Pa1a~)mN;~&Vp6MSKl|+O&NJB^bYUq0k??D| zN*I(Asx~J;P5Of)22D>F|GnjkLL!>_p525e(r#7l!}pphVqzop4gA-{3pH2>XQa6 zP0P~I)1+sKmC8zOc6C~Z+)3z*SXVrD{EyM!=C?C{&wR!N++>z3AMB-mf5g`H^sxn* zZe)X@rSWk3(Qf51UV+g)A#l*?4=)Z_{es}GfWeH*O`8EPep*nLu4@^$co9v8 zv)l)4Y%v;0(e7ilu0!RyyjkZMWuTqLlQrX*0O~{A@vMI$cqX*9ktLpUN<%*_`oUm} zP*{4}9~1^}JP$6q=t(%YPC-DXZ%A$d(8vdCU;Q*$3{gM<;fEjaY@C6lj)}jE)QV*oQ zAEx~xfX)dak28^8srx!k^-(?&c&P**QU#R(xj4Pczy6M!lR@4JISe;cvjGLL_8HP& z8(WQY3YU%3d4gD5*dUN1lSt01O;uL3#n?C^T`lsdSS(f{4`cGNX2FzlPO$rrt}#)84v8M`VDQ_QAXloBf_7K@r~K zxTLQ%-EvIZT0IFx+Wjs^WTo-_)`jEkiV5s}mRTa!E|ducq~y@T@;y2&q?yl1A}lJz zS_xgzF&>3A8DxUfq@k-#iUEp?ivXoK`!lsLux>mN7&WkDQM%O-z|xWWyYM+V^koAL z-UPcz!1`!TpSnKg!kY}MA~P9##xC7YPIhJGMsfELto@Ha9GB;DKWksZ8qoJKD zbM)9Td`i9bbNYOiXLGC6cdA$Eu_z((EH|K%;NNuD)PMMs^I- zaUv7JZ1>RmN7ukh@bjQt$Y?O%fIz`?-R+g_YMRyv2tmFa6Beq-fIulst4r5rPtaW& z2vy5!c^o+k)F}{VZ~_7`sy-#D+2Zvn+eU|djbo&I$`h}9c*7EZ;4Dk?IYu_XK%cZK zGrJia2l(MUyORJboN9pP=1Cv$S{;6-xCv4UQUQFp0HuP5C9wE%((Q1zM3s$sn0$VZ zGAeu^l41wTyH9i4LMR@)d0x2OyWd%mCK7es^H;60LqmM92;C7#Qv_F?5HACZq;Sv4 z$4*_%a}eqxKRtph zEt3g(WL<{%g?c{xHw^|G_jJ->_e#9z)M~|>lCk|ON}GdPIfIUHA0eu+!&>%InNSWHJkTQa_bhOJ*Lq^W);Y+ezlRWjVdMtXtzHyh<1bdK%Uk= zm5YgLW0Toa+{T{}`-H*1N+KPBDq{yY%3c=lOM!!rXNs7`+Z#V>>x#drZYyP%z9fL@msC~-O*QSC*3~cpZo2rEwN;n*ju?@4m4~#&PbA@o4?gV&yAtAodtre_ErU| zwFzghGP4yKGVFDy&VB>1_mzdS} zM<~xmfJB#W$hmMx5#&4NwBNN=iB1icH3&Z15U-%CY~qXa=u1-q&e^h<4AcZ4=e%Rd z+{Q?gpwf44a=6VpuK@$D15<0s;+qo90iTQqhU)1AX(f+rC|i(o;E&)CKyY_3|M~ry zM?pyYB0=sjSXL}2zibIUDJbVWbsXOW<*9}036o;%;H0=4hK~SZ>n}Q+7A}y z@{fu|Uwv=;i(NdryusnT$6$q9OhNaVW)SGgQ7d!u%*u)dh3_`#(@n+s3lw}UM(Rq? zKq_(cVlO|(_oQW>RV+bFy%I&en#YmpIR~?OOb>DgyWTO}R70fzn@@oo?S`%65b^h? zBC{dd;GG8Oyyv`e;mX#lkv9N!0$7+@k0FL)6#`^yAc*$`-JXFd7JfGdza}MI6(2Xz zB?p#zL2E+ z{o-*Mc0fXNA+>uFn*3Z*%)Y}8xY}y3oGF2u!AW3d2nkmL6n#q1T5toMy-*VAdW!XI3-7`Qj2d9fWkyy&5nE3!+88b^VPMdDa z#Sf3&b%` zc$PTZShXUqOFF|l3?nkPB0r~|N-ksdN9^3Pa58kfighKa8yGu$ORnB>bYWJcQKY=3 zf2S6Faig8{t^y}oz+=Zw$a?FoeKON}Az@kwT63ILX*q-!D^?bS2uBw=+xEbqivFc9 zZtFuSFz50r0&{NS4^UF+nO=zro(og#wjvuk?@wx_ltvBwCDSpUiA~5WJKAiYd3lH~ zC<|78NtWT1b%`#=IR69mSc-CfF24e6S=QMf;w4T+%N9D>j$z%{?zv%_b*&lA6Yra@X)uYTW5b2x}|V#?0TKEOr4b} z0*|8kIpDi;K6}7VCW|ROm(A(y4VRBXze}RmSJ1el*S|reRwJ9?lA6%3g9s$)5!vs<%_AY@l z)AWR%DW`Ni>h0ek24MptkFX%l;^73aPoxpoM`yxpGRca-x;X1`zu$r7IUnFE476+4 z4op640~_9uoPrQhIS*iUQUwE55CudA4Rax0^|e{QtLBU;KM`aBl8dC0op1v*EP-olq5+15Ev{U^`JC>A58Mf zEzgbBp^U(Fa)w8yAN7nM`^t>MNEmfE2mu}z#7H2lPFN7v+kE*K#6uH6{rw_^0s%3yIQpEzIhl8Uz zUOg^mAc9G4_{7;ir+}C- zQ}%LQ#$7mHCDe==s zAcIJ;>ylP&@>^C_${N9xNh9#vFL~UqyN?@Jx%w7dkx;8S?OMZpWjC*%@UG|ujV>QH z(}T*{H9K7hk|kSYzEf!-k5-Bgx)W)cL#A&Rje3tkf8qzp(Is4Fn%z|^ZB4?Da%0!u zIh#ZHYSf)rHLy3oaPNE-5Yo)1r4W=uLnTya=Ww{!IT0`CV&N6FrplyHAVUg6(NV~) z=h1ix`kkZebq&JrPrMaYgO%Rdk_)})J<3mZgIu?XC74)o+kDV;BxeDFlC@}O6T~d$ zlH!+o^VS!Tv37h63Sh5YccjtbOcf=QAX$f*L(a}S5M&=Rk=s~~7RV8>FBr38%05n< z6r1lG*<>6{P-9<-V?mc*MNUEOv^G_V`aSkjD;mP?9$I+9ioT-A69wY>7~!fRiJm1v zt&@6A`V1~sRRwm|o<&)0dF2_`ir%b{<@&4XGu67X1cnxU8GTxk|J7fO@TJPSXf*$# zx(*Yp+Ux(CJxB7&y0Cw^0A{=r2=q(zHK_==_R?*Nn31~2CKJDBEP9%4Pb5~OaBeVn?ntyu=uMB2KQ6YZ4hWW zkdRSI*^7|iP)V&*SahRZu<_mW40YCj@pjrZ(bc3Jt7UN!x5Rs@7c;~rhwF)@i&M?R zi-lidMjW&|rwV1fik+ovN$At1BVjd|blB~%Je=o5a2Bu=_8ple>>_$^@kq0+!0S`> z6-}#o`G=R_ZIfZ)dt%`O@ssRjwc&md_5}38%N0}O%9iS7Xx&!>urubNx3FK2fwTMc z1Ecu!Mf+T>)}(Xdh`i52)E~X|33q`q?ySwl_gdptYeu*^eBV@8;EpW|o8Kj<>J^hCMz5m$2+nZv5bb79S=3ycTothl5^vHWW zMSI*+>Pw7gKNpg@xxAU)%f%bg;Xwn8pTp+5%UJl}XklL*AnZX`Zhz5VX_Mb}(O*MN zTK~fd=S>3LO*niA=kF0F%|HiERLd5B1j(NL{W)1H&S1a@W_Cg!5_@```)nz5eezu9 zaS)P89@qd~07fG4)nTz1WCbR!37Fdo0v^$TXcU0tzgY+y@sxo>tWESU=i;&_UuV9= zdm~$_&sGQ*Mu0OA)u^_*MQRAp9HRG6c~s?PErm3abE8dUjujICw>gwR*&U*1tLyI7 zg;I~&kjzI92v6yt%H!aq)sNzo2aI5SaOHq^U^Uyytm23@H(*i^|F_6BgrP5msZga5H$IY4i-aZ#w3=PWwiX8N>S_{_Fzpz_s=7QZ-fy#&P67m@CG9Zd% zHa1)w6)jDlb)N>sd_s_k30x}9;sNg@$dCc{9C85FX9Ak^91hLk0XG6ZTF?C|51227 z))wJ2dq~faRs|C@fbkO<_pPyWIQCkLK{6u|D=lbhVpxKwlE9`FxnY*eI!8WuNIp0J zoF}Z{>`;MAIy92HsnX~*JucWbaOMW87h-Z%5^^lVLw7Fnu>1(E$q6|)koJFapn+Aw z<98lx>xeyZbU@+b*8|pMB|yceDEwFKBHKA=fDKX2HvqdN$M=>xGjA4mK zOTV(EeyIA)zdh|0c|nHP71XRGSjN4)nB_H9IRXAU6{0QfA^i~HEcGI=xD0%Z?LSNeH1&aBIX>-y))E2Ksdj$2XsH$bMwyVFEQe1?^$5uRMwC3~og$Sk71%8|52N_3B z{bj+pnxt>(94q!i#u@S#HPTo{^rMPmxjq@8VIr>voh%z_gPP}J^eot+w;@j);rXz( zRUgEZm4c+C;a%h=&RAC%Nj7n|-N<4nWmW1CgH|Vuy}w4Rr!1$4@uBqzUJ+?H<5rit z1V6TXI))u6cCur%q1dPYI@a`#*Zo;Vq;>dgz6p)zd_s^Q8k2>Z_G3-Jip&;Db@C9$ z^EpI31{g#afi~;wDUM8LzD${(Rr(Sn`?%+7m$!gGR+ilscZG*3%`ecKJx3OfptB%6 zOc~>I#;QdSU#Iy)f9@H>ToA6&(0)){1}K;MCM@QJ=ON}%9!eN&cD+*y)q}$9IB-5c z>7SXMnC*K^LU{mUdE+h5^;baPeQkMG0j3NIBfnxL#n{5MUlxIm6~Gl@4}(A><>;2> z3e>T}M3jA@9Xn;UvaCbY$HP})ZFTW(?gj11P>6s$Hkf>%zD3ys`fCItS)+N4%Ji#d zp+wPY7cxK)q+k^hEXfB}8sPRw1XOq@SGyMgW1*N;lRGYO^7Z5~e?j*ud0J9i36X>V z|2w%7O;=mH9>PUsWP|xoS_&C`s=-j##%>+AB=~)9E(SM|niATQm}=L^(dfL`5-Y1h zMv5w-**w5l$4y2cBnR+2RXCFY5QSHVUtx^7nm-M*f2L*fMP{F^Egoj9IAs7-_T^0- zVo#V2Zm2aa887SQ`#oIUH{tYQupmYUQEC1gJ6+oU%471XS&$Bultt6Y8B^&k2swDUr)e|vyaMaN5di+nz|`GL2zT8aW`;3HZT+(=$jRzi5L zO!Kdg>^l4s4O*CyIZCun3U-L-8jOAG{9$amLG3xEdL#dlr=X{Op3uNM|LoNGiqO99 zfpSQmyU{qtiYkqoR4T1D>JzO^Mf|-|QnmA^PG`Q&dPXlOUn|u|^uj8tZ)j7c6*m>b z#}V3&fd(UHEq-L1)u-l7pTydhR{;S`a1;9vuhN%VZr&1lX6!TV8iR*sCud~WD*bc$ zW4iXb>3P#rD*~NNf)?deKl7FsR-fi){u|i{-*=eQ=vC6SS10n8Y*OjCk+7;rka|OH z>^0^Y0GGngg9kz)j)iYHxKMD7j;xjg=1xog)zgZ`nj0cgTe~JIq&C>jHxdzYh=pw1 zgS3~nnnpc@f21ZY9hchn2^PfkARM=H`={tox@^JMPe2g+s7yHC;VXZSW6iE9`reif z8Hs6#e=fI$Er)ZSO>W{IrmCOaUBLm*mJdug1y+C=%JB2sn@9g&q@HZMidm3wxg>RT zF<(hjC0teZ&xa(=@>kUuj=lnhh`8>xPg?}4@CObj1nJK{(f|;b74tr9fFmUB z@%@K{6(2#1AG^BF7~YR#PTM*JN@ zxpoia?;^-n@3MzGo;~fW7l~0U8`3CnZ;&C`e}{uS7*qZ6(~ittDc~(gO8i)VV+^UD zoy|WS1m=6!$D2bUMA0xgP^c`e2`BU6-vuz}|8_^t|1@r4b@)PWeDH@gC`T~>X{_uLRRONjlo7_SN2M>LW^rG8pfwl*W>!+9lbW4$$Hn;Ik znd|@77`OZdVgl}u8B?}n0spj1D#Qe>pMu5*8UD+U?QVAnej}LaQ}E zzSX(vIp-q9HBP_&p;G%>pUdgDOK)bOg%rUb#y@sinKj742h0~dhwpT(K8C_g(BZ;k zz`;-3tN8B36Jf@lWrWf);t7%xu7|?oW3i?kWd!ka3)>PiTZR)*?<)#x7)((P#Gp@> zg?3mfyqpRm{A|r7Ob;&dmom!U=Fdv?GL>UaBG`E3Wn6_1VVW|;wOb4atdpOs?74! zGf0JnpJLDg>0dR@=3F}WS2$Svt^R;B* z+ZPg#Jc0-0eCctykhi=oCiRJDl|?1VQ75KoafgXnF$slBtIRX^aGmyrj2Yp7bcy(v zcOvsw*K_@DWD3cw(o>9|%ZL8w2{70xI|0}l;6-@S;RX{*?a1Kz(}lY4a+)jKIw^df zB!jFP1a{HX>vynPXX)T~%`U`Vi)iawId%ZHgB*WWTBve_wQC1+FEJV~Ba%k^uLskM zYgAm-nwGwO@S{Em_NypH$vQv(+Dyhs)AL35`;=I;75$%VPZYcC8rrM)fSnw#Y6`|Y zW438fH%-5nwwK&*k@~H2&kHGGaNyxGF-Uv0sMaGSf0#U1MYC&7XWuy0ud|mk_QlgZ-jOTI8G~HXsuPJl z;akbL6nao@i!1n_Y)|6V8!SR{7;cOKy0|j57%~BgIYfcHJy*E-UiQXusyKTI(mkss zQ^*=H`$8Su4G9_uUfz~#|Jw|Jux#9HFD0+&rrZ9)Gpu3VKzL~sNzD?%65<{i{~3Jk zpki6}hn$(!yOTPi?>U>_#2jg$V28N;&#&(^!URH~8KMIQFYY6Sei=9}()0W>-$B^{ z%+OIDHTbScyT_WxcjP=40T+s6k(ppK@J`m%?8(nB11Uc$f(#LJzY7px4kd{CV5RNq z%aM{XbVSS**Py(*{3;v*k8Wcv1y~v+o%Xpff=UnyB@ECJ7==jS+V4^*s_14ZCY`<) z=MK&SSKc}4H$1&pxq!s46kv%ivcd^53;eVr0tx#Hz(lulJUX-t>a zWK29VsM=Z%#p=50&vqiDvly9+AI@orMNk&y{eBBii+-Qu^ha27KfknDydYryn138# z4^I2du+2Jvyh^iPc!u)B4WaQ%Fy{NWB==DdsM6&(y*Re%0OQaeu#vaaoh>FiZ_^r* zp)Mp0y;<|PZXA=ngXJ*4S;=c1Zp;)H9vu#US!q%T8lQogbxs&T$BZXR zj=K&ApN=Ekh1tTcr*oBq%BUkxI<}aSrOba#{i%?sIby?QpvamjTd#h+IUNm`R4U6j z>sL~EAHyDjPygJfT4pKnz41CRiFgykzDbRv(E^cv)a5+;18Tze`m+FUudv(Atn^1l z%*Q$xg%45CqMsZqFPhrQoeMje`uNY>c;+~?!{m4P1Zu&jVRbc_RV*fj0s>yHx#{g4 z%;x#4?~IkL^0}BP%B5@b6fNup_@UWIONIDdy)WeD1H8^}4sGB{aB+bPcb2~U)&yw| z2p-<13Q;!dONA(6oa~|tW0yd*M|?z6zdd3p%I;@=)nQ`6=&dDLs;Xf&E-RGoN?*#& zxMo-$p$Ade{{`y60YH8zkVn`z#}k;=3_i-K`m`|{b-7X~zgA@mx7|#b<9f63B=5Y2 zsk%7VIXYi_ruH?dp*T-Xjppw#(1E9k(I$rZeZc?GgwM$$#Qiys9dluNyh<{KE`TCkGzAih9E@It32@Q6alr4D$@oK%?0F^^p5bIsMP4AOFlh1ZNZ)E^U z>4Bvh9cpme5+B+SW|_(CIS4;>$&Ax4l%76W(JmlnuamkocfcWgF8_<+?F*W$z;och z9W-EnNAVo;MN-4?NrQqcrz~hGv`4M=MRB&sI^by8JD>kn&u#i^v|Klddl9B^plo~_tC@_ci6;_GY zAh;k_c2Zzre)d2c&xeUA24?vPD?a>ho&04;E zcvF8Oc(Ahq$8--G7Uqq__9M{Cplo2}TQM)8<1#}WbHX7~#=VIR{lPSwBNshJhVpt?GM1w1*k~vm1Al`dERSG=s7`^e2e@UW z|L>NCzBs7tIlK6oO_i~5mC9TLqQ@7l&S*|p*HW59=2bIZaTCwN{F=E?|0kbrmUEf3 zp7BTK`Los@^174M;Vy1Pw}HnrwV&4Do$!3gfE%w-Q5jJZ&mu*hDYGE9XMxj+>0=kf z`@&PsypR3W=V`ryUI|I2=j}k1V#-4;!rJZLWi2W& z|3IR9Ci~3hax(xv~({1SsqU;wK&)Nag8bFCH^lnQp7JS#>n)iqKS%n+R?SA3VHVW6c?e z-{gBWEju{j^vO7reVv}oC6}R0XZ>EjtgiliazX!OFfjqd=|I$L>!O1r#Z73@ohR-kUl9ljQ&r0Sge|W{1vHagcYNg^Y+Anc{p+%I7*>6Xu0C zPu{xrC4*mwL>d;!ctwKN;!A_e-ZfKuBcDGXtIB`Er6bO5ToJwdGWFE%$QHLn?dL)z zWTcg|&Di|HZX%Tkk8f+|VllYdY2){H*x7phd}ShFdpFz2yYZ{9h@hbdU-{;aJFv2h zvCZStN5we9X6PF9p_AuC$o#9_6xuI30x5%T=CC)z?_A_bd1KK!B9av1&@&sNGqEcl z&}*i+%VI+~%PJDXk5H$46WKv87?^xvXFVBJkGpi`gT9H7nOFc>UOuQh2rSZM740H$mvwCkt8s-+g$8!?IAq2`V5!(F7EC0q{!s3+qIqS9a?L3jduRJ&4A~-$C?Om*+P0UpuNL! zM+hK4O`a*HZ~ESF)bP>n`~b2H=IC~}Bh{p0=ozBTKq4xpzVY1KPuJw9-{+9;FSzOV zm({9HYod{Pkp$ifX$;{fOyq`vkS`ym98QzG-h4`8d~)!(8I&yqx)kf|Wx(_e*xtej zkyaIdWs>IxJd1-55v*E0R&{{mNDv4%<;cm>>#+7*zF)%SdlLa4F_Kn=0Ea-xHMiz)*Aw8&Ao2jntF;` z292K zjVq{>mH#20&mU+VD)eA+d0)h*6g$m&Y3v)?FIeW}VM-K!ktwr#cx|`T9HERBW1?N7 zlC17)#9U;o^W)~oPQ7rU$K@k8i)B6*5<=da${-}X_iFc8npk>e`^>yw$!7<+0@vTh zeN?bJf%e6{&0b$w8XyRq&`6=>ohK~R6T%kbndA8{PfSgmgB_Ex(1joO-J8l4{W?Aj zUeUC&S6WdyRy}|25)q9XdZd^RN3DQHxB3XGd({A}*|L}JNTl1fYoN0WfjQ~`=ST@! zW)2w*DF^}DL^0o%SWt`3|JGrbF;*9yx^#uS7f%2p6E;UDxY(s)7AYgF>1is)e$;S| zJhir{(H=&}KUKf$iNv#P89@`{ry}5nV|>31Hvm{FdZeI86QKlwmSjdU0hausQgbSb zH1&r7BwK0L5M8T7BmkO0(mkOG4*4t{IViW2@fZbpvNQveYN^%AX7j}{+7)%%az`H4 zA;Ezn`FO%mY=Us8NRtXc9OHuN z?yqXDk{&OA{rMps4%LNXJZcVbJUqcYmkyEw0+SbYEjheE5Xk~T6cPJVx2-v{wRAWp zj(0PSn?f&z0rm(uARMunzhSrXk5I9C|5=xJQuwX_iBKDwA{WM6ZT&)kNESQu7_M)i zjdssCA&Tmn()k=6Kc;~rxKs+Fb9etm_)$LN=@q)iIll29N*QtWz=ldN8#K8YtPcM3 zm;LZ&!0zI=8GfGvzHUD+u2ncDSAypoOP^`%21SCd-E5_L>yOl`nTi(<`?8`_-i+|E zujNuqB$Lo> z2~2e7>S$10)_v@D;IG6-KBN)86cIO6RkkEQ%}S9jaxFd;OHy@gBoqaM&vB#10=Qy_ z0t)1mME{z<2_E+l;53FpRxY4WQY&BjyM*Co84HpelLpp{*icEFS7#gysQGk=y?V_^ zmPU+B`Rw>{fL2d3f&DH1P`$7bqm+BhDeuu*1he=0R|}`#m3i(ni-nSffs?~Y<>GM} zUE~rFfO4CFc4@IW|$=mM`t$@PhHoZ*tnL(YRfoMUbIANW{=s$kT4k zP?*3iK8c=1O)*sn&Q`rA>HSQ~sGYYaGk){JQw@_wZ|5f&nxZ?)M#FFMf=&NbK%Z!! zn$eJz zsRo=L{<%*L0dXaZ9SZ`@FgnuUi>siKS>_GBi#NzHp`2u2bw#$>bRLIYh44XGrP($Y z{S|v3nmJ)%m(zKN9wx{#Mg@OQNbuaEN&u$4G|v4nNHZh#YHa1lRKIQdF~*?H*8};T zm&?V|ngHp+ryt@tPXjS~{B!!`umg0jfl~wTv%x!|BX2ZcAa*Cp2{2#x<=Ua}y=27& z;e~w5aMnziI@l=g=j)0hdoQr6kP#G-NS@ppxr?w=T>$TKe-3WT29(#7@00gKk^$51 zh0jpzXO?@wY%LKmH4HA+0lWl~_Aa{ZTl!#S2^LYMk?O0k2tonjaAliaN~4u-09$pS z;ybn6hI`iHKf~8{?Bfslri2zv&ci45(RF^ZW4(fcV_DU{;w*IORnUGtR%mD{Gl=1t zIPF^hsJ+TG9->n^&{_ns%e!A?9Np6YsK7(QU=d^taCFNLZ2oBh*mdlO@JpSE zNP(MYc671+ODBNDK}!H9sy6uBaXfilCH$>4k41SASOlSf$iDrhB*9H|xWkH2$xygo z+9xx;ds0;a8$>5^w@x-n946KhP^3$4wOE^4I`g;K>!wsS;y#Al&r;~sk?q)e1%ZFm ztMETvt21*%B&FP|PY3AAbpW0jTD9qHsuEJ(NM#5j@}K;(v&5^Le^(YXzDw`)Cx3YB z>-V*x=%t$PXxB!ifjvpZ<)woYeQZQALZHiq4lXSpGd-O%P(w*$n@#pkx!d;Yed13Z zS8kxXu0P+O$jogW6&F21SGWQfVbaFU5Pk5@qRj2qQSwbd%Ue(iFYMD&r*|xPD2_#p zZ%)#Y>IDwTbiT%-Hy|p8o}Jjg5fq9|7h?e&m+7K;IG?gRc4;e*T{Hqtq6QrGX zcpqkVvL4Su#G#ImnDu_hRpWrB%$IfrD9e-5&Wuzdu&Eljypc8nse$AGCVhsUn({^Q z?FWiPA3PYT4=t4J8jz*|NPXf0oFafUjbD61$uBZ*EyD-88dckH@#)I=mA<&@jSDYg zr9<8zrw)1&^`kE{M)G^<_V+(#IHP_zz>hq9mCVu?o#rcmyiiT}D4ktC6)EBzontD@ zyPY5XrzUWvx$+@FEs>|ZCFy4NYp+4ROeb1tKp=xx?&Z%?iIHY>&E~UH4VK%0Z;h3W z9?lKTZV_G|E8N?o+;ciPda1nS#aitTbJQ#VJt@I1@m;n8l6EZPF4N}69y;75z}WX> z?W=z0LJTgZn_w<&nk*AxhSvs^R8k^VO%o9d;Ts4$FoPDgP!TGsR7J^-Ya#ZoWdBLy zMUzoyQboLV$C8t9w)(Hx0IEf-rs{B8yA9{ea?YiWywl3)F>J!O+Gm&iOJ%-WSshi& z&j)trW@?9x2pM1V{JQ&jDq>tUr;AQPRC}8{ZktR+s@)v7;~(fYRV5mNN?%IdW##vu zNQY&vK2t>54(pu*~-AOzq}NKP-O{+ z;5fO8*93s~3k3!g3a-BdX}B%^pCQ0k+LZ!_ufv(8krp(m4;L0Yff7Rm&#gKbOnjknd+m|%37f>tm(^sepUJX$6xfnNJ;3cn|frCRC|rsyZG`* zZIfW{Hc;tg{LDT@qUyB&IzXv5gZigWi4_3C89?~(RUS8PB^Q?-8>@SGopaJqkzEQX zjF1E2JhSI24!lK6*bj4-E6!X|1m9)r!mJgRR6oB(> z>Oppr;{d>k@>u41HUlV&#{eLU4^Z_0YD}<(%#FTB`aqmFc%eWAmLbHZ4gci@5D1nM z5JA{cKuVCREgj|ImIgYqfA!WW^OSQhja3yz-+7EF!cuPYEp-pN@MQFt>y+|l=z-9v zeE`|Pv`*Mlu#a>=Z2A79g~Dr<@-r;tt5q85RvU1ex-dBVTm~R_M0Z4Y{2;~K zlQ&TP$J&17iQ>Ny%j|iI!NR>y)smnoK=xctH6zto`Ec+yi6YdK4z^W73niEOml8zV zIp4xkf|>*8XEX&pWls8rm-@l%b>(RW&Kk+(YtpZ?E2jRmttOZ^Vf7Oy&lC$&aGEj zKK-DI`<6v>-*i1jGTb){d$vsJY>LqCwR{b~+6t%R?}QJIxwWgJQihqrOCl~#u9`PZ za92dZf`on>{A-fgqI6~EU-wlrRtW7c_bO57Q@32kgrx`he^(~LeLyZyWlU8Q-1^`e z@}mOH3Z0`NN+&Ihj%qY}yTZp@Ja*je^U}yme%wTQ8=P~w)+mFosj@$g9=`xVCbm~xUhUWg@Q2kA) z{d*g8h1=POoY>W+<#n&Ms#GEN@Y8SIeVb)5np$(6g0fKyO&>-D*PSAlmiyV*9rwy8 z`#IRI6RYZ)E=XMR`S2Et#YbF}3YEL4Y?cX-SOj1&N|;tvE{F+U5d?>dkHJjDn0-CA zYYk6Vx`zb9NacYfuq)!)Et=!Cc&sWUXA{$^zU-mLKs(XTRB(@QN>*c>u}E^zeNw#H z|1tl2G1*Q_Zz`LOgrB;V{|zlZ+l$ORMYn*!Zz}w1?rNx<$FOh^1W~a4oAGynD;E$B zt(Ivo?0NPVBHaziRn3qsk);jP>N{+*yZr{)UC{y=|9gFDUv4Tt-u{Nbt>typl8KB{ zc>ZZ%t#EvmDXrSVCwiBJ)kfTO3njZmzq)0u4S$Exw#~a#;WY2S$Wvo_2WRs*eLh|L zWvqt(`ux}(JU7utz`u;gJ1nv?rSX<^-Tsl0_W3CVU;X zdvG0&T7+G)qKXmASl)9f)kdh{G1u=1r{n=03P;TK2JJbphND?}%E*|oDy;qR+zGUx z2pH=}J|_e`UZ9)=Ar!Tb7I_cj57Mp04|X!gY71GK(l3f2)H|#|b2KOI3vjHxZ?N@= zpH;r34*1glOoONA8XopvVP$U(B{7GuF-^wDa~Cxvk_(9+p0E-P4Q4fM=iNuNUP4Ua z2}2PIvi*eb_=ln&uEf4N0DkXE_s7ovQa~|eXDK9`W|9A~9GI*~z^8+NEVRTO`IF;- zcMShi9Y}T98aGUhP}dpQF9H~}P;$3_IYFSElLN>JOoM-W2tL0!5+!T=qfZS6MiqU6 zL=AN>D=ijfSvD?)a(GyV@5(w1s3-k9z1H?Tk7ll+nXaC{He?f}joK`;^!fPT$!L_& z(fsjVzB?HHuVds}N6M(aM&sk**;iK};7wKC8mS_x>kD~0rb{+1D_0`CHDWcjpneI= z7p|Y9-B^hFh1Ps5e)j@54Q%~v&%&T>RH~o&;!3(fz(P`zt}wmXVVe5qa$gqRAG%9C z|9OM&tF5L-m#CyXn{>>(9OC=p(6o|gH`Y2iF2;O6?fc=q?{eb-xPmx7oh+>KwDD)! zH;IzzUbt4h0hB6vtb_6#_JD1zoO4-+8+Qgc?^ddWwEqKIz)^s^{+Yq83v=I0#4BS| zis0*x4JA6dXt83EJhvJhEf;cndMDYccWa>kHuCWO+8Sz+kRs7uzh0x zRkVuYW7bDyFP*n(GkQ8uJA-}r7Rj~IXFK7$u_xPNjdGA*(EKQ%i6u=rpTlk}+_4R$ zy;ofyXHqL5s+U32idEVAhuf{}AQ42>lrTm@^%qQ>Ti0I`KCtr^p3IB1x?my4CQ~MU zs+KCyRwX~@~EG-E)pDUF+M z{#)omY5Qu~@nspnSM?m@2_@eE@VwcfaF2p+P#`BbXQO$&sFKoDn#MuX8W+}GSHEPj z^tAJ_!Ez2=$#U;K-%72nYOA=^S9R-Tx%E90P%1Iljb0Ge_e|?&i+oO%xa8dfvoMdn zI+cvsa&Bz@&338uV3FLq{NcZ{OR}j_uT~<9Z-)Ncsp|D{#l-0F_{i~2Gr&aze;`74 z>9;RqH3qVSL%6<+Lej2}EFQt{cbo{hW8=o0(RCZv!*kS3tGWQBd`b0_M3@1#-Z`B$ z#`vhcxMB*nPue-jjw$_^KgGLA+UADUuZJP3*$>lJ?7|_uGUt3U;K7DLK=5Y&**fHi zr%?_>1~*ASfC=fu_P;OJS9Mr&jBwpOi)Y58YPb8^!_ zRWxpjp_(DA54QI(_mmKmR%rItsx72>o*J^S{EsCm3{2&<&vr3$G+%7)@`IEH0eW-r zMI~_ImJJQF%TROfIV}FyK=`T|Dd~73>m|PP>X;KWsH+nkpX~{^J(<%6a1$wGBp`CU z|K$;Zzj=fu&F;SqbM^&&&#h9^$C;y1P^k40@c&n48cHMhS%8-%HoOfA;z4<1^S*g) z$DnXm`ixmEwfBFm;+E2Fg`3)%FDMJm^gg=yMp=GBbCO#!2PA3rN=3*gjZm|z=|I&u4pH7#!_>tYt6yQn%E z%*CuqRlK)bZroF-9Ir6F_)griu|QRL?U|RF+;_h2qG?YR<(FU8u58XfdL=aXf}&51 zMMF@S-&tt&<*OC_deJ}B?d(^2;xROZLQ)K>d9iET?ETHNwOA ziPM0#s^1^u7-}ikKtkxMfC3^2o~dK&;~SuT2&c2zLxRIdLW~fAjT_h?3ZlOyA0GbS zL7Me*IBp(BxX`>utlX4(Ixa1z6pD?FD&djmR>>On%K8q&PoZ2DBCI32)5Gtm->1mb znQc`+M&`z4;*T7%E!5Eq_ussg;!#OQ{O!Ggyd7jO(na=AUDeUkrT!f~I7C#WSdYd3 zdijmEI%7Dh>%DFIPRXW#kHvi!6aR=t}t0_G( z1Gvu?AFnOVD3tsK%7r41v=Y94vm5_z4^bOM$GHNQ60ktn{_m|WrPNC|+Af2E*$!y} zN#lcU$M4VUA(&fVJcSuTo>7Nf@|{Wp-@>)+KxvB~&FP=1v7V_30wPY&@Snrpg2Q)4 zmj*|d7Iey)?k&1&5+0JI4ZHy|NYa4hWBQrkL)HTcpaoWrFEyiw=8G9>6oDxSvS!dZ zm`cSarYE%!W%5i%YAL~j+pN$US7t=K768${j3NIdVYzENARqiMsl7ib|k_REh9@RJSz~}*pfl1sr%+!HIr)7c9 zEkn&7mLWdSB>M3A!a4>|2ba2c(ZD0509$afrGF_w5|Hr&z%cUynVI-uFU6;^%Znciq@37avyN>>30=i!!q!mN#~42m`WYW(excOLZqOo; zK6v4W(K*NH$RoiuOeB)Nj(?768(F+{!B{VIUDu$AI+hq z%c!lciYlGUvi<3IhiGReU}$+qY;niovDY~yvl_hs5cLY^*z>?>uJ*)wU(wZ^DG}&g;7ELuAF4SudrSd*a(ZS9KZVy}X%+OO^|RMBn>0V|#A_%fmKyK^52A z$o8*zo5wRzAQ5y$+A!9%7iyiaKf+Q1awz%Uzl#6ADFA3JEMbj>ut*Cpf?Da1DF#`! zN#FekHC!xV`MCLsH{4?-OAJj)2;yda@qf3w)A>An< zh_o~eB%}lcNePkN-}L`K=brod?%U28A9gmLJ@5NIQBkj*pr;L{TP1$CshEdK(a%MH zLgy?kE+Pd)>j&JuOwm5%&b=$V(FCwyCBmM^JmN*AiwiXU*esmhj6*yOjwernY#e+#&LP{>XcEW>%N z<+zCw7Bzf91f1#KO^uS@B%g(){a4iD>%DQqxH3<~cFp*)7c)xm7*9{$jKYq}Kvpd= zTc{=0$>Ye6YzRH>Gxrm9xxyYL6fsl_OZCC=K-78@csyv?LndlJdCP_j#@#kHe6QA4 zQ3rH{dIJ5s<9T~43yzm%H-M4!oM*!FJK)&vu}6w(dnYV+Gamd3=hFexmFA{~K+!!S z`lI)m`aoC|QD9iDUeZIze;@()#u)=kNuht!h9MJU9%DL90=ylU;@1;1R$~aR^cUPIVjw>8UCDfN|D{7c+TwOvJ4ip?Tj_8Yd zs5%smGzE0m3gDRmRJ?6-e?l)Iszde;E9QMp`(_;n=ts)ysyk7xD=R!+-*5TUdpgX1 zztYbF?+5MY3H9u}<^Vb!zY+YRTJ} zIUO);D>dwsI^I2*VI|wZZ+?TZFRaF$rK#v`O`?SB)A7y+l@NHScEKB{uzh~ndF&VEoaRw)k~N~k_= zJDQ+dY08<@mRNdV#Y>=6S>wXmE~qR`c;M~nK?B=(Jv{e2)#E%BLqn77>o@Z@woTUD zs}ZB`U2}E}&WBavChVnfjwm#+1r8L~@Fr?k4ZqsE;{UcBxkT?aM-f+aM_pT}|JYjD zLJdRaVay#U2lq zS6;{3{q)Qz!8UWb!BsKnm{ZH=#`@IAOaJBxu}tveXb>qsi#Bf4C0)kMS#@iUlYaE~ zOmKf6eJW6PMW>Gsme_cllUtLh_Ku2BIiK28NAB}bR&@$>>H!aRaCTj8h*Gb3FCZEf z8A1PGd=AsxgGhqOf-65*D(|lIiQYF(W#{pXB1E3I^pDA<{3Q*tfOQ0Le23$ax&bVq zvS|OG)NPO>{kipq3BV*`9{@RPF@64#=1`96q*s3DrpA3sUWhxwa82G#+~AiWdZs;4 z-d%|6)Sk zE`nDe4B2!_1`HV%9)%zNbD{w zs#oD;YhyC<$FB3Y70YsdDQ7ZCf2C|L879GHo*_p8`5VWNd}n3RZf*pL?AEGsX=)j7 zLS$W~>PylOvaerv?mzA6+9zz;^Qt=OZJFGW^JixQ zbaL)4sh{rZbXC2qmYy}6OIi*@rD7Jpn^2=NZ6rq_Y@V#W%CEDi8GwAW9XRmY?~)A- z4pi#6(toKtqpYJ(%zwc6UMn+retgLkqZ%*haE{^SVY&KTg@s)M<9Pt zu_WFlA1)J@<))~%yeg^O;2c39sb&R#H$kmdDutaSFIEw{Ig0JI8}uP}%uCGEWutr0 zjPv5jyf=56r)TK#NIR7P?;0{jKj^u)ucpT3{viPCSagWsG`J5ev1dv{*WEGf)gb~^fmY}n&9Hu_A$bH$D%uGEgT=KXb*JbXEz=OoLc zf9QqnU-I9V#rY}gbktQF%g<+7t~;SN(4l}-(9_cZJ**K$3Ox}@#h~@zJO+qTUS57g z`yJz#+Q#sBx-i&hxunYgW^i0TC27hKLA6RQnhU5%AG>BGVMc%IvqCIJD*E+!<&blJ zRLah?MaA0BzO%RHpC$n$pRO$fTC_a}1;QUo{!>ky@E;)nJDKw6Ah9WyMyjsL?~>N? zoQmp^gr-(;YY`4i%|F5tF3!aw?06|HX`YFJ49%&Y9;(jN8Nyk6U275h!HgHZ&uS#8 zQ;q(xAMxk;*M4t*4c>vM&aNBR2C#=JOBP!Tp``symCU|ulu%{HHJ%m~p_zv1HD(|V z5w}@M7Jz(yMVwGKCL;Tj1IT#ros%XS6eQ0e`AcTGJ*8^Lf8La{U8h9htzt~|^WxX3 z%+aMZx&|(E1bxdIb`}rwz}!B8Ax=rUZ)y~l&XTj+#_xB+-U^3_#v*yc*b(3smDWZW z$9wD)P7vMHjVG?`^lGbIjnnKEvd^sOHCW+AfKdC3q94vV>3=uy+$W93vzU!l!%`g0 zN+>VO>{O)STTgwDOFz(Tme4Cvfc0> z?u+PskbIJMKyjTdu@xmvMSk6I&w1x~TKFl{^)73>mpnx6&qMpS1!Fdb?VGa9G2u90 zzzLZcc+YLA_b^ikDhXaZ=og)KS;6<%TwVSxLlV8wZjc=!J!kdM3C%2vCrxcDoFHJVXhQG;(T8JzKwxIek0mc; zOw#VxP4aFF5)we5|DG-t1pW>V0B$HmLYYwG72CIaFQ#dLdj_zMP|>AD^J318+YE5C!wk1ud^LmD zPK|_%$wB_$if&i`ul){k6PE&mg7hjvTyp-46FToe{+xmGISfogZ=R_vhE{g2x%isa zOMCd&F?qQ6g811u$xDY;^IzfYR{9FG#X68m_iMcrdy)KFY;3K#p?d+DFG`Y>#^IBk zi7^S~G0~Z#M9i-h+(tQcl(OHyVvTW8_!8~EedEfsY~L_Dr2vC;kT00bEbB{yYnA@959M!8-cN@g|?9%cs zL!g9<<+uq7YaM(P=T8ef~0l z4!pAg$#)edBt6-*SR$0z>>Em>MW!IF*K<%9hxKb_9bEYiGlp(Nph|~B2+TQJQZEn* z3G5*1n}6!pEnsN@>?GeY@r>cZ7N0peX{5Y>>6@sVSAD{pifIS(JX)bEW>2H{BmEkC zF%Fe{6h<)>q+*$u77XEZMMnA;`R2^;Qa;oz1O;hlIw@^SoL)iJ!?m7F)gqvfgb}!H0Ov=J&-la&)|9vVgKdsf-mzP#nj$GgL=f9$G`Fs* zUF4YGtYpx7xp2?3%3!u%&<{FaU#w}a`A()$4S1A!RUamp{f1hWen=xEckZsLAL|l# zRo%g9N}q5ep!E+vO~33iRbZ@>{c#Qz6aQV|d9y-FwC8PC5qn zmp&{)ik)o`SWJP4uGB zvfA&+mYrQjfsFB+w+*{*+VQFEAhP&7LWDAl&&Z+aJxR*7N@gyJos{ z8?1r&Db)TFEFSG5nqtw^5Wfci%`hN{GIr|J#7lQa&-M-~i>6dwc+$tEHa+OVCo`tJ z@KAX&89#}hVasU$Bs{r)>yGjEm6R6cIcBI)?@-;T$DH{k<&6%|)S1*v9Rd!n3`azCI}>|;TvRr|6;@GOqB_34*Q`2JcNDytpU6Ls^@Qq&pH zOQx~y8Fg!rJHc(Nl|s>+)w56^6FL`LW7%$GxU$yOO+><76A+*2eRdwaekgw!)`0Zg zAfsAo#Oo>n)!|Qe@)KESI~_nFFcUV5q!ySU%KaQ`V*nCt{y~C55U8*3gt0Oq5(i|5 zEwTlhjULLZ$_wC~U`_>9x(ch>OgwlLOXy5w#J+-Rf0H~uf@?-!kjzE%W3MSc_Q1_2 zYcEZZexdB!F!!Rnmd|r*0Vi^?gWyh}OA=fFE3NPmptA`l6b3VePj*i0Vko z+q$Dlp%{Eae{MK*PSC2t_H&+x2NuMc5xXt8S zC;TmUHZBzURX;4iQ-mhx(qeq{7?!vw^;qFL5}olKHYW_o(xMDcJY0oMV}H@N#Uy|e z6C~lIr}wduDarJG|Hw%P@}w;Ork7b`7x?{XI@fr& zF8V{s8iB?=3xplI`+*M4b^6n4t>u0%4pvg*hwW^wg}bzud7|Isz$^-I7RA1?nJwmT zGX0H&^YXm=;p{H7G9_6-*XP{${4hL7*YPX0grGy^P7>NB6NXkiW9y3h(I?`FXsqb? zI1(&wL8`}7MMS);l{|^XL5fpFvRnfo^fT7x+6TrzgjX<~R?I1_;cL{R&>p$?Y^%$l z>93#RZUV$Of~=PuRFgXjM6(!3YQY&!t^ZGcbpqHN0PNYr!Cu7UWsh~{Gk8zgeVuGq ztGlB9t0jy@P*1Rs!2`WZF#|s%Tg8Hex=Eo)HP%|cY$Xxb37&zwe4eqrroUqLtEMl0 zwX>W@xTj0>mxjq_4+SZSAgM2LFLJ47rqd<8`G4(rKHGSDYPebkIRg70Sr0b5@)}I# z3e!=UMtAR5(FpnA0TTFA=QRvQry~?O>TCzAc3C~5nunuL=g-s~9*tL~b<`%N9P==K zYv%=a6KV9McrVh*REW!n^^6AJK74GMPtR4F@`3h8k3$JI4}VyeH2dA>q3(TzHuPtv zG`sXzuW|WakHU+eY1qNbJ&scGx_h{xzJQ95TYIKUq0#y&l2b&*x!cn7pc9tS|HNyU zr{$#3E48LB_mhj;@(@De2r&pZ1Hh5)!=lB;BS1<8YRSjNs6+J2V3hYrP^zOxdmvJH z@1J3;56Kh`p&$rHf>}IXA@FabLOq8^$gb1Z$wM%D<4CvK^MILY3OyE^my z-&xf-!9~vN=oH3e8>`)i`M3dWAm_E_6nf$QAc6*4)d%QL)wL-dwg=H)*6^By^I^+v zil$I_J~)Lg@b$|S<|OmjMsi7XqV^%1h=8I5wsV1`bAyt~*^m`{a zh>t5LY(81M5dPdarg_R@u3e0Qnz#jaQV4gHd@?n;zxw)3+Vp8WvA@#J$5u@a4N`xH znJYklSPXyJChn@Yy4&!Fm<=|hlz9@}558+Qb}S6xipAb>%9twNRarCiYQD;GS>q2? zeti@whzSue4%%FvLZPD!WnKx~b*ORReMkWqSwXa^vvq;AIu9x4W7kq>QLMS*3ki5Z zs_fhm@8Kkm;P_NoDHxpggkF+yyG2G&rpQK625Ca^rvd4D$-HQh2j?@m{JwYTlIArbA4^w+5}siI!&Dc7G4*y3;n6`<7P|;AIC%Ra6%kn@4MMK;8rPJ zf?sfIhrw3Z^w5Ilfz^0;k%SqS$e}}X?62g6zph=| zy77g*c?t3ADSqHu)>)TcW4|DF&cCT$Vxe#VKQmwtf-%&7HFo1jk3O7_Zd&@jSpA84 zVu(b3d7}FqUUuLRU`B|zs0dG_Baop5^0+h8HC9F#a|t6EHxA=T^OA3Mp)c zS%uP_V3Zi7I0;XI{V1s;E$nqVl!vN*=wx0}d3(_H!Fgkya!?8Ct_u!jjjj&St%<@- zh2DqsHt+k&EQpcuimO5f3%v3YH>=2ewt2u3OCycUf_aI@)XOIb!rsJM(3w*+Pa;Xz z(>Z;KRaaDA^3~pRcHyLb#iDv^q48bU5zmd;9s84W$_^>V*Hz!umX7msotBZ3-mi2E z>WkQ2{Fh%jo@LP1LFPLk4$Wlq1a{8Rtr_#^U=$g2=pzy$wl>BtFSH2HH*=;9(D+`S zfJL!TO!h~jujd!~$!2oMe^o{h z6-tgKQV4BZ!zwKl4zg?fusKC>xVJ#K?+h_Eqy`@->uk!3?UQvFI`aiQ^{Jf|cagbR zPms_lXM-?v0&+ua^U3OP~ja~`eSk+5hJ-BPZq~x&E z5AKV_XSKn-N;(p*CgCG6;7-3YLd>s*>%Zb*ne*Q3%W;7~*_D>Qc@)=rC%Uc^nx_h* zu98UJ+n;Xlt?QnAL1lF~vI13RGxOT5S3Oqo%Lz}XAe#29Hv-e4&?@d)R&sz6xdo?8 z=NsdaFzE>vn#ykmxnr8!%FSNBddLxC(*l(F)KMhjEKza{a`Lnv*|UvgpEhU@SJ%Yp z@&~}G3|b6BhmQrNq2Q9yA@k-Bjdpzdx$TbK4*Bq71IS8EY9OwMUDdCQ;%O1?HggaC zuHUzHA-)tv&W$25=ZWoW=Vr0TA{_bvqgwy-GWbuZ<>{K%T9@Mcbytr31re#bNGdW&YBDHD6eI{u4w58@AV?Dgl_-)yQY%qFiGtEL zAV>xUM1q1!MnJOUY0o*&{CL-V-+G^!`E#B*wHB-IuD+|Q?p?hv_TJaNN>@V?3XnF= zo2Div0B{P>^LBA_;4<{}=DNxy4vNZ(N~s&@1Ar^w=q_ot3 z8AwTM{JG~}15jFC{f|BWb0Dp$rS-?2|2Y69HNijUkOsgXXN&mP*-Z2e)&4x&?=${6 zOG5mwf$G1G`~4XRN~nqd>l4zu-*Y9T)y1X%Jm{}Iq?dnv&Hw-4w@v=p{;|M67Wl^k z|5)H33;bh&e=P8i1^%(XKNk4M0{>Xx9}E1aSm5N~8)+%zw-gi*w*lxHxeK-m3)pt3 zLRo?V*so45bukPeC8ks(DWMAPQRBHIeo3aN@TzJ+CEv=xM4?*ZS=8SVpcxoP0Yh^6 zg05r^WEd=HiGaZ|GN1q?pAIF4#m1v#1bX2;c#B(t-ZKz_tyHo_OtP$ zsU5Rh8D7mwN=mPHZE|z-R9cgBbH9Y$J$p88902G609Jsbp{1qIxOKa&Z2)(Ma~kl* z0lY+j0|&`H16gl-7vi(~E9fNS_93A16M&rnlD`1nV}Sewhx~tRxiIoW6sZKG{TW6- z{0WrP(aeNVT$%bQ^R?3*2J@lDfN~fM78@W!AUN*h@B7GEgRG7hKIJpcjC2M@i$a=9L ztG`sQUelw&c=EH3Uf-uZ!LP7FraYQDF1`0vP zL?mj#*G$OTnOo-42)CIQ0*yO~}Ii>r*Nu~c_pNnac6;HiY zsh8Iie&-({CDxL1jux`lORwCC@QN^Rav4%}*L~#AH08Y%;B7GK*#D$A6wW+kKC*vu zGGU2aavyqSRq^WM10ADRN|!Xp>y$j5B#8fO82b|x5M5qsF?Vo4qe!RW+91GEEsvyK z(eIJb=7t=VHjcj7w;C0_qFkfa=RO|vH3*(<3pX=T5XBK zb<3K)7?t#GLi9jxuVhS_&45v5uK#g`x24r`sFHs9k|(uy)pA&AUD(K!dFb|T@2*Eq zy9?9Cag+3`$ud2%J=s}aHdl6iSUU>}Z z_lQIG0w5FxPhx=rrm8OzA|oZqV&YG;U>x7F%H8BU(OE1$u3<#xPtpws8I~dBM++=v zG0}AgEFOnhfgAfFz8)2GTc73kBkM&GDTbU9roC3yCJ!8Lj4|oskhp0WF zw=X7Rv^z4XMiUjB7Yp{3pKc8$hv2UTcy76K#O;ODSDDC!)ZdKHd-`;*BW}sn& z(B#{c(?ShHw@kz0+Ih)ccUbC8-wh$2w<<%0iQl1dL|uT9C6^J9k z04|~~B#8^5!G>OtlLTFFy*ElB(^JLA*c)smWQ8q@V;)eqP-~}B=9@eYK8^QBUblUb zHqccZCRY58zx#`~{!m_tg8j6GCS>!hUVB};Txk+>fv8cL{DXb!^D-UO0tU&iFL8AG zhqxs*-`cGA%Hn*qWUDWKu3LK4Y)Y%((?EKU`?jP@kBjTrzNM|g`8|UgkAqOFxka?rGe5|jhHKn0=z3Zg?qAbeUR5W)h$S3_VEV5F>m-yd-;vDdMLM}yIU zTXM*ig2%gAM+z}sjvAIs*4zt#2Q8r-@~#P#O7-$tXM5M|H}9nh9FmD8sgUXyGH_vx``M1+=W>zWYQe(^`O={1`k{{#I|B>z1`A8U4@b(&ZPjh?dW}NLLbekIoN%c!n4C61QpdV6ct;<@p+f9vvQrBl`|} z4aE@|;{Zc*)G03GRvgV~fEI*c%0<{0&VD-VxER5wswHtsNd}k9e=r=0xmNbPPhFnR zHr-G=H@`!E`@@4rdaasW^#>~DQ>#lQ{JI zp0`OAnLDX6JuW5%X8~Hf8NSc8%N+<v3JVyC*Vu@m9}H*!cB~75=yv0 zRN2EMvHEVAe%40SgFWM6&hLt)V`q5Ndt5)QuB3HId-Mh96`2wOL*5J$?lcDs*W0E~ zXb*IbKbG=n7=9!vB=W^ZYvh&v;-kN*TmPS3_Mf0YMt%EjKobkbbMuJ)O0kx zcl1qgUVMO9UeS{mqxj_sm1|TkvwkmYWrIsbG?sc17%CKr^j%nhZsj5A78NxXE$(VD+rK@_oS-CYvTD zCSjr}@Vtc_F5Je-Ox)@KQ`!s3z?Lv*3NaY+mM8&HBwhxvM0Y^Abs9={ixTjGd;XzB{W?Yau0oUfTZgjGzk1L?k(VzmS~!-f0>C-k$h>=1l)7NBW-7$wU0R^p+U%cKO80|Z-?Kr$RP3YJ5phPx7fz&(g?faM){ z3b-r;T)7CBFJc9oD55bP+s?5_m>OF$HQ-=mmD4{xtfI?td%B}ym#Kf#f5B>~XOMn_6{l;MhvDDJ zaF8Jw>eLXaOJa~H-wOX798un8uFr8&+>Km= zWYVV_dsnH|w;qlXQ0`MVJl3QY8p_sW?>Ov?@tmx^IZR9JgOV8*u$O*1F`9Hs4Iy~l zU7r&Rrrpdk^1BhHa(+ui;j*pygg))m`Ms<<+WqDU^U<65nP5V5iPs9DxyFBXDfyND za_|%B&1Db+EQ427yTLuOF(qn2P&_??0(8dAfg0hwpe}|LgyDEVW}-7Vi+KgIVxT+# zk!TC~<%-aZL(MCwK})#S1s_5j_)aS`IrdZOy}J4!vaLB8^SbFGRUU!z#`b&5;wG`M z-uj$_knhv&C*#_Oy`0~s`?$GMyOSLf&kMFU#}5A}G9>V<2L&g-$Tl?Se8Evoos0LV zyt^@GK5Apj-Mx8Wntjc3U`j!#fM2(Ku}Un?rmCnS{ln5tbF-c!TcNYc#cs`1d{`Xh zBldY@irofvbugkhw(mBPU_AmKOy?B^h5 zESjbNW)#9u^_vL~v_t27h;Ua9Q|8SVr^#b(^Mwcbr!cF8Fn(VytTXVpImz^t-`RWD z5_?jcxR;^Q-jb!JDwN9i?u@BP>}}@KF};Ei&2JmqoDMSic@OOs9NCn##;#G#R##QN zCa9;*@07|k)#VXxnycwOG9R+BMK{~(TZug#{!v+xzE3c_7-Y;4 z4nnnHhbBI6yi15-54@PAzq0;LALd^3s{T$NL{y=mL*qDfCSAn}HWZ}U%l@G(|^2M=n?0g6W-J%B)^Y$I(t$ZKK&yJ;j zduL(}t`gFkf0|51@QijfDNSLPHs@~d2@Zs|oeXo%U^Ny_#oXu(`B0d1tD3yWrM8$! znxmtUYS=UN?afZ#L}R^oJ+s>(D*+0Esf$HV@{A_}CkR&jBbxyu66EFA%bl;6dh}WG ztqN?I3r;W#7iu9&xU|R&HTbC;707BsTZ-skT4^B+dF?@yIC79m4}k^ZAh;{NbU&}e z0(5Vt2gOWMKY%=pWWw~3QMmj<4v}yqI^(MWBMrprS*mCl@8HRG<`1I;%G*CREcax! zUoCLhgbak8m0x=qwjX&IhkOk6S(Q)BGBrtL!t8nMqu*Y$n;MG)w+4c+|MYbZD<&KZr&s>~Uu%AuQAzp;Ri8SPx z76|vuhsHvImIKOX#1QyZq7n>8l!M$O!XUy#e#o=d4Tvio<|+q#hhSh|xu_o} z)KLDa>Zo=4@UGbUCy_)d@fkVHr)|Qa>6hJ>`0V{cIk(GoO#>=-9NuucU)vozwl|my z@3<%7rhX&AG*BqTT~ximBdj2pdV@SwlB<2TraFsZ-hHomXUME`quGCOs>gdORN6Ym zynke4Y`i{edsJ<7(zeGa_?752GN>V%AMm+AhNPh7Pwk`EqWyHm88*$+0a;)tgAh?# z0Gh%X0#Z9OCsARz*i?z+Xi9*S0`T~e0wCIX=o|_u(JuGmX!Net@tpxI61iK+-c{^= zE7~QXJf=qI+b#xFd<;6+l8-_^ux-RPj@92HY!l53Ei?&ee-jxaK>$sS@~{H03IC ztT;NQ*xTa@f>S#5A4r5~vv>JrMTR7rch!a*Nr@yoSri8rC^s=pXb~#}~j`xV~c1=)5tVs0UJZMYlev2u5s5 z)3iJf3w|VZXN+<88z0cnF|%{?ZpYfxe4W|BQN;=2)C4oU)=)w!e~Lk(FvqN4Bw>b? z#=gU_`Jw}VJBu=Jf@5Q!DnYw^W?cDB7E_nRv!PdmdDo~s@ry-I*Kc0gxOOJy+p(33 zP*-g*XLgSxXJF@+XLZVWF{3ex{5dp^0XTz_GVC!>s#!r<(<%0{U>M_Qek$tGPhSv3#o~Qs3Pioc zMAApf^y@3K@$;d~3TAzyCWOaZD|z_&<*CaDN^G9D-Fn7+w~U;YR+^>Iv{(e14^TwA z7Nq6gb{R*%YTF6)|h+PE6$(VAtl_3 z7>40M&ROjnt5?dh>n=HjSlhDBc&b@X+E|H|n`V1j$!hoSi{7lrt}G5!Se#JN9vCG& z-U*f&-x*4;o?R&H8JP%n{SO9#|GKolB8B4!Ef}fL_-0Ut_`A?(L;{5$E3He4Bv5$# z5|qT@K}+H|xCL`io=##HFAj%*end4;8WIE26KRofIwB*2k@y{CpG;eOy()=euU(rsa@lreAMgeu+0)enx}6n<7C)xRv@BAxr8|K{kxoczZr zTcvWN1DVSG3)xCl^_9_1<%EWz{SQOKx6M~_9yS{6rsfm-p>ZwOVXke1)Nuz97@v+@ zIJ{*5f+P-;u@kicMJ_sZz>v`d7I&Jf1j@$+ps6sNa3G}Ysm*r;huzFu;`jacA2b=Y zOV6A^78a{r59?)3l!=r-aCDyv(3EJ`Uf+wE&l8{W5Sc$nKi;<4(j+sC7VIw$J>|WCu~(R=B+|Qb}F=gjK5k~^4KAaH?gEu z?oSykUotRSv90&jnpOE?775*==7nR>rzm^f9EwACHW}i$VekcNNr(pA4-x{a{+U5R zJeOgG<0Ac|h2wB!BnHS42^eXs)stUl)qzU!@wr(>VS8P_B*V-Oo8ppWBy=h(`HF0Q z$#}o4c-8my?nX`6RNX+PL(cBzv99JUaECX!q~p?g$yiC7nD3c3lJ~RlnTbX@m8K5o z$_FQptz-oU*37%zC)|f^d*%%-ILrV_a_r{kjXXUDbf&*0Smy$p+%mnb2TKZr8VxC&~JQd?#W3`DjhfU1yE zI8KiXuqIN#6ommQ9JZEDM2m?k1{$uhKhoOrflui)7lukv14|a3!#ICr{CRArWQ5Qd zQs%bh*T@-IGaPtqrxvslcI-~GSr8l$^Wm;0`$MbKX)^@uo$9nlm-9NujF#?OmtRP; zOMO^FoyWb`?`(($8pvPl?+1IoxRG20M zxsoWN04h@a;BprS@j)>~AWB+We5MTr@+@Coy`T|O_yh?d#kjzrWJJzMnbj-h5!QxL zu~dEKgh1Zao#2F%UI7E8s*^s|FaBbepYI!%;FE>yt0&WYX+Ii&a2wiVJFjFUlKr`aw$pQ`hJ$3bB2fo`zgOQ=o?Xn-X%^JFECPfvKWVpJm zyfi{N<9xTo4zWFG#qanB#}E3n1z8K$Adn*IayA5?GY+;=l$Zdj>qoS3oh1O zR?|UKPe-63UnMfm-Hl=WlI4_fS+yB`D!({`0zyUNjX5(Q7-2M$>jL^VsThGPwC0C# zQM@Idm4=buZSl;eZaJkjWli$iU zW^MdHku01WX86vGaALWfNa>QloJU7v$o4Z#`0a;)-~n_SNo zCEvq&9@AM%=M`LGHeD`N(0blprU^BJ&b_*1XPG+KpK2_w_Ujyf-J0yX{PYb8o&#XZBJpgr+A$c+mGX#f?F z0iXlXxYOWE;5-V7Wd!7;C`PEUz~reQrmIh(&<=DT4JS3#l@#8c;7i)sDPW*XDk%yI zdE@pz@9fXOnfcv?unE4zqsfyNv8SKE$7d^>E$cwDzW1AVioJ_Pc0(#xE|k`3!H9q}a)GXh z<){0*$2_#oBG0+BP*p&1K1+Gd3qT0 zF<0AI3fjIFxK~Hr8PIjz^o^#O`%tXnk(j=6L2`ybbC`2{M0?=)@Z?qAPtUybR4;Bd zJ*h_L5R`H)W9FqfncXcTUnv&++QGA&8CH?i?%o-?#>p{TyQY5pw05P^D?YpY`j^;* zrLiVu@8OlLS;AWC=i)0eC4W;V|93C@FHoQeC6N!;eOkm`{>~m)yrh4V4?Q9sg(UK! zk;FXagI2&0xYY(KuNa7kmtuZ_emECUs>KSV#c{C0k;GF7E@BSCnhx-TflN5%GZ1Pi zDvlyYxmx6Xt>i_A_AC51Uao^qS@(E?6pTuiz9Pw*%Sgd%R>*i_|57yT)Q7+%6VA1l zCu=rG5Y05+zH|B#k1h_(RGN)syZGhcQ*%2l%nB!0t7SYZswdm>`mcL(SPsm~uW$tS z)%lIudWu-@I1RYD&u@}XTr!#8URJ`F=dEU%q@PnP6>LYd1){SM2}2U>mT(QcuK$Z~Wsl@0 zZ)HgIY0xV^E*TE+iGtaTu*pv9D|>3s2dGnfFDi5jChks#?N;5v75322Ju1r7ed@Ad zF67=<)7Wp+J>V!@ZsZkc!6x%@%*$?IUb;S^!eujOC!yJSym7gzKCSY$#C&a?-(KX( z)6&iT?cDbx1G{>qJ&$rtQ@+K~PHXlu{R~CPtFaIGEK$YTV@iA3KujE6zPTR#ASDXG zB2Z*LXq4h}mKMwn3cwXB7Ouz#RZ9l-hkh}zP%@pR(JSXWZOnuz4jxQba#VwU*+D*? zHA0_J#_MOVKB<3U1-@xd@LO!$6G#j#3Tu|SqXCgkpr~iGuZZ&f^*GMvNoJye71Ilj zGGP~~k_oP1<#!TIiL&nL-AiMk(t3$%W8+J@TOy7l^+Q)k#T+ja6UnT*b=|&~SECyB z@H2V!n#KCIUSnQ+g5ihA#)vPp1u+8ZnX4SCH{x_o%SSpR=_42^7b7k}RB3&`f2gd=S^Blwf!(6SP8|Pwi%e_WmFEezr(VPkKN6p%vj50irx`bw z%I3%#^J&i9Xl})L@0yiZQR%}4D}`&i%6Fe-)sMTse3RDK?e6SnSl@VA_w!)7U`oiN zozB|D@|6jZsk8sCv;AG>|5Z|0_xgi;Ac%DSCLdVF<^RYY6tw@$9zpOm|BP9jPAkq;g&wmc4did8+Qx3_Gcp zE<1L~_gS40`+lyiNl)i;u%~HRX9m-B6dJ8cmm%fY#m0Q|eTF%AIQld(B{?DltAO*R zg#ILQAsmSX2p>8Kn+pgdHmaKo5Zj+`Oh<9u<z>tFgZM_s2y zf*&hel_WLp+}NCjYad@aLA+Q!s5&|OXwR_F6t3OP@NF5n7B3^FW*w{csV4Tz-5c2# zlbyC09rv5b8m|TEl{>qSdDP#n32pVg{&a)JNDE@M0Vc;Esd%u;{^X%)QDuIvmC@l0;RW z0c02;LB1JWJ}~zPwO-WKQk&NALc9jr51`4Pl5oJ_i^?}O?E(u;c!TsgK4|Gv!-szS zDpOC^Y6G*6YER0^_aWy$T)ivjop3;Jdv>F^q&RbR>(V1(C8T0OB_0x=wZtJY7dh;mq2!r4AH2OJ z-7}u(a^Tcd$60E*|2sr;F4?(l<-AX8vP|lU%N7|N4g>c;ybnDN+$QX`^Zi}C{NKFJ zzd+&Scb$>MNd6?%8Qr~@{;D%}|5ay%lkS#OOE&mC=8J;r+4tf~P=C;rxDK*HFd#Wj zpH$B_1|g(7i-x#B0V5y-nXgR&T&?V7$T)_#yymr z+ymL8%lT{Hz|kSfq)^oDAN0w zBYMV?QbG|woGo8w#nrvLroKVq8}u(9l6p~U&O|$2klA0lsWBWXy%>LO^;< z0t4{kTEeO4is-n|e`{>;x zS*5ZMVNE9_VoVPCS#?u+kanqzpJ}~n>e`o> zS$~oGtjBvHN4K4oP@Vps+rvNZmyp_mJOdOI)b@|Zbd^HW)1RQoZ$!w!?V^L(_U1m^ ze;@0Nbc^JIu7`giX9-_`h~p}OdxPk=t+VkEDJY;pWPw_P!09iHZ>3vqTAQ&N-f%aT z@RhoB2h1PacWZ9cYsh<&&^G=gd&A(h@-W928LyD3gAa3I#Ju%xmGhMLI&VwILJYd+ zWvtG0uh&0aP)U@gnDs|@JFz~IcwK*|sy>Gxk9S$@xn3G7y;dxe^1eoT_Qmo3!r1BWyKHg}uIUz>)x=BjZ;MrGD5R?E8-Cvq{=majsRy=T$zfXtv1?c;(djAh9I@7NYSII zh_qxtTt#6sS*1+DjKUq61oZJ7iQxJM~}VMD{PcWQh$M6`;yKNT z22l@4X`KOdh=u?ooYYNf344x##POYy3c`NJ;Z-%XrAxGFJMR9(4bh60s(#t2^ zYA(|yeCs*<)O)gBv%Bm!hh9^rKOyt$hpl3tDX8{3#s1o5-Z)UY^!-Och#z;5>6C!{ zBll0MH*=0j{K8n1Ow-1``$XXW(q5KKma?s&b@QpRd-H1|vjUA?<7G3wf5(d^{zrTI zzp=Q#Y6{3ddzV^hOa4e7&i_e1oK^iZeGm<&0wr3xKu?PMGX5eSV0|P66mO9N`EdfE z644k1^&p-_;E48!Ng_FLO8~f!lR#KFS%rsp!sebo*A#ky3@Cc5w*Kw&eKjHPcNjx{ zKmAMV+6P~XjlG+)EPwUPN2PJ^XP*SKCLT5SjyAG;TaY-ZVIKX?bJ0Q2J5l9bZ0%?gVAOdGfdQ}AXFx*J!{RbJ;z-dMxw-0s3 zTmg-yJAE~x-CD4xOfNC*(!Gd!-V*0Q-^4oQZC2MKjVEKnqJ1IhZ-st3yguOAzL0iO z@4Z)|&WB@_HNeC%&G^)FEH z{F8m?tNMd|I30h96e*Oqz9=QJ4|TUdI0g?YginL-bXgR0ujh(8sZD_n5K&MK6AYT- zqR!*yu;h{MSRm2^3*amTfQPsQ1SkO2#t|z{MMsC@ZsZf!-M3x}oZ(Tw{MzYFQKS|` z>`VTq=&fsR14e?fb5dkaKGYa{=~6GxHP**%o-|JFseVZ^X^Ns}wzwqX%#+&{Qf|Cu zb7Os%M@F@G{DxxQLn?{r$l*YVk6}{%$|U+>j-@}{J$~C=iBLTHWb8*~&caT~6d0WC z>4~pcR(kw#Z~Ya`1iKH{$uy{Ha-we098SrTc1K@{amXx@oo|9uITfYwEVRF3z}fY1T5ma5FKn zk-nP7dFcMk;XR8KsWbS-w3@x58(VcUVPL=iD^u@sqm^ytX8r-k-g)ght-Z+M2~u^{ z+v3M+!@v!x?%XnIxs;_g+$^Yt$prf%OBA~w?uolY*g-pD0LX>20BLZlARWL6gW%Xj zF#;4gP(Hf5@H!XWY!uA1>jW|u5&h5$U7?_uge^e7wCO8|?pnhJdIA^vgcq(MxGkD5C zzR^ggOt|@m@cz>Zi*Nl-%SG*SPjZf9#jK;7gs=Lr7a==O@v}S+AkQ>b;TOU1Mx*3t zir{oq{E$H;KNKKkb0F+)CjtVJk%MEV`i@Zc8dWCmi)7ky9^H3Q(eY((8GC{%wH4B> zWMvW>4@?V>&yj`PSDng!JeB?Ks{vD^V*CX;rh-YU3(sEJ*NpkejUCS2sJ`j5t*Ka* zw&0{)yP4BqV6~RBQf0L`FMFPUL^HkeY@TUdxuQjHv;U`J#z%Q14MftYX6)b2k^gUA z@L%b}y#F84hu5naziSHUvny!Ym5MfaGahnO_Y#yKrjgi(W^hNXQw7$iAYM-V2>O$L zb}}t?AR~^M6)r&JMhFn$2*(m2q6cIK&agtLmB{4vr|r&?-`7Ykb$CmOjE@(m^UR9O zf2j98ezlSYa9Wbq+}A!-de!P%5G}j=s=ss~bnYbieGtG^9kt<};2=cRV}H0YBB@kj z#k?SIEc`B&zvr8{Ms`V|TV4GQ zE^DUIug-nMI)w{k>mk8*Kkg>oA^Pqy9iWcJtJDNf`F(L(g>$UX@o;kb{Rqt zX;@J}Q3}c$jPlJUwqB%VxPR98-91KnHdcGC32Aawp3HY_pRL(}o?-Xct;Aoq1EXfu zQQm8Tk4@S2J<-Ja*Y#rWcSe)1;ujy~bPRkcrM_wKj5rB<-J(gB-zLRg zyPj|_zdZ`M)p8ehl{klh6W0J&A_E{tGy#0t%z-E!s%atxDU&-Ji4%6{pwJ4#MHHyD z@@m&PMhUjIq)rc$57-#W;6F)(WfX?y8I?~3NGUvspZ_IwCS>%G>D{X}v4igeH}pU9 zKTT!y4Sg`+^rNC?EOs{2T)11_%zsFmN5-L|I>FD%Wm~4gAh)+BvEa*-0KXk=a|4%w zIm^6IZ{rKJ1XACXtqT5e`kIhu+0E?td{{5Y7i?jqp1%(R@A@lJxcFz6bC=;CUCwBcuV|9=p$+kx_YdW?jH(2v5aCG@Ne;@E zY=(kk>aL(1#Dps18CDCIKu7i!=ZXr#ok2asu|tBtfE2_&8bG=p^m$u3OpW44s#-qt zQBz|AFMW=Z7N+uJGa(fia))IuYUI!P~%W;$DsE4h|>NpVU~#&8@( z1DLi>m!s+Pd7~gNv8=E&q^O6Fq|>o!h=ck_s^h3VR{>=5p-td>~u+Y;}~}B zP&MmBYn8iBCtvWIoF%C%le*WoUp5{lD(r<+afml$AJw0Pc`7N3mUDpW*W^&ogr#tvYrQq1l5#~z5xAzkk4$M<9A=oCFbErB$R9w%zHvF8C3MF z3eVV-@rhavVx=G-d6Bn>@6YiKI=li}>QL51X9OMbEF2(0Aw(iGM1v>{SnGHaiQF1E zCXf|CvO?rjGLS@HqJSy;V|xwDt#BVB@zx{oCx7pUC+^nS0X18dh1;z2qdFc^3rdrf zgRgdOub5dJFP*g1-Z5lyCFyA;!4}{J1nI?OEWC*!b`= ztPoU>r0Bnch2i43NcZy`e8vZ|(1o*sgGtahJ&4}T2v>d{DjLz1he$z*mA&)wQyJXQ zw2-uSznf!B=clvkwu&wHGW_zSPvDJtYokXNDlawG$@Gmq($8D5I-MzUlsE6V^+wHl zv_RQebap#9*-6Ud%UIUZ!NUI1n0L9`L}-8qAu+R9Bx~FA_WUB=v)tv*o~7s&nMq?D zK&ypt73F70`lc-b#}siVX=x!pu@*s}^L3D9{BwXDvK25wL47W3183qg5Yy@ufWTWK z<2zUW2z##Q-&V)yA|8oOCF39OMbHVlbb0u>ndH@7zC%%NdoiFYGe&;X_UEO{`bdDqZUA|9W6d5f!tEYyz#BQDK3qCbxziMk<%5S38w~|>|MM$iyNZYS}+%Rg^ zv#^)tJ62^jO1P6HGhQFKmRdM#;@K{6299n~gZ^wQrT5r7x&n6GK$y04LVmR{!+KkI zfKNnQAcPnIJZUomp665L)4};6w@!28P-QpB?Hf{^JD6ov@@hQs zhC`lD3d{y?d!%(f%WE)U*gI&0aMQ`hZ_@T8@-T{y1=BfG$}eQU-fPv~r)C{#{Hu+b zAlN=&RBub4$JebyLDHYDw}IZO*Vr<{oOfZ%Y930=m$jF{XzU# zaBi&W)}SI%JR%D5HO81{Y;(WNF76v;X=D;?JwlY6q*I5yz!88w+!91Lx)5TAVa9MF z^`Jk`s{<^i-)P$SIla5?M=-cN<&nHG%PMCl)nF7@cjntW<*x!{&025v_gH+Oe`R0Ut56LAF{;Mnh~?R3q8b^=PpWlUS0RlfbL2n-a{hIvkR1 z*0*LN=`Z$pJm%=qwcBo$#d90`3&SeRX0s;Fyt!5n7VNaEx0RSm7xVu&{O3RMkiW8r zC$~tLpx{%Rh#U-a@j`#zCIt!=ZEOTQL^ynLd;Wx<0Z4M zNZyc~*~mK8y|C9*|C>~znp^By?s1#&ln*HmmG=0tGjWYm*2ZS!WrOdNfIs8{&&h}2 zTNDn|w|Iw!T+7v&Z&6B;Swry9PR2)oKg4kQ0t$-J?u8I9L2wBCpbujNkwbK_dHv13 zr*c1^-w2TEqC^ggTvsQ`)^Nd!_mKwTI)|ZUf$Iiw>-SrxZXB$Qt@Vn3xxIZNer^M& zjYNJ&=baaimy9*cT}f{bGA|jDe`+FoO4&fLK(R70yPVX@moiB3$|1b2e_TJ5-W@n( z)<57`_kJ^AcEu_-@VvIk(X1;di}?W>h2y~iZ5qY6jt@_L!CyPLPaEy7 zl2Bg%dGFlHbJ;hmYlke_i!sF*b+&%inP~qSq2BQtk5&90_hXTgSC7W4dwX~|d!@2! zJlgU;^zW<~%je?vE$gyEwJV!F329HALyi*&x5bCY>y*Q6>RkQCDvQ#KwiWAQ%P{|m z?*89f(_h(xSLko$gHPYUAIb;jeX8HtL+gpE!ynm$EJPAiYIO%=DBEPWCFQ_xkuIRJ zstqVclHTYNv8>QuqCDAE(%)+$8;}nGjW~D27>*I3LV~Vb*J_cdXQ13;X-@i6nh$Pr z!Rz1g7&gMoL`cYL_J?iyaSys7jJ)h#_l?z&3 z!c`VU*v-V`kOtm4F*&2IJ-P;kigE!rX_rm*<>k?mDXIC*&r8xHIi8mLtmF8xqMCin zFHd|OMn+3F_026-ly9q4%-URDey`a+h#^kGdx^UgC9Uj2sHx%J>9z;dImA80Eg}Ix zx159ET&X0185Rd%hIJG0fZ_n?9HfNV888HdxmxnWZw_)vJSTqh9}dybXA=B`W0+vS zulg|lqt)kc9`A$i+a8n(RysM7}gAW!Fec`%$qI1^3;`QK% zU5Vy4#eLG(Tx$1z95mifHB$#CE2|!oL{S7={@LA;1%t}OO44JECbLP3<@A1c<*a}qHR~@{A_q=F zcd|#hedEXmFW?}w8O-o`man5;8R9MXNeanF8DzKxG&zblF~@% z;61p^RjglQrz(bMsRN05X>t$7r?uyVe$M~4humFW*JiEnG^u~Y_Ve5KQ+6@0=GbgP z#X?^wo~#-io_6R)m>T*g<6n-A6b~Oc$scAp=faEKr*Doff~}b`A6lcP0TsC1?ZW zprL$32>CFvmi&_=EIA(*4MnozxR7k&;r7l)j8MR#O`Q!_QXDI1SoTN;B))E3faaK=kEFHo5kw=}hm zL#VFDY8P{i69OfUd{?GpMf~3(0>51$-KZ2g_(ZXTye;QRW%xkAk4r|zRsef6YS6Ru zB=w*t%8C02uIun5QoXk!>W5^i+?u`2;8Lx;Q*UFhg=2-uyHPWJ<|Fep$!<1>oulkp zJO8t6uZ)ML&vyjXtAna!T+N)n1bW=39wcLip<6CM%UT5}C$?W|XSS!qhgyOmyVyYB z2UZS3hLr-LM;1WWr+L5|v^fA|024+6ZgSsb?$_fmlQ$R0LZ7*e5Jg73C~IRh5}#HZ z9CVqPx&>M>*ef0=kJ%W1xZ+K+ynz2KpdxFZTKl z5_+{=>~~MKWi_x*RaKQsvgiC%`DRKY(9a(CIVf<97Z2~RSf5flK)anPDvB%41_iC% z_%I~ZMaH48WmANcj;fUv-k#WDP>|@FGWOA&9_`8F=w90^)ud z${bEmt5dK0mPky-7EN1~7nW!3JZg=7_m)4@aK__stPKwOoD=YR*9v=QuZ_7%?>7Aw zjD4hId^Wei3*UO&7|NK(&-V23j$L*7>q?;uP6F*hdiL^9!#yX}J3wEZvGUnkqf_T<})o-Nc5b(WiaqvMB4pg^*| zjal$L^eT{yb`R-5iva9mMDZ94P<}WgDH4NRUZ;T0X~4zFNS(6W^UzfHyt}Y`b}Gcm zZR17l!S~U(5ykZjJEf6CwW|+!&R&||N@+GPnetlk+cabUm05Ax@=cd`e(M23SlLjP zW((KrAg*a`!98m7%;IIA-vzS8s@P~dACOMe7|{NT=vB*e7!tb-Mj#gfT`VVn zB!f>dI$3jG3&zrbF+zO=fNJlf3Lp#)kku#dvuxGPyyKy#VJ^O3$BvAVY`tmAKU*g@MqI`CTWbhoZ)VkxE6E#krP(&`b z5G0!tft&#Y^=Wg;ZgHVE;H~mA$p7b?Csk8BvbK}#<#o@q3I*i~uh!Q*iFz58a1oRr zKBHfUidp58fAcX@2CP5B_0b){sc3I#Hrf-zi>3k?5l|O0abYS3)EqGx%$*OUwp!ze z6hk^fsNCPul1Z1c3(#hgRt}@(_Hf~2)h`r+o*91wKRsu>huK%%9#vCRNM6P}Ro*{v z0Apv{NSX(5`|;mcot6Y(QGWn9P7 z{GsAGa%s}lC#%XO)@WL7U?e%)AZf-_xqbM0cl`hQ?)eY>?%$n)@wxcm?B25piVx4- z7}8e$j1N2V|A-HgEh0!or~@*pr%DRtxrJO+K_lgY^^ky)9P%>i20hFjtALQhzCdVT zS%D^nXjmNbI)=^VI|Q4&d|9AROP?q$h9n6dNpqm2DESo4A{p)+)bLV}qiB@leWXL* zmp-8ct=W&aViJGxoqhQ@%QUOX$JBF~Im)xMYf|y5%R8kd%PTuil3t9_iOoxUNvZdy zYny0_40ttkjtu#qxn?PXs8ipwXmT=s>gP66w_|CH#(Uo;df|6tVQGWV_5I zuh_!e!;@*5AWfqhacB8=0q?&!r&KrjPE~6&4Bnp>A1fLc9*}snYVpWmZD7RdwUH{; z9rgiBN)(CB<1y^7ct6o%N9Kan0nd9WVVfkdV2lFP5u*zzg%3gQY*M{Kk-{*;7a`J^ zR0x#^`koV@c#rHtJLRwcPI=i09!)}BMt6K&?I|0Mn68R;GYp#eRwNi#fkNR@N^B&OX^KXSv1YT&D(LOeKn2# z^;SV>YFhRvTkkSo*Phc0TVDmG#Fc_V@MODxBl)E6^kBqbo6Xlbul~K-be*L+WzTKF z@?~EaOYK#C)PLww@ZVq7-$fxd;`%v^ZFqAz_Z-H?_K(YX;oTpXGaQnN4h##lDyQ@J z)3(Rizz}Wdp^$8}Dy#-g4h*0vFuTf>dcpe?U52oZQLG9ql@?;Hl1hVe&2w~#495u~ zEMIEPKT&=DorZj{g#eQ{-XgekEgJf0rRH!6X~ulWV|x{668q6 z*(cba=Vsbd8N!LD6U|b?+4=Q3MT-Rf>Lz-!?8_YUKP_`J(sza87g?@+Ex8db@_I_U z^qf|7yCy*7dCUS?sr~Aqf8eOgx|ygc@2^0;t&N$!LZO_bhwUF4KNEou+Eb#FR#X1p z`|16C9SHKsmOSvm8%cN%%M8iHvO$)^*z;jO+2V=_pBH1o2|*`TTLkhlW?K34BsF=T zDcMKWw04rGET1m3@2_5D z7sfEH>M>5zfV#ye;i6dyx4F>=9&94}#e`>$<>BdKxMi-d0nHDsVs>UN4+S~iqI#GL zq@%@HJ0{g%{@fLcvC}jRsP0LN_n3(QFWMlbZ}{DK@*v36-M*iHztCkrZ}O<_VXR@7 z`7PDNUxJ?5W-3wLYY%(lHPFmBA`E>vlSZh+i=I$~KoKuD8H%EVFp`m*hzg+w)qoYi zh=>aqh)7hh+F<}cnkks#GSIWZ*@ql{XrwA<1Bi~k6t21g3Kn5Ddd)6hTZ&faW$f1V zDNjbs$i*D{hg2Gm{eOZ7+07rfO%>6>iK1FwjQ6CUSH)hRT()HGNiI5eND{rc&_Ge4 z>|ZF9mVduOFefRX_Q$N+tj^@RO7))0I(u=cB7D3H69iadaFD6&1H5q<-tARmAnXOUnJ zBpk~{2G_;PfYFDy1ZXT7a2@D?Q9<%iSNMt;IJeqvK-40lT}aaP`JV|mn`UYtI_z|P zKO%H?Xs=9yK}mdMtL2NO-Ze3Wlfi)V)8v%XJBmF3QxByYuR8TEMTfAcjnuy0R;JFx zL+%AeJY~1N{0)a%OOD}c*23j0*s2NnxKq0l+vARXKNzw67w9f7oi~p2IFM_t8bxH*z07lTzxH4z=#aM!ga~e z!T_@vR6jk~laf_6j`rT;4s7x3i$yOxYKz-2F7~$xOE+ydgq6*63AS!{f#(D+HmlTbcd@$0KPDxqZtuNodoid<;E)E8B;-iPfZXt$ zqp-`Ti%2WXERr2n4$^I|69N*T2}{@N72peoxf5tap-TOSR_;;=q)C~BeMh+y&j zSFa^56^Y$ra4t(K-IiNBC<%!jUD-LksK8?7$)@{p`Y>j_#Qd~T@qiQ0PjG37)kN9< z-Y%{6HxH*YaN%X1KPC8pOT5xIYVcx_JzwjqPZkK8-KqL80ESdazwYAh9lAuF7bYC` zgC_3QKL#LKwE*Vv*WW4}R5NO%&M@4)e$QKx?q(5L#AX z67ve86dngzCL&D$SbXop|Ib#mzl*{w^TYlVzQ-l5-RG=!MCxCe?c ze3EJw?usMO{xJRPD8pjEoA7Lm$HPVf&mfu;l>J*Czrk?g89TvcO9$Fa0&;P3UDJZ; zyMoUv{YIl0mTxuZH~8o4rtpFItXb`Ip78D>UZ^h1d-UW@`8$_pqjx3K#?%9R%fGZ4 zzHabwqYXe63?2FkJxyid%A-SOE1#BT0P6#Oa zQ_khWO}Q|itS+M83N9mypfwY7C-;QHJp66qIY}~n-hJJZXj*?kd0L_~-{E?8%|QV# zzv+knCiHueiBW2HWy_&PK3WiuA*gJOE2p_~A9&qKAmYX(Mx>&@xs@Zgo+ zGfP*Qm0~cy?>6aQe*bpen@gDn!!zkZ@4xA5VV{C)EGuyzHd|o1|LBWtiwgxO)_}ke zD?^0BY6H7i0SGUMQW|ZYgdih{_iv)bfs10$^fsjF=;C)YO5hHoHD|!(G67j;$quef ztoE~#m0PyI+nbl~z;cR59KN=tELnlIDVL7%Y#S{%$7kI>ZrrXAA!*d4SP>p^dALLb zPHdyuw~MNI7ag`qwJa|!&a7~VeJug0NDkH74mILyD#(Gla?{UaWoPFUC5Ihyhnl_G zd-jx;7Vkcfmz^EO;_&)AwbC@quQr&`sv*2+3OEjZi{9J*)L8^wM@WU{3n@Xf!8y^~ z7+*9!kcei%I9dI~q^iP?uOOK*)XWfVYeqpQ&&{`-^a5nUR0=PQ=-HmLEKvPMbGP62 zF0Asmp7j=h434f;|C-m_dE4voBmNX0b1?VXdE=esLCJU;f%%mP@6?q#S+6jcoTSxT z{G%p`p4Ep01w!%Lzr179-NtBlr>a4f3e0BYr8<}yl{-3p3DPvUUtE0{UOnYIRU=AR z0Xm_bzXS!S?*tY5Ol3YL*MIcl_{klC-f5wNbm=1Wsm%K*b1mQiO$>$;O&+XkrjEMW z?7na_F%{GKN$6HeP2RU>VyAXbsGXAkp?nf$$DvX2#IGk+K1SmfW{UhE z8pq7sr>SmSrRr{-{f8MpqY>j?#}fPPopc8}L9XJqLL(XYO0Wz0@Dqgc35Z1)wuqt5{=isRY>VuM_FyNeHSvU{UT&09fDtlPQ#xtFaC!?|xLMc16dbCv3F)eY}y~Xz@Jpcix&WPYZt9T-e4}$N7 zbsIDl-5gAUmIt`e>_9l05fpO-fqE+!@XYrLK!gCuuzZjcP9Qn@MzTFL3L9zL1_2ci z*wf^)7E+a@NoR+}j{ZJ@Y5+@xc-LsJig zSM8n0DmR4m(=He$TmU;N*$bbEkWbk-LEWM>p7(x@%!V(gCof$ zX{Q%@e1C}lzwQU%ub~lZ*KuxWtS75KH#9N^{Nr+_{Hs3jqdY;_rVnzW<(2%+&Pib( z>|>-oMi>lAN`mSGj2%{w6#`oyM&Qv{0zgi$TMp@Y`qez z7LvG>os*aI!NdyHHQ((HC#E6k*|zPbb-n5{-uP_6feTYa8z-FsCGCo{94EOO{Iqv& zaoh5A^fOS{q+I~bIqoQp5x5v1<9tg!&dX4(T$rE~c`1q&r6{lr3TN)3H z8+M5czH>=go?4p)3!)?*reE{Z+Y$5sxVV(O{jJo+*m|)DTo?Ym*M14Yge3XojpXQ6 z620)?4N|8y9!VMekR(J7O&1JDGhj-e+q7?!{e%~0xyN$q4M3sq8X z@uG%1E<$NIheN(fp$OA>NjW}|r>?i?UWs*j7W6AG;^Bl2TRayLPRq6HEGtvZK zrE6Q4d0#y+q1G`pdBJ36FM3fk=FuQ@tU5=9wodhpl!_DVP{&wPZFf% z8s!I=bp8Pqz383FPzMJJhQXE90CLl@tbu0dW5-(83aR6V(=s)T)ELlEZY9G=xtN>w zv~iq~$EpjY;k_qNVn>o-Ly)A{+u(wyi`>I_utU+0Av=&cXw_TNu^OzFO$z!VG_@?@BJx4xcO}?;H zueoetv^>D%>kYeg?R;>kh+5j+QwT428d$OvKdqUn8_x`Q@0#_W8G!g_Q9z8xfZ_w_ zUE1pU<6Y`c`r}=itja(4F0sMT*mYvDR;jDYyDvTqwD*w@wZwxnZWtjJO9e?hKdJ}4 zOOY*43AM1Kz)CKdBk+M>7}eii?i&8I`-YbzHBmh94ly}3-^I;tWK19tE0N-zzDk|j zZ19Cu??TyJPGEx@wG>2alaXk*seET=GUC{(`eh~DG_;bU3L*PTRiG#*sY$J2KT|PA zAky*qps2izqjjKYP7kv~iO`ReHQZF}%91!UuCbRnyxe|P?`XUtKX;GWc4onTYN|%W zzWUgK{groyK%ZzuM!@AAc0U!ViK8y?uESsgI4yB<;!_Y%Ul)#VeHVi<Itbn=#l`J(>y?=P%a zPpG7*0xQ$3GfQNMJ4aV^9-&Z>Z(6|vXS|(~yuEW_l}pu>`>hVwt%+(0t=VkJ9?e9W z=qXH6{cw+i@#1O_m}vvhwvfRXTREr`x8C0# zY7Zr_Z3%-CVYi?kT8Mx-tPVugcP``R}WR>!#e#xwF)cKxH0$D40d2o*GeyE|gi6xGk)GI&y` zzBS5%vG(=bVvJ;HXet-RhS6qTBwNy{k?}3MEES1SVr1tuPUQkvL5MSTDrv4vswrBI z5OR$bD8~50y57PCjtiZQW~@=+-f~WE}KCzeI{S(Jb`cHM=;`d@F8Isx(nh4=1#cmfEx(02XPc?|26& z#KwD09dwH??v6KS)+up$E~lG~*ly3WjH~+=jh>biVE(rr!2g>6^mnIF9`Gj)Ra;T? zXL_Ik#fQ!HR_M9-z*djs!?+@KurA1nU|0ED;eEosfF%)G7q$dGLjwGEXG1`+7jcBx z%i%yAg!cqI2-i`Cj1U05?2mcpc!%^N!VGR+zu6h*`1;;)L>#6)@J7yj*`uaS7kr4* z(gy9N9k2Jhit8^vowA@8dFENq} z)xN4eBNv9ax~+w$vuOf9S|=Bb6(8qufC2tIyh{>(j`H_9M<(G{6`IcxKgJp8I~&xC zClOC7Qv{V+JM*snZrTxPd|@Z8nu2mF{dF^hLE-gNA1<}E=85Ke^ zrv0}jeN4&7hoqwE0INO;>U_%UDZPE>RH4yKfOsDfm9Q3pF10cs3pVoIK@I?}M9@)C zXaKOp&~A37?hy4*+~(WsGSSEjANRaMFVl^HG#kR@T6O8K{UfJI%G5~{mJMw%F8~S+kuACi)>bQK z|!Smb$84xEB|2;GH@?(Yjq;P|x zR*1~-@aM;Gjd`D<6z~Q~gP*D;e>s+_Z-nHW<5y&2pr(RVj&ock3+t)*?!c zl%R&G&FpEE^-rxy7hIl;K~cxGwn^p3zql5Tnur!ah^*eh*lOyMAoxD-%?uniu3BCy z6m8P!WG`>d#M=oKl*b)DPl|8eooM`jOt$lt>+hm4;__#FXmpJ{A0HSmg3*U_ngSSo zIHxJ_gCGx)mOi9+B%LIbI}+IeeTo#vo*{XFOGp`%96h89D++&$#lug)c3CtQ04`%? zAs<+QHA5s58G?ocdM7xvg@N}5QK==-JjSF<3W&0i*m-p0w#{5e#qYw7$Cd9DLo)^o zmimRyj#u#AiiyxtPTO1hE_NPXHfileZpO(SCi)X24?8_mKgQe36N8qzhgo8a?}q9g zHWoC3PLpx2Qj8Xu+K7FoF@Q$Bn4x z=z!0`?FlsqL$K0}2y`+d$6QV-oRf?Z0N|;FXvt6vn^QOp6d{yQnpDWg7Z-`S=$yZ^ z>XM2_0Mst_-`rOC%lsL~@L-^eUeaOH%V&4yut0G(K=BaFM%}h0d%CI}{pOmBmsBlz z&-O$w82EIX_+`MbEzp^#FbF#43Nq`C=)vg+EIn^NT0W%DJmnCS_q@!LL|^MB^zE77 z@Qeit>j&$?@)KoZb$Bq{G9Nx*=gH96tDtToK*$N!*R)~z!G}E$#Jg1!QZGgLjuvYK zwB3R2O`s)tIs|AT>{P;BvNV;d)cJ?D5~203{FwtSwbI@g!XN}6zCQK$gX~X-O62(N zpfwO;(TdMaIDY2VI`dj4{1ym)u@rSVL+@pGH<*F7aRaZ@ei-#O^xIGNYlBWOb))<# znON6p`NQ@1>!tck7KLM_`a6vong$LZ<@3sG6pcLJ{n#*P;QiOXfPc+{{lEM||BerZ zA%CI|qnmgBj1R@2_yE>Jjh%}RS@k54Mzj~a%qk&S#OKp0r}abx3AzXR6CEDhg)WDn zXrW*Wm~`kXN-hj7r2Z~s0Z^sD<^o!|LXx744S`9K(fXV(Q$h*yyBm2g=c-=|xvo_H zMn8#h%!=xgkjpcMU0!#55c9{YyCczJ8l>YiN~ae-QAetqA>Zdc=2 zn%L?#_w_GwHMa)hL~x?n-7X78C=kN5BdDD-;*`)m**d6LTmsIwV+!Z&C3_7A4q0#( zTq*@8!hi=wpB+70tqf4h{;NDK4E;)w6G@(9@OJQ+o`S5nZnBoa)tki+6y zOraQF_&p@M7oi5b3cw3G?F&OLRf&d91oeTIEXo zgHjR4u^(DdWj^Nq7Om354{gBG8iI0Ds>TWdGY6vV`GUyb}GdHFVp3iF7qb zob(U2gST;fu?|0;TmHK0wrxY-94?GE%bv8G{WW_+my!r6rzgFqF61G}(P=4|)YHt< zwh<+gPWq^Av1+Q8yx$kBfUy72teEdwD75QZv$1zKJ2q>oIB|G)y`YidO_bc~*Mu?c z5+nnL3`BShBiq9wgw2C(k>=P~8W&T4x|D*1N| zNi~<2s0)ow%l8Bl@@hwYT49S2TAJOd#HN#6|AuEalZTg#&nu)-+bi;-gT5@)nLIjv zhbORG1e~vjOi}mFXm@Un_u6?@Jl&F=?<)xTx+U#WSFYk^5u3E0Rv{F-Jnh(f%Hk?} zYRr?r^svNEEI`)r&6Bm4gEIe#VTb>5UHQ9HXnOode0W#E_-A~0vh~NiMAiI{cZm<> z1d0zf$VnwJd4u+M!oFBTqyxZ(6jhQWfP7XZ^uTx$#fKOXO=2zro)@&>7!noC)q5C? zgl|wbB6>gWwlA6?oA4lxs&Wr!- zHr$^MF)D8KBZWWMqDBR` z^5j9+y|HTV(I!Kkm8$i|@=U$pn=ri)Zx~Z}4{_dVwqQfl7ieCn6ofc9ow%Nt;svKH zXvbEKrg^K@2cd$+rK2wc`m7K$Rj6wACe zyO}@YvhFzMXvpd{E%l#e2!x(a;6sJ{!gMe#yF8us@4>wcgYc>)Xh|H3m3~dx-@aG{ za#wmh4|S$aEk)G^hgThj4@N+;Fj$ZBz@^UbK1h%%c)j}ak#>sfn9F=LIaW%GPS-M8 zA~=0eyYOYS1!qtn)6g|C3XG{1*(MY;T0x^>n@oM8y3C=NQX~ujkOZh2LF@NOw0HC> z9g%-V2Sm3#MYG|6ul>;w=e2Mu_*i)cO$OpCg>KsT6!PslEi)hp zQG(ov#}EW$2%-l0O@?DCB3HuRPK96qMrf`nJqXZ7%BVdc38Uu=gFding$G;RHr2;G zVEf^AU$kuW{VV;-?dyuaxm*J^XRi$@2JOpkYO*dh1Z^5-^n}3F)h2$4)ISG*1u;Lg zQ#yQ8ijJ8;7k26gughH)uSKUSlE&VR81*i)h#KczOJ}Hd90VVLdb{xAC1-<^WzKhcMQbMDe}H>LqleE`P?X;6JQA0MP!kjU#$ zGh|keyR^ktxiE>!P2}}pO(a1J$o@iUGs9G|`UtX?Xao^f3}}aRKvOTg!m_@pCS<25 zBZr2)_|VF=R;670wBGnJY2|Z0UD@6u!D6>%3}H^oGtpCa*yvPo7g+4|Xz}iep-T1_ z#bwS7ewtBw{yZ7i*n^7-%6Bt;YeYVLKk*+mi%+-Sc`Yz_RiO8D8>EBnkgd7Ccc^Av za0c_!J4dD&Mqc_%ih3ve@5-jRo!7oh7S#1hjQWWm#Sg5m4ZL^C1bY-H+_lK4QOSKg zo|zQJADp$6<359|Wc@yfyAm0(?gcf>Fp@Sn6hu&lAjtt?ln15&zJesYTGrATS_(tu zU9LcO`TmS6v38^T2K{McXh^ZWO6p|R$O&26w2sEBWA-FUJlTw`zaAPZ(orqd#vT#L z_Jq|EJS)=4usQ9DjZ5KSFDI*z3gQr_|6!l{VMSB4r&k2;|2%cgzg1@1ZSp7BO}4ix zc>+3v#xh64Z;b}Ym#;~5ryuRrIhI%T*RuBqzVd2p+<7xqNM~{Zs!Kfrf%Aj{KWY*# zrrceC$w`X>j~OtiiyhF%R0v2tF%E*F>R_9r&BJJ%dmm+hY*pw~U9dD|y+1QtOwC5c zdkb<~$)?wR3i4o{lRhGh`Q%|GCwH?(zM^3>(|n!v(Tn=b(V!go)m!pe_$5MLE3IwA zP#N8B(s+(bj@d=|xjUH&1N5VsKRUC-decl;q*LY9d^*dk2H@UI66D^*RCn* z%VdC4M~XDadc~#fm)AOgEeqP}bv=Uj!8ek{Fmn^bw*ibYaYlhIqIRC__=Kk83kKLJj;IUE^ zuWCs#W7U5|VXUrf!=g!J#YsLR5Uhw;{W9BhD^nl!FI`Cf?i7BVyPOT&n+8FbGss;s z`KMiW?Vr{Mc(4{)FErUofLhGUUH^qO7Xca_7ea!*2HJsTRMceLuJ-HUU~YoHX&sgPa1l{8%S^+|E9+awqYpdk5kE}S+O_WPUF^zW?OjwCVJ&2F8xxGP^ZB}c$Zn7^Em-j3*YsL(gQQSe zLHG~3y1)+`c?!mAy$|UN#@^d4eo26MLqy?> z!CHYIP%nrru@}iMG1i^N8cPILZiqbx^jq8AVpy*;bUukj>iF&;t|Id>)Z67yGr6=* zjx0xQp;MUgajEm};AOM)z~h~})3$~9ApF9?hg_AXDk9-OJcRunll+qv^IYyft$)Yi zsN&_B&m{QYdLPo8?G3UD!cWaCrkqO`nm}XeR%gDwbFX8uPrI}XYom)<-L+?01VivX zDzpTdu<+Ge)O2sjj5f{s80IdKQGoO`syRwBSR8R5LEM$Tt3x~x?2RbkBKjicvlv8^ zlCDw8gVvIr9@!$j*2h@(DF#sQsUddRc3=&B@LKHSF1h8e@`@3;csIx6jealJ7dfYR zeC)UFV2UebJuLBU?OO%6x9^-ischz+p9y$P-ro~#TjLbhvpsp#Jmqwlrt>hJ1>|%& zzNv^g7#vCIWPhGkAz1KwiT1~`=Srp9L?hq7^j`iiyX?PreFI z(`m~;;{z|o4yl7OLQVpE@(i#~ioOk8h?7 zI&Q!t@Y#e}Dq?vGBK7sn>Xp7})r*y2n+o|h1DLVlmwvH2dZiDn9`Qc~QA_#jg+kzI zzH7C#|EsJNQk7?(wo79)7RA~^*XzF4fn^W0D6pZF^D3hY#y7iE`8s10isd=N4Q&WD zx(Q(fH4`Yng(E><3J2zZH3KO{+L)4*>2KtfhT}iI0qn&rId?1~? zob$W7BA}zEVqBuz{_*<%0j4_fL2tjrMN%UZF0F)op2tHLw<#N7l zSmvd+Q==gNlK3pHBSLaTBY6BMgdvBbG7$Il-PwHRnizj^*T~{zib0OwhxEGv2SI1# z?{L8|c7{tyEY`4C`iLmuX>a=ir26+OgKv7FeQ06@Z9e_*%y+T$@bI?-;cJWH zg0Wj3PKjOY`7W_~YL-{?6dq=tYA!kV+Dfa>f+sVi<_}zVYD76!L7bn<8?b1)-~-rj zmvg*$`OSN$(uDuA`|4l)gZ?oz65fna1(VaBD|%gV;P_zj4U9g3KVvwGUAI)&>fik0E+ z4n$3=2rHThCM{7e4g|@kHfb!H=z%G@MK+VxQM&RPv8k7Rl}op9pc!Q;JO6l1F@5ck zRE(F@VZ@j442O54em@VJts43+pzX96+}onXFIfz73gM$o@~HcmkZ#d5XihC=Dz<3E zTOgWH7ejV=GeQe&VTp!d2>XcK1+-u&NEZr0XPrGNhvxi^Mz+}yUz)!ep=64{k`P_D zQ9|htw68gSt-nNg=Q#4h87;zbwcyxqVt%jH-H77?FXYje!ecA{eM64XTzAG-MkNuj z`abne{`?(7gYNaK>a1z;%y|j1{a2+^L|^Xf_TBoTY3I{==#?{QFQhMRWEdp&%gVV0R^kQyn@N~J@#XT`>AeTP+RI&2ro|p zAXSsk>}8$+)sSih48hG3mQw}d0;>jo!xn&7#5)w3qyUoI=#&NK{M`DpM2Bq}SaEvb;K_*OM$guMNBjGA#j~Fr zII9ooP=EEZyca(guh(yzUmDA}_hIEEWigF>CA;i-hR2A|s&5Z7rQUgy#In5FVYd5O zcGHcu0eR=~@d{IEKeOdE-~K8uhy9J5(VzJNatpX1ed(AV8cqpK_VBJt;ZWUM+<=Fp zni%dqH$2WG94O+)K`^Lr=meoXWRtK1B-i2Cr041{Ag4!l^6!!cA;Jo7O-=hMPi}Aa&+$;+ked`Is4sl0E( zc&6_-2-m9d+!HOd&N+%M~Gh#tnDZpkuE#C>7aQP*|SIM#je&T z8msrlZV;EAV^r?2KN@7z?7GJ>R`Jny5GOOM*&OarelU8(T$?j(uzI?aWWY6Z^MO4; zMOOfylR?m!(DNY8#nrg(85a;!T}BZ6W>6!1OYsR{>H|1Uv{-WQL<4g~pFqw>@VyKj z?1m%Sql=qQn7VXy9wxl_el)+us6darsW;mAcH9l;bc3A6)U;nrew!df_*j0wRQqf- z=sVA@N~`Ku{%6wH7q2(i+mEF?i05=`t=QQ!S-gy~>6#4pSQYPUI2kcm1=B=Rv8&^t z9qFj{V8i63(`@C@P~TqjQI3jH^|4ccWwU3Att=RQz}^ASEihPEE6D|^%^LH>c58y= z77yrMtT*uZ&*?ln5Qo)=Vm`fvYGG9YWDO3oOqz$Ks>!V_9w4McA)aUv>Fn*o6NM&T zTzaxn!xVgYIl=4M*}+lHagw^a2LO8jLI+pJB?#h9qbVu$bub|Qc1qq3b&X6N}ldf}+qQs@4dXpK;XQ(B=A2y$KA>RFE0`&{AL<74hXsxfdp zdYZmmX%7VE+uoljo=EVxP~q(&M^gM;P5IzWh00jP(BL*r->bQl_YC@17e zA(9ehP60f5O;E1mE>!}E@uQU=RpegI3v7#L71GY_qwKz%k!gJJaTGse;@>?NA7Gr2 zBYw8~NpUXd@CrvF^j;oOTi)+!UeTy6h47_1ONK>FUFYf^j>I9GtBEcS9An!@UV+76 zo1mXzzjVL@aHkn#toke_$1W`AHd+W z`9IiJ(!bbNUX(Rb2jnbGqH5&tv|bnXL-B*+12tGKDNX^W&81j?z^OtBeo%o(Lje00 z;D%BWSz#{JsQ``yze%24I$whg!3uPlpzkZAy9P3ZxYZVWSl50BN&b00f z7B1P8tDM2{Awq|`B#)^inc5DOG96=@EhUwIS6`?TeOf=DnA;(rZ@6B&Se3Q62u6yQ z9P>UJk9-_(;=Tpe10HIFVd+^5(*~xW?e9wZ&l?l+AdxLn5P?=Z=+K@GIc@toP}GtM zsDcTNQ7I~YjBGTVN|}ryPNfg>76!$F{g)`Na6o604DyO$j-NKNfI?7Hi<6Ao^kw*X zOtm)Q`-EGw>zen^M)6-wO~EjZ7v-QrPF74UK7hYO1cj{=!P|F5L; zeL52Z+zV1?p^W>_4eG{|dmfD^cY;V^a2B`J!AlpV$@{JJE}pxZ0(_i)I8@VrD;1wq zsD`eVWP14Xmk7>+JEdsKO=aWZ0*Dl5oy)sRoM@4m*Z64D6X> zmsfFki|&K53ca7>mMR8D<0F)ZX*hPbxy^4+M$-RuTQ=y<|9_KZKl)Kjvx*7CeToXi} zG$^7@9UVkt6Ste}`nj_t`bEQB#$_h$!Lo{-=Xu`>`ouYg$NJBj5;jUL@+aRkhZmHa z)%mF#%U9^ju%0=;US!X>J?VQHbAE69U;F2uMS)QEpXp)Az7hlKLCV2$qV%LUh3`n@ zCo=a|{}$b!poz$CSDd~aYCD(n>h1KE)D;!>cjV$<}tAJMABFeeWrVy$xLCd1VYk?46Ur2Ordu+U^X zE?xew-IaCId7MNW%ep+_)-8@|R}rJ0p(YQ55P{QB-JOZTW7{~F%nQ58EVk8byf$AM z_}QGm~HH@^NngO9ErXrrA=356G=ACluZE%#rc`?`I)2lQ}*a_Q`uGf zWh-lWv#$3|-rR67ll(GiuRZFgDP1&ZQ1#5`qhOEa>ooEErBX*G{f_o`Q?Z%wFzjvO zWg=6@$ainHFzKvCcNjteG*v#NhOiabg?j-QQX7hU+M;iu02=pfcLknN|l18h>0;J7lx>6MyT(b zFF?ekb>9jh04$dp>>gz}$Y#Jn0QwHrA?938E(nS^l^i1x1r(I$-O8`KB(%9@5=lMM zNoX7vDvJ3$&YutbYR*j&T_eI&9nmqJs0RzqXFPgv`}nYWSVqbFLF}`6PbnlvQH;ThxFp+zpF{7|1JbG^W4K#$90y1y^HS`a`ZWGF!- z9qJvj2=xI1p;rYfKa-(Fn+SoQLWU2yY%w;l3Qr#44pBq5@BifhHZH zQ&QvOlF3;Nm=hn|7z%3A2|8ZFTWBu=ZdN31=y1`mr}T=RVCy3)fA*{`wo z^?3B1N>9}_u1=b3;+%U|{t%d6+U>c@;_Upu+kCCp^j+e{ZMNgv+6ZVp3`e-hhG68) z<_UQZsPRuA3rMjv9fXgma71xL2uLJB0knu7M@Phf;k?*|p+?eRZ?gmKSx;7D+63ar z?rF3jT<=glxgcN}LM4){Ap@ZuxWP1D+>Xz4!ap#R-GpCFlRiD7JSZN-`{UQTKjhMV zg5!pVNHZz{C86gvLdp$bxbjkaYg(F)bWWkH(YU$U)nfmCp8zq}-SzBIt>*GV z|GtU(n4-p1J4K<$)vS!GC&eo9dgC1lT??y{4V<+zj{`=eOvK>PThwWXQ{%BFI?)s zrf@usCm1-?MLZT_5RIOH4%-Uk@wZ{?sT1sBXrDMXG>>a*Wjxa>y2a)Tx|OmDo>ca0 zF6|fRXlLjgEt|2u$TDa{_IxW5XcLX{2@ueXeDw1}If4L7UO*~Eti}OQ^5EVobx2S_ z3MlG<0)kCGG=@wWLWZOZ=0kc1%YgYjVs?NLdk69=5-zTcu14O_LQ$g@AQ61U%5x$% z(YuH`&!Ws<_ibZyyyJ}&ZWf-+7j0Z&?OnF9+&wvb-8t(QG}kc84-68_<2*9;as!3h zHll4BjM^KNf4}E&imGBvwc+RyCtj#f?;oqK8LE>m_CFgFU8#1QH7B*HGAMZ*&SW-r zJvH3pzR>HZ9u%i3Nx5K_0Nr9rP}Um62<&Tms&)_)Vp?)xtk?ut8&(kl*Ffw5nr#Rx|1?|dT;!7lxhil>q}P1 z!^x+pXG|j$3}!R#njgGBBX3$J5lDR^mZd55=B2{jiBnB5L6%rm*uxYxP%6&cz4ugFoCQ?&kSF+$Ejhg#VAdHxH&dj{ClUXR#mqcCw3* z!q2{QL?rtXMRDx1B|`RtqM}HaW66@TR>~F%N0RMW3JDcuCn@_D&sR0~%r)1{J@d>w zGuL(B*YihX&>x56e9!l@yk9TaL7N&LyRD~wyopje_?jZ@p;ZAJLgny9oG*+e(Zc*% zKj4bjG%y!V38o@&!@{K7Fe6043t`pQufEeF#0b7d(cBRexNAv`U%&XAlKSxT2Ls{@ z-FME6v_#Q|ev8s9W@0XCZE>n=X6WIL);z6I_Htq4xAEeZ5{uk}vuftj0?z1p&UxPX z#JFYE?#wGM_>{Vf?{&n@-pLS3Xw48xt#&S4Jh%HYb#--AqTBAuo)frU=XZJCDICh~ z$(q~?mG6nkbj21Oj{%SjM~!>^TQCkzRlYiz3kzS@60sErHWjckSAmxye75$h)^jBXuw=qRm;Mq~Dc$g3f_Bws>Oi^hLO;J^Negf?W zLyA0pZAjakV956Vfljjs2bS8xQ3L02dRxy(bYHHy-eSNRA=qsnt*w+ znSe%@`{5EH@5z-#tJUhRBh|U@2S(?;_T0C=?|ZGsgM_xNyXS{ke^qk5Ls!3O$fP6> z-ZUDAmqf4Q+0%&lcF(sQ3`*D7??J`<1&C`PcqM>}fv#aH>38W1pk2tS0uWucu}H2I zB)%|}MT7=^Mmmwjyo{o?ey?(ItSlz4nDzOGeqy>tFMjaQ%xP#)A$L7eM04x~;0b5_ zZrqP{TeTADGL29yt~`<@G&$9oStZkGn>=hb-{Ey&;x0SP*Iij|rlGitpxK)AMYRIUzU6pLc7ngnpyA0JKLErKJR;R|l@?rR|^)X+ox0Ytl5n-pA9B;r99xgPVvAg+pU+-QK+uSTp z{Ki9FG;-_Jrq(l#HRd10F5JFr(@#VGSyXC4_O+X>6V(BCYS+k#mS$wW2cJTwP7;SR zawNv06%4TNl#(NmT;2P_UmUL3#~>x^Y+$oEZg_ z2vZ_j;l~IPOiPf5Asio!fR=2D^q@kK@g#o?7n1~; z8poD^#6EbWd=JK7p%Zl?LVn?V4~M(Whm8Q7$yT5fsR#c=`=okxj+5a51r4g-aMgPAdg z0z#BW-Pz==-p`6jn`ta8iGSDXnR4ARbDDqRV-O z$2kVl6bIa}Z+6qH#Xb(14|2Pzl^p+W)b676);g_oqrX~p%HBITTwWqzvGIOICfLQd zkp8UdIch}LrT@QD4;skkXfMRg*iJ}m{sS^eD-?(CHKg}7)Q>tM0>J3{sM+QwG@5h- zf*=rk|c*2T*ABt>_Ca z?eZ5r<3)8#y}vs&Qz@kJH4mRR7AUH`zj>k&fKWoh`XK5>HigY$dfl@?>mc8atQ48e7lKpAo!EH`ot0#@OI6( zYAh{;!cyd&Bii9FK!kJ{K|l*2--)s-N5{1(Krvd~Uex?$;!Lzu36@pSxMN|0C<8@> zu^{a{jQTH&{mXJeh3o=*)e*bB5!6nvHf;B(3s#`(NzDA>u5ux_E;pXAdzg`U;^UK4 ziCfZv4>K5qH1rBgagJv8|rKUi=6}Qn6U~goKdX$xQ>1BQ&CEsSrer={|KW$Q^ zO;dzh6B@|+p6sK|wg@NMsS{IWxztZ8jR{Jb8@AEffQ80`o5FG2H&`*M3BIn^u7sWvgulJ^g;fYEFeNDo=Ef;9Akicp zv|KX@_~>Pz0Ez^(Da$E>n8P@YQxBu0?@z3yr@wYwjP}R2ID+z-n{{>it}m*B+QvVW zZxwRzZ}68;5e~G8 zNxn3lCmdR@jpG9l(|{o+@Stf3H>fYh5P*u_8JefVQs)WZg-lyWEN$6*=f94_ z#UG~Q7%AhPCo)2QWvu>w$=#RSmlB(w*smBKSJtEojCBG)vteP)rQY2`V@ixK>0<|Z zIw}fkSEQHE$EUT`HWVv=!y?M>=Udn*HKk^-z;nD?zcJnjQ3iexiJKWl$e6wGsr`v75fEof4fa1>+IYQ@N=q9vZR&ZeO#JBEt1nN4C7OSH5|gaz`fvDP_ILPj^6&6r z_TTV<2Db`Jz7B$)#}ic}6fa9_qY7cGW*3+bDaMPq0+iuDNyjKjuZJkZNb*p#DGJ)w zbFpC0;L@>DL2(Hpb*;Zf9U`8(%N>UxEnK1Lt9{&tol#OlJ(#~=+$+OJ_1^XVvqpXX z$jznj0`a{a=KYX|e0YWdR-T84TEbjA+t==a1kvMBwUxr!#rBc`H5(6buXg`Md?Dp> zDJd`{aXR?zyZ2s|k}h8TnYl;9^%m?J@AR4#T4&FJ!GrtSYCvxHnunfVPPfLK&!9$w zTjSG6SsO#7sXB)4*?sbH$7zPK+n)?gNplJ8&(0ZA5pGf8F2EF|FqpRa8C>0*3)ACZ zONgX#ci6JkRrfCY9m3lixVx#FcwJW(VcoAJUzN|uE0V{g-zxVoLbLTn9_s*uqH<4dTsEDX)blXu%-?2j#73$7Y9c^U_y=rq$RsF;R7&$U?i{moY zTqU}OZ6|qi3bt}CR{>H~SB9>$YdHCO1B(kd|=XTxw;<8^U584;({5U!_AQ|Q+Tm;W}pwDWCv|Khvc z;g~G|mmw~Fu=u?Zx)*IUgZ7Dvo~Z2=S55Tqa?aqePN;bFt5I^m`#v~K8fGI-flZj-I4IM2(2Tp4N~w>anMrI zk316+IBeJ?%m-BpA3;9+lx)3M_~Q33ul=go-tW!3-91a>poOD*I}Q6ZU3T$2Ud=HaOoxuvJK8=qu-DFm0i@^EFZ7-OF&C)=yR z?Brs8sH9YWS7BHE?Ei&SmVed5>jS>Ks&B1P`$6@ z!U=U7q^xu(Ld3D}ssg`8eGWO;oGS*I$rC z0JZiZyR)rMbU$tSI}3bkIZyG|FN^PpA8bQty);u zhZTp+vM;21a3{{&v(4KTWOR$Wssd-+wuWTy;L563_m!~EwyJh|Mh3&7`=v8;V|MoZ zp6Q13lQRQT!TPFyQUo-4?1rqq)Cmd#Oo>*61hO3ok#HypO{Rr(3?UrtYiJy11^1mm z1QN_05XT^J-$6XSid=h*zig%yhNHW1f(aBX(q~`qa#SrBkJk8n^7{S$jKfmA+s>^q za>iu*tP}rw-HKOe6FP zv~b+AK#gtHGjzA#eBEw;zHU2cD7|fDs$Zo}c}>~Q+<5elrNWC|h{Bh>l0nYa=~H#Z z3O0c!hBA+?AL+$p0lh)}$`d4`1Y|H0cm-WT3I&A0QzCq$yYr(vi=+T9p>+JX(4g2g z6`hN@X`E%6;)sQLjWM4&Q&f}J6Z;>fY0u2&dW-vlS2PRXjz!klugY8!Ky#Rei|gOc zl;UlZ4xQX8H~Vy<&Heaxj z?Qk_=m73STiHL&xs~{f0eVcC31L5zy%7l@E48!xP zfO#d{J(N-4StOM*P%|=XvKE>#b|E0N8n4%#bC*C6ut-`ZR{i_ zSWxQ&+|#@S^N{3VY63efigSXQAOt%CD`FgA7DYgO)7FL(iv^PEUMVez6JoC?W8b@q z-Jb4320k-o_q-+Y#2!XNLmL-0^pxlmCLp$QHAiMJc~OnTV-OvHKp?3F?uFr2xsp1$>cRH?tTW9vP6ujcWnT>zcv zm?p77_v7zu&8(F*HowC~+;*2&jP6fmo@*IS{{Z%)t5$BW@)d-&_!GsTcA|_!BsPFD zE@#ee5BnC$LR1_dz>0!fuH3i+mUf&P%apf(b;EBE8Sq?KG>(?YnkP-9hM-%71XfX% zViF1ZC74gp8(=zh{tHh)Do*=E2j-$Io9>EBl;fDUJ*U~-CNtYl$kAVmn&@*_AGZF|N6aa zL0k62NbuWjMze#62d%F@h6>6xq%!Zvm|O@lr1qUiKtNW8NL(0((wET?oHPjtUo}Iy zpPB$Uf&9b@R)2g6^!%rZ(Dc_|p36EB&UEoiL>DZSVwJ-)%xw$I27YFKPE#3K#{6yM;@>W0;!5mR zp`{)fdNFPS$nDh)r^(_oW+zen!J z3GO-;u95~<3MJuK6v3nrRdO*_^y$k&w9@6b5aE~zLO_EOr9@STBv9%?wR|F6SNY!} z+7Ui9U?r;-M>#hucq4#OkD%$=yYa6VsLv71M^nEn)rQ zLepH{W+p~u>Y1MEHGh97u>W~+EvIi_$0OvnOhi%Nz?x{`pvL1FyC()cGh9J}^q+3h zTYh==Utg>IyD3Z`L?2XrU-g0L1F*}w^#9pi`d$yXOQ5AdNq7khL`}jmr+zEtdosYk zUJt@r2yyr*=>see1+oFl8V3d2YjgA_=`a+AgrW$-6j9#yn~hdtIZifzGc94CJNwQ3 zStHx^du$e}^-!MJDrg5Ok&O(vu zEbsvbEv1xnR4g0>2e^>mNzqhEujz$Wzg>T<)Y3+0*^CC%=_1rw(g5P4DWyMjmd%3Z z6zc?Z1M!m@NeLx!P}BrbDE45_aZ=qp@zDB_)6EC3H_bV_YO58Ve4HqYD;?30x9Z*1 z2to8M+Rt2}*ou<@}sy;@JzKK2-h@uzmq z8z`oA%#Q$>)uMshTz&lZWYtW)Ua$LC=>X9Yx{Smqd_?R2i zIc#p0L41zOTO60Y8ZAzIY~j58>GmVz_A9*Y73F}Bc{>e^4BjpC*~;p5EdZcWWa;FH zMyA3r6?oiWooC&6F82(FUHx$&pg>%Xny03@{z?4q7sH<5TkiCN(VY}W37-Jv&KG$U zFuE=i5-8tY>!Z9#xB}%zlF>?Cr3Z6p^#)psc={-zkgU)6hM||EA z-k+0x9O@FbFTB(89IFW;>)ZEtL5F&M|IWLeYbLa^rK*Y2!C~=AHTFmIy&U3ef9Sq1 za#mrOJZD`ZVximRG5mRUi%|lopw`~i^fwLqdGi}_d&M-mW>=R5hl*b5EsdADz;XP) z{#E&3{0ROX3R{4t008ezQeb!KmJi3xzcht+e`yNvagrT;4&sJ4NM)L`Z+N7ik@!Uz z#!34WUZ*&<@=lT|erjWceRaqvUo-@vz|>wdhQJ@5z{Gu2?fPp&IbGqhu;UaW$~`I< z8Ew4tsw14+_U5Vm*Gsp458UV-eR%9p(UMf*j9qL&cdh1z^WF(+%vIAnrwdiy1&4*+ zt+r4vR!#tE*m!K~yj-XI(T>o*^uQviR1jxLnW|p0-1hmyUSgDb3Rqg1<+)%{t|X&g z0~D)5A$9Tw9as*$6!tiQo)|iQCO6|71NI}H@g9{gJ~FySm@cpH@HBE$FqTE>uq&b# z33^^+6p6o?#Mty zv`FtfkeUNRaA~+=xT{%wE^;Heo(RAZ8)F#XflD0bezn}q>qt7 zDE4AndlIbj>c@W?1cNN<0TrB{kDuFT6kPIeMIbgTsEZ=xlgUR+IML$0JQkFMjK5rcnC|oE)f; ze|G;@py*U(fW$4C>&2?XRcza4gn`&*)3Ji7>Y4R2Ktj!29&rb%zVEAHMPZA1A>>awS@atgZ4AL^rA6AmfW4TrpJI|4g~GD^5;#S`oyMZ@HbkR5 zJBV-zU@`GvW_7nKyP1=5lT92`-3H<#%oMB==TbyCA}oT0d8BxkO7QT=XB-#Yq% zA4Ki@_G@S^?JVw_n@k~jsF?#KZhMJ_UAVag)`uMv@;w-))hVU-_>(&|q&jD}yn}z2 zZteqeMNOu9mhp}{|Ism3JNskh2mNVJw$+f5f#2!>a~%)=`2_k`K3K;82~N-7bwAi$ zvf=t`ebCnXYke@)x&yl+x8NV-pBh5p{?aKrJg`?(5zLAkfn{<2FfV8x3q>`+qlj9V z7t)4NI5aFoa$-UB)lFlvdD=bjOt`-9SFYQsvB}UJF3xp~a$$QUn{v3{!B4uB2Gz5M z9M~&-J${TRB?8_s(QOkP&#m0-ZS6FdVrJfu-YVimbd;m0upbWfPI$;%Tr2JsaWlHy z_E7h+i%Q%ihh^Y&V*D1jsN7r{evM=5_*`RJ(78hQH4e!;0j07-#Wiyt-si|)3-v)< zdM2PuQvDz(EkEcKPhN>zi7ei`XBBAxVgYaGhW(r<(AWt|ywp90@4cvRibJx8bhKJ1 z+qwJ^a`Xi#IVxGiM@SZ_#NAK-j5`L=hn9upAZ?@?rL+JqT@JpZnH*b)K+`j{ojNno ztSyi%esf)n!|b$$@(BqAP9d(mB()_|36ps*Nn~C0veW%L&kQ4^J=t9Y)~YA=HZ{Tw zF-}*I&e}w#%eNh}_Y?|5a%~cpU9SxBgy?v@wJ46za?$f~-)y>D;cuMb3bq=|d$Q)- z0y13_%^YWEYzovv;(ZQKO+8%BIly2LWK%KmAv9dC@`9Dpt6rr@#qC7kYFMpIe3b2T zKV1Yqh7g7MUPr)3=!~R0lzw} zuC-xhIUm#c!|Ng&*diRcZ?pI%i*hEeA8ynpGfvfet9H=4q$YyEcVd>O(3HB--Ku~7 zg-Za*WVR?dm=*4}8lW&*6RNhB+q)39?$YZ$syR}y4Z>OB?rs5V^WiV8h6nRVkI~tr zP?}9riiBL7@X%ROJA)xfisBg1oS3qvp!?nf#MgUgsvGnw zz4fYIT6wSKz8g3IY^{8V)O@lsoUZ=DYu_Vr){(xL>uGT2}(^EC{H5!(1Yu1cM>e0QOfC@(uy!Wk#`(nf)Q8`aeiW-tk?C^$n&#B zt!74kfKl<6y^BLj9g)ixIXf+TYo47HmZq7?TAwVR-Pv5>R5xt*d-Tg*+~(TVCbJst z;vzn0?~|SLTZ-YU@BDb_ybCPv8QC9zmuh#cNA>czxXoUG+{r*zI9=DgAK&S&e(zQ` zu+>J_g80sNkLqXAM66@=3PYZRHfn&G6>*AdyqIblQlg^-tq)yRcj0NoSycQ_5-oCA zFjLI_>};z6jdKbO3TL*TuNmD6PY-Shhc%%;Gz_Z7Y-Ms6PY^)vLTSCus^&cv}sqmlCD@2gq^a_Uy}#iuK|FwM6CCs59=pFC42rr};}scC>|VD#*6U=~ZI2@*I?c^Qk?vP#rVt9 zHM1{IEc@`n1P}aGB$LCHThl@3tKK-K#@OL&5SI7=LIpk^2qc*ZK6v4%5eKoTaXc@9 zMGn#;6e13tMH!!E?_+!mb40yC)s#>eQr(g2W{*0TCyXro6vF@ekx`RJMdUYMw->RT zoj+bgv<35fT-b=;qi&dqVts><(60!yZ(qKh)-ErVC>{F8gq;Gkalv+~8Rd$4{Q&S; zaOnUVrC5_WZ+}cQEFe*o`C z0k#!bA1E|H^Z{5Ojt~rBBODU`2z^wyLXQIOk^-1M2m-_c0yGDus1UVyal~r}8pJpy zNDV;#&`+v&c$yF6NlNDpIVfs%q7oicYh7!N|LGAkR@{}P7!HOH5^>-Ua!%!Ery$jD zkczj>*=!hFGT9yE%%nPmI=o!yG)lL{5$wVL(&g8l)CBS69p_-PPle?cvY9~pFuhPV zGdrBAVe<4*)nEds0143(=wk-)MwOh! zC?`s1BrDRFi50>jfBJIABJ+4en3DJ)Jl81#6wwElKe6B%)PyP<(LOdk%Pg?YjsQUpMl7*+blTma*~XcxU2fJrn_!w z`5+|6|7}k>zIIvKru8zXLK6ijZ<+Zx$=b@K}huE>F9CZNAtRQ8mz zOHVIoa+z|66-Z?GEW!YuZgp4RKi4dM2h2u236-!|Gdnl{RQZr$U}Yicbs=g1eCi9m zg?@5qkx()%=saTu3??+4puvd`S z&O%9+3%6#2aerDpFh1mGsM~8+)AxEc`hbhMWTccteyi7q19t+3{+TR>12QKoKeu6w z{NQWo^vnyxHGZ5-3!emzZ-zEPE=)t1gi8o(7$g%9m_VpeB>6(*XU$@)w_^~56n8*6>#%O`l10_j)B2iicUKeZ z-bHQyQK>9|V~fx2>T+OXr}O;VaE~uxS(uOdnjqO_KvY+*}LKXuShrVi-K%jIbC<7KLCD zg0Pf#E;Hvrw8wGcjHNnSk1jiZ_Yl^RNP3%u%n#%~X1e_rLYQ1eN(H%7LoYi{W_5QT z+uN;dEGYBOG#lHpbzOnY@8k2ujM+R7eV46KOHM3W5OZY&l9uJ8-cBRWe;3gPSDq?( zYT(?KePosI0l6Xdn6}n3_#jhw=!@xA%Ll8**esU}@s)C*7MAEJKll6ij{5 zKJYu(s;IB0@n0fxo$GkIZHo;iZ8@=4rn|l zKo*~H@t;SKkmRzN>x%#B{ifqf#q*!0Q-b!ahF_7{iq49iX1&h!HWag%C|oeN-FYac zGc{4|mhIW~$B`Fb=XkvrTSy+3o}me+Dz21rIo;P620j>;#0I5k_^zdv1Fn+m=~oNW zhdy-q0avntYH_deyhN|3W_qOEnUYo6a?k|7m@%)7MANq*eEBSpm|HD89O<&i)niT& z0Sr5F93Xs*ya)Y66hLT9KaCf?6BGtrMUx~Et4av@p9Yy69DX#hCv}%hlX7oUPf--? zdom#mUc?0VNbG#}s0yjivzhc^*ydc=^URfLQ(gkV&G>HAZ4SyR(N+VxQJ#+tG~ii% zUij$OQ_qPy1}UkuPI-N>lB!+cSr|Lzcl&9*WPQNU)B2|;%P#~NMvq!cc=U4I%jpl_ z33%t1K>Jfafm$HfkdEa&CYjfd%-A=9K?ztHBF2L;lzm`gf~Uhk&veMrzNawApXkw> zgc}rRm5|kJf;Xel@z01JLhN6X6Vh6*Rp-czjb-vs=)QDgGjl zA7yxW0nn~Wwb1<@g@%yya^)u>+iMGYGCgacSQYUM4;eGCtMry|Te&nAI5uOq_U^w~ z(BVHHasL(?cMqlypwXBFrVjwydU@jycXP3o0F5cnVLv{tBxj zBw-QKH(-=;FD7ivHKuRQGWHB4$|C6IzwHaxu^?)V+$Xvxq`Jv)y z?Mnuj0ogm6wcfDXX3>?%XttSZ{`-SgE4hlj#YH?DZNC>9rVu`aUmB|SDygTQH<|$o zYhR7xL>0%cn9lnttrK+-gTn2rlQs&!i|qwE{a?E5B^EZUg`{^b^b9T!cON*X!wo@& zajDEDXmLqMtpFloSP|`f6I4~ntkF636AWsStf)Sg38WW;5Q>`0fpmzBAQ_O43Y^9u z^Qa6VCR73vCmw~P(ge!mS4>CHT!P{(c3Hv}7ea0bE37{2)>fL>iS4J1ycMLkDQFyO zw)OeUCFPZ{ZGij;10#qprW~`3tP^#r@Eu$3DZXo4AORVns&xsgRx)g8r<%S9{LRKE z3oeaZU&a)v*4WQ(dyZL`ggt$=XfKgH=q(@iVu1X#JZ-ziI^xT+Y$wb_P=QrJwf5qA zl4>&7inMN2Eo_Y|1IqRT+Vn}V(kKHn5|-gRz}Q0%ap-$O8dxR%Zd3vApXW`n++~Hk$L-9Tq?6tuihB{;|t6z2Ct9(-?I2a-=vd zzu&$#^}JBTBbgjlbG(zYcwKD}+xAO2EcQ&Xp8V|A1#a&Esoa$5xsu%UA?s1&t<06s zzTI-~05C`K>b949r_}h_a-;x3jVeG@F|*QLJ%_3jESF_-=Z>McLR*O_rWS(w!1x40 z2|=5TLe#Si7Em9;*#z{d=((WQbSz3tv(NG<^GV%H770AJ+27k7Mm$$Ifs)v!w!d;0 z+|~;AimmuQJ4b3U?0;EmX1KKTZXZ1ZKsVoh1sJz~G`8h(bS*jF*5ydf4@q?DHcN